Commit 2cfd1823 authored by Theodor-Adrian Stana's avatar Theodor-Adrian Stana Committed by Grzegorz Daniluk

flash interface works

parent c9b5aafe
...@@ -98,6 +98,7 @@ void flash_write(int nrbytes, uint32_t addr, uint8_t *dat) ...@@ -98,6 +98,7 @@ void flash_write(int nrbytes, uint32_t addr, uint8_t *dat)
bbspi_transfer(0,(addr & 0xFF)); bbspi_transfer(0,(addr & 0xFF));
for ( i = 0; i < nrbytes; i++ ) for ( i = 0; i < nrbytes; i++ )
{ {
mprintf("dat: %02x\n", dat[i]);
bbspi_transfer(0,dat[i]); bbspi_transfer(0,dat[i]);
} }
bbspi_transfer(1,0); bbspi_transfer(1,0);
...@@ -107,15 +108,10 @@ void flash_read(int nrbytes, uint32_t addr, uint8_t *dat) ...@@ -107,15 +108,10 @@ void flash_read(int nrbytes, uint32_t addr, uint8_t *dat)
{ {
int cnt = 0; int cnt = 0;
int i; int i;
// d = 1;
bbspi_transfer(1,0); bbspi_transfer(1,0);
// mprintf("cmd\n");
bbspi_transfer(0,0x0b); bbspi_transfer(0,0x0b);
// mprintf("addr0\n");
bbspi_transfer(0,(addr & 0xFF0000) >> 16); bbspi_transfer(0,(addr & 0xFF0000) >> 16);
// mprintf("addr1\n");
bbspi_transfer(0,(addr & 0xFF00) >> 8); bbspi_transfer(0,(addr & 0xFF00) >> 8);
// mprintf("addr2\n");
bbspi_transfer(0,(addr & 0xFF)); bbspi_transfer(0,(addr & 0xFF));
bbspi_transfer(0,0); bbspi_transfer(0,0);
......
...@@ -228,7 +228,7 @@ static void check_reset(void) {} ...@@ -228,7 +228,7 @@ static void check_reset(void) {}
void w() void w()
{ {
uint64_t i; uint64_t i;
for (i=0;i<1024*1024*1000;i++) for (i=0;i<1024*1024*100;i++)
asm volatile ("nop"); asm volatile ("nop");
} }
...@@ -248,22 +248,27 @@ int main(void) ...@@ -248,22 +248,27 @@ int main(void)
timer_init(0); timer_init(0);
mprintf("preinit\n"); mprintf("preinit\n");
//w(); w();
mprintf("flash init\n"); mprintf("flash init\n");
uint8_t d = 0xaa, r = 0x01; uint8_t d[4] = { 0xaa, 0xbb, 0xcc, 0xdd};
flash_init(); flash_init();
// flash_serase(0x00); flash_read(256, 0x00, rdat);
// while (r & 0x01) for (i = 0; i < 256; i++)
// { {
// r = flash_rsr(); mprintf("0x%02x ", rdat[i]);
// mprintf("%d\n", r); }
// } mprintf("\n");
mprintf("erase\n");
flash_serase(0x00);
while (flash_rsr() & 0x01)
;
// flash_write(1, 0x00, &d); mprintf("write\n");
flash_write(4, 0x00, d);
flash_read(256, 0x00, rdat); flash_read(256, 0x00, rdat);
// mprintf("0x%02x", rdat[0]);
for (i = 0; i < 256; i++) for (i = 0; i < 256; i++)
{ {
mprintf("0x%02x ", rdat[i]); mprintf("0x%02x ", rdat[i]);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment