diff --git a/tests/config.h b/tests/config.h index 4d776b629..3124a9b57 100644 --- a/tests/config.h +++ b/tests/config.h @@ -49,6 +49,10 @@ /* use uart1 for console */ #define uart_init uart1_init +/* nvm interface */ +#define NVM_INTERFACE gNvmInternalInterface_c +/*#define NVM_INTERFACE gNvmExternalInterface_c */ + /* nvm-read */ #define READ_ADDR 0x1f000 #define READ_NBYTES 1024 diff --git a/tests/nvm-read.c b/tests/nvm-read.c index 6d8760ee8..4e6438cd9 100644 --- a/tests/nvm-read.c +++ b/tests/nvm-read.c @@ -35,6 +35,7 @@ #include #include +#include #include "tests.h" #include "config.h" @@ -51,27 +52,30 @@ void main(void) { vreg_init(); - putstr("Detecting internal nvm\n\r"); + if(NVM_INTERFACE == gNvmInternalInterface_c) + { + printf("Detecting internal nvm\n\r"); + } else { + printf("Setting up gpio\r\n"); + /* set SPI func */ + GPIO->FUNC_SEL.GPIO_04 = 1; + GPIO->FUNC_SEL.GPIO_05 = 1; + GPIO->FUNC_SEL.GPIO_06 = 1; + GPIO->FUNC_SEL.GPIO_07 = 1; + printf("Detecting external nvm\n\r"); + } - err = nvm_detect(gNvmInternalInterface_c, &type); + err = nvm_detect(NVM_INTERFACE, &type); - putstr("nvm_detect returned: 0x"); - put_hex(err); - putstr(" type is: 0x"); - put_hex32(type); - putstr("\n\r"); + printf("nvm_detect returned: 0x%02x type is: 0x%08x\r\n", err, (unsigned int)type); nvm_setsvar(0); - err = nvm_read(gNvmInternalInterface_c, type, (uint8_t *)buf, READ_ADDR, READ_NBYTES); - putstr("nvm_read returned: 0x"); - put_hex(err); - putstr("\n\r"); + err = nvm_read(NVM_INTERFACE, type, (uint8_t *)buf, READ_ADDR, READ_NBYTES); + printf("nvm_read returned: 0x%02x\r\n", err); for(i=0; i #include +#include #include "tests.h" #include "config.h" @@ -51,46 +52,44 @@ void main(void) { vreg_init(); - putstr("Detecting internal nvm\n\r"); + if(NVM_INTERFACE == gNvmInternalInterface_c) + { + printf("Detecting internal nvm\n\r"); + } else { + printf("Setting up gpio\r\n"); + /* set SPI func */ + GPIO->FUNC_SEL.GPIO_04 = 1; + GPIO->FUNC_SEL.GPIO_05 = 1; + GPIO->FUNC_SEL.GPIO_06 = 1; + GPIO->FUNC_SEL.GPIO_07 = 1; + printf("Detecting external nvm\n\r"); + } - err = nvm_detect(gNvmInternalInterface_c, &type); + err = nvm_detect(NVM_INTERFACE, &type); - putstr("nvm_detect returned: 0x"); - put_hex(err); - putstr(" type is: 0x"); - put_hex32(type); - putstr("\n\r"); - + printf("nvm_detect returned: 0x%02x type is: 0x%08x\r\n", err, (unsigned int)type); buf[0] = WRITEVAL0; buf[1] = WRITEVAL1; - err = nvm_erase(gNvmInternalInterface_c, type, 0x40000000); /* erase sector 30 --- sector 31 is the 'secret zone' */ - putstr("nvm_erase returned: 0x"); - put_hex(err); - putstr("\n\r"); + err = nvm_erase(NVM_INTERFACE, type, 1 << WRITE_ADDR/4096); + printf("nvm_erase returned: 0x%02x\r\n", err); - err = nvm_write(gNvmInternalInterface_c, type, (uint8_t *)buf, WRITE_ADDR, WRITE_NBYTES); - putstr("nvm_write returned: 0x"); - put_hex(err); - putstr("\n\r"); - putstr("writing\n\r"); + err = nvm_write(NVM_INTERFACE, type, (uint8_t *)buf, WRITE_ADDR, WRITE_NBYTES); + printf("nvm_write returned: 0x%02x\r\n", err); + + printf("writing\n\r"); for(i=0; i