commit-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commit-gnuradio] r10108 - gnuradio/trunk/usrp2/firmware/apps


From: matt
Subject: [Commit-gnuradio] r10108 - gnuradio/trunk/usrp2/firmware/apps
Date: Sat, 6 Dec 2008 18:33:23 -0700 (MST)

Author: matt
Date: 2008-12-06 18:33:22 -0700 (Sat, 06 Dec 2008)
New Revision: 10108

Modified:
   gnuradio/trunk/usrp2/firmware/apps/factory_test.c
Log:
more tests, for ram and sd card


Modified: gnuradio/trunk/usrp2/firmware/apps/factory_test.c
===================================================================
--- gnuradio/trunk/usrp2/firmware/apps/factory_test.c   2008-12-06 19:08:24 UTC 
(rev 10107)
+++ gnuradio/trunk/usrp2/firmware/apps/factory_test.c   2008-12-07 01:33:22 UTC 
(rev 10108)
@@ -38,6 +38,7 @@
 #include <i2c.h>
 #include <usrp2_i2c_addr.h>
 #include <clocks.h>
+#include "sd.h"
 
 #define HW_REV_MAJOR 3
 #define HW_REV_MINOR 0
@@ -256,12 +257,79 @@
   dbsm_process_status(&dsp_rx_sm, status);
 }
 
+int test_ram()
+{
+  int i,j,k;
+  output_regs->ram_page = 1<<10;
+  
+  extram[0] = 0xDEADBEEF;
+  extram[1] = 0xF00D1234;
+  extram[7] = 0x76543210;
+  
+  output_regs->ram_page = 2<<10;
+  extram[7] = 0x55555555;
+  extram[1] = 0xaaaaaaaa;
+  extram[0] = 0xeeeeeeee;
+  
+  output_regs->ram_page = 1<<10;
+  
+  i = extram[0];
+  k = extram[1];
+  j = extram[7];
+  
+  if((i != 0xDEADBEEF)||(j!=0x76543210)||(k!=0xF00D1234)) {
+    puts("RAM FAIL1!\n");
+    puthex32_nl(i);
+    puthex32_nl(j);
+    puthex32_nl(k);
+    return 0;
+  }
+  
+  output_regs->ram_page = 2<<10;
+
+  j = extram[7];
+  k = extram[1];
+  i = extram[0];
+
+  if((i != 0xeeeeeeee)||(j!=0x55555555)||(k!=0xaaaaaaaa)) {
+    puts("RAM FAIL2!\n");
+    puthex32_nl(i);
+    puthex32_nl(j);
+    puthex32_nl(k);
+    return 0;
+  }
+  return 1;
+}
+
+int test_sd()
+{
+  int i = sd_init();
+  if(i==0) {
+    puts("FAILED INIT of Card\n");
+    return 0;
+  }
+  
+  unsigned char buf[512];
+  i = sd_read_block(2048,buf);
+  if(i == 0) {
+    puts("READ Command Rejected\n");
+    return 0;
+  }
+  if((buf[0]==0xb8)&&(buf[1]==0x08)&&(buf[2]==0x00)&&(buf[3]==0x50))
+    ;
+  else {
+    puts("Read bad data from SD Card\n");
+    return 0;
+  }
+  return 1;
+}
+
 int
 main(void)
 {
   u2_init();
 
-  putstr("\nset_hw_rev\n");
+  putstr("\nFactory Test TXRX\n");
 
   bool ok = true;
   unsigned char maj = HW_REV_MAJOR;
@@ -269,12 +337,30 @@
   ok = eeprom_write(I2C_ADDR_MBOARD, MBOARD_REV_MSB, &maj, 1);
   ok &= eeprom_write(I2C_ADDR_MBOARD, MBOARD_REV_LSB, &min, 1);
 
+  putstr("\nset_hw_rev\n");
   if (ok)
     printf("OK: set h/w rev to %d.%d\n", HW_REV_MAJOR, HW_REV_MINOR);
-  else
+  else {
     printf("FAILED to set h/w rev to %d.%d\n", HW_REV_MAJOR, HW_REV_MINOR);
+    hal_finish();
+    return 0;
+  }
 
-  putstr("\nFactory Test TXRX\n");
+  if(test_sd())
+    puts("SD OK\n");
+  else {
+    puts("SD FAIL\n");
+    hal_finish();
+    return 0;
+  }
+  if(test_ram())
+    puts("RAM OK\n");
+  else {
+    puts("RAM FAIL\n");
+    hal_finish();
+    return 0;
+  }
+
   print_mac_addr(ethernet_mac_addr()->addr);
   newline();
 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]