summaryrefslogtreecommitdiff
path: root/usrp2/firmware
diff options
context:
space:
mode:
authormatt2008-09-21 17:52:01 +0000
committermatt2008-09-21 17:52:01 +0000
commit430e7eb03892bea70bb93f8cd8b2edcef38f71c2 (patch)
tree75d1189479703cbca9430b2b610fc3f209e8b07a /usrp2/firmware
parenta98e5bc7cfe53273f5c3306563aaad8d477e5d32 (diff)
downloadgnuradio-430e7eb03892bea70bb93f8cd8b2edcef38f71c2.tar.gz
gnuradio-430e7eb03892bea70bb93f8cd8b2edcef38f71c2.tar.bz2
gnuradio-430e7eb03892bea70bb93f8cd8b2edcef38f71c2.zip
new app to test the ram
git-svn-id: http://gnuradio.org/svn/gnuradio/trunk@9634 221aa14e-8319-0410-a670-987f0aec2ac5
Diffstat (limited to 'usrp2/firmware')
-rw-r--r--usrp2/firmware/apps/Makefile.am1
-rw-r--r--usrp2/firmware/apps/test_ram.c75
-rw-r--r--usrp2/firmware/lib/memory_map.h10
3 files changed, 86 insertions, 0 deletions
diff --git a/usrp2/firmware/apps/Makefile.am b/usrp2/firmware/apps/Makefile.am
index 319c80c1a..b37c0f291 100644
--- a/usrp2/firmware/apps/Makefile.am
+++ b/usrp2/firmware/apps/Makefile.am
@@ -38,6 +38,7 @@ noinst_PROGRAMS = \
test_db_spi \
test_i2c \
test_sd \
+ test_ram \
test_phy_comm \
test_lsadc \
test_lsdac \
diff --git a/usrp2/firmware/apps/test_ram.c b/usrp2/firmware/apps/test_ram.c
new file mode 100644
index 000000000..b9946f724
--- /dev/null
+++ b/usrp2/firmware/apps/test_ram.c
@@ -0,0 +1,75 @@
+/*
+ * Copyright 2007 Free Software Foundation, Inc.
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <stdio.h>
+#include <stdint.h>
+#include <u2_init.h> /* FIXME */
+#include <sd.h>
+#include <string.h>
+#include <hal_io.h>
+#include <nonstdio.h>
+#include <hal_uart.h>
+
+#define ASSERT_TRUE(x) \
+ do { \
+ if (!(x)){ \
+ printf("ASSERT_TRUE failed on line %d\n", __LINE__); \
+ nerrors++; \
+ } \
+ } while(0)
+
+#define ASSERT_FALSE(x) \
+ do { \
+ if (x){ \
+ printf("ASSERT_FALSE failed on line %d\n", __LINE__); \
+ nerrors++; \
+ } \
+ } while(0)
+
+
+#define BUFSIZE 128
+
+int
+main(void)
+{
+ int i,j,k;
+ unsigned char buf[512];
+
+ u2_init();
+ //hal_uart_init();
+ //puts("\ntest_ram\n");
+
+ output_regs->ram_page = 0;
+
+ //puts("r[0]=DEADBEEF\n");
+ extram[0] = 0xDEADBEEF;
+ extram[1] = 0xF00D1234;
+ extram[7] = 0x76543210;
+ puts("RD\n");
+ i = extram[0];
+ k = extram[1];
+ j = extram[7];
+ //puts("r0=");
+
+ puthex32_nl(i);
+ puthex32_nl(k);
+ puthex32_nl(j);
+ puts("Done");
+ hal_finish();
+ return 0;
+}
+
diff --git a/usrp2/firmware/lib/memory_map.h b/usrp2/firmware/lib/memory_map.h
index 88efcb9ac..106724742 100644
--- a/usrp2/firmware/lib/memory_map.h
+++ b/usrp2/firmware/lib/memory_map.h
@@ -353,6 +353,7 @@ typedef struct {
volatile uint32_t leds;
volatile uint32_t phy_ctrl; // LSB is reset line to eth phy
volatile uint32_t debug_mux_ctrl;
+ volatile uint32_t ram_page; // FIXME should go somewhere else...
} output_regs_t;
#define SERDES_ENABLE 8
@@ -578,6 +579,15 @@ typedef struct {
#define sdspi_regs ((sdspi_regs_t *) SDSPI_BASE)
///////////////////////////////////////////////////
+// External RAM interface, Slave 14
+// Pages are 1K. Page is 10 bits, set by a control register
+// output_regs->ram_page
+
+#define EXTRAM_BASE 0xF000
+#define extram ((volatile uint32_t *) EXTRAM_BASE)
+
+
+///////////////////////////////////////////////////
#endif