uint8_t sram_reliable() { uint16_t score=0; uint32_t val; uint8_t result = 0; /*while(score<SRAM_RELIABILITY_SCORE) { if(sram_readlong(SRAM_SCRATCHPAD)==val) { score++; } else { set_pwr_led(0); score=0; } } */ for(uint16_t i = 0; i < SRAM_RELIABILITY_SCORE; i++) { val=sram_readlong(SRAM_SCRATCHPAD); if(val==0x12345678) { score++; } else { printf("i=%d val=%08lX\n", i, val); } } if(score<SRAM_RELIABILITY_SCORE) { result = 0; /* dprintf("score=%d\n", score); */ } else { result = 1; } rdyled(result); return result; }
void get_selected_name(uint8_t* fn) { uint32_t addr; addr = sram_readlong(SRAM_PARAM_ADDR); printf("fd addr=%lx\n", addr); sram_readblock(fn, addr + 7 + SRAM_MENU_ADDR, 256); }
/* get element from pointer table in external RAM*/ uint32_t sort_get_elem(uint32_t base, unsigned int index) { return sram_readlong(base+4*index); }