diff --git a/src/cli.c b/src/cli.c index 7362350..8a91c79 100644 --- a/src/cli.c +++ b/src/cli.c @@ -58,8 +58,8 @@ static char *curchar; /* Word lists */ static char command_words[] = - "cd\0reset\0sreset\0dir\0ls\0test\0resume\0loadrom\0loadraw\0saveraw\0put\0rm\0d4\0vmode\0mapper\0settime\0time\0setfeature\0hexdump\0w8\0w16\0"; -enum { CMD_CD = 0, CMD_RESET, CMD_SRESET, CMD_DIR, CMD_LS, CMD_TEST, CMD_RESUME, CMD_LOADROM, CMD_LOADRAW, CMD_SAVERAW, CMD_PUT, CMD_RM, CMD_D4, CMD_VMODE, CMD_MAPPER, CMD_SETTIME, CMD_TIME, CMD_SETFEATURE, CMD_HEXDUMP, CMD_W8, CMD_W16 }; + "cd\0reset\0sreset\0dir\0ls\0test\0resume\0loadrom\0loadraw\0saveraw\0put\0rm\0d4\0vmode\0mapper\0settime\0time\0setfeature\0hexdump\0w8\0w16\0stramtest\0"; +enum { CMD_CD = 0, CMD_RESET, CMD_SRESET, CMD_DIR, CMD_LS, CMD_TEST, CMD_RESUME, CMD_LOADROM, CMD_LOADRAW, CMD_SAVERAW, CMD_PUT, CMD_RM, CMD_D4, CMD_VMODE, CMD_MAPPER, CMD_SETTIME, CMD_TIME, CMD_SETFEATURE, CMD_HEXDUMP, CMD_W8, CMD_W16, CMD_SRAMTEST }; /* ------------------------------------------------------------------------- */ /* Parse functions */ @@ -416,6 +416,10 @@ void cmd_w16(void) { sram_writeshort(val, offset); } +void cmd_sramtest(void) { + sram_memtest(); +} + /* ------------------------------------------------------------------------- */ /* CLI interface functions */ /* ------------------------------------------------------------------------- */ @@ -424,7 +428,7 @@ void cli_init(void) { } void cli_entrycheck() { - if(uart_gotc() && uart_getc() == 27) { + if(uart_gotc() && ((uart_getc() == 27) || (uart_getc() == 13))) { printf("*** BREAK\n"); cli_loop(); } @@ -561,7 +565,10 @@ void cli_loop(void) { case CMD_W16: cmd_w16(); break; + + case CMD_SRAMTEST: + cmd_sramtest(); + break; } - } } diff --git a/src/memory.c b/src/memory.c index 8ecd6bd..e2fe6f6 100644 --- a/src/memory.c +++ b/src/memory.c @@ -470,6 +470,11 @@ void sram_memset(uint32_t base_addr, uint32_t len, uint8_t val) { FPGA_DESELECT(); } +uint8_t sram_memtest(void) +{ + +} + uint64_t sram_gettime(uint32_t base_addr) { set_mcu_addr(base_addr); FPGA_SELECT(); diff --git a/src/memory.h b/src/memory.h index c2062d9..1d8ba85 100644 --- a/src/memory.h +++ b/src/memory.h @@ -71,4 +71,6 @@ uint8_t sram_reliable(void); void sram_memset(uint32_t base_addr, uint32_t len, uint8_t val); uint64_t sram_gettime(uint32_t base_addr); +uint8_t sram_memtest(void); + #endif