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)
bbspi_transfer(0,(addr & 0xFF));
for ( i = 0; i < nrbytes; i++ )
{
mprintf("dat: %02x\n", dat[i]);
bbspi_transfer(0,dat[i]);
}
bbspi_transfer(1,0);
......@@ -107,15 +108,10 @@ void flash_read(int nrbytes, uint32_t addr, uint8_t *dat)
{
int cnt = 0;
int i;
// d = 1;
bbspi_transfer(1,0);
// mprintf("cmd\n");
bbspi_transfer(0,0x0b);
// mprintf("addr0\n");
bbspi_transfer(0,(addr & 0xFF0000) >> 16);
// mprintf("addr1\n");
bbspi_transfer(0,(addr & 0xFF00) >> 8);
// mprintf("addr2\n");
bbspi_transfer(0,(addr & 0xFF));
bbspi_transfer(0,0);
......
......@@ -228,7 +228,7 @@ static void check_reset(void) {}
void w()
{
uint64_t i;
for (i=0;i<1024*1024*1000;i++)
for (i=0;i<1024*1024*100;i++)
asm volatile ("nop");
}
......@@ -248,22 +248,27 @@ int main(void)
timer_init(0);
mprintf("preinit\n");
//w();
w();
mprintf("flash init\n");
uint8_t d = 0xaa, r = 0x01;
uint8_t d[4] = { 0xaa, 0xbb, 0xcc, 0xdd};
flash_init();
// flash_serase(0x00);
// while (r & 0x01)
// {
// r = flash_rsr();
// mprintf("%d\n", r);
// }
flash_read(256, 0x00, rdat);
for (i = 0; i < 256; i++)
{
mprintf("0x%02x ", rdat[i]);
}
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);
// mprintf("0x%02x", rdat[0]);
for (i = 0; i < 256; 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