diff options
author | matt | 2008-09-21 17:52:01 +0000 |
---|---|---|
committer | matt | 2008-09-21 17:52:01 +0000 |
commit | 430e7eb03892bea70bb93f8cd8b2edcef38f71c2 (patch) | |
tree | 75d1189479703cbca9430b2b610fc3f209e8b07a /usrp2/firmware | |
parent | a98e5bc7cfe53273f5c3306563aaad8d477e5d32 (diff) | |
download | gnuradio-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.am | 1 | ||||
-rw-r--r-- | usrp2/firmware/apps/test_ram.c | 75 | ||||
-rw-r--r-- | usrp2/firmware/lib/memory_map.h | 10 |
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 |