Estoy utilizando Eclipse IDE para el desarrollo de firmware. Estoy utilizando el módulo Quectel MC60 con Winbond W25Q32JV (4 MB de memoria). El problema es que puedo leer / escribir una sola página.
Estoy enfrentando un problema con la escritura de varias páginas a la vez. Tengo que escribir varias páginas a la vez, ya que había borrado el sector (consta de 16 páginas). Antes de escribir una página, tenía que borrar 1 sector.
Algoritmo general para escribir:
main()
{
// read from memory address adr
// erase sector (16 pages)
// write at address adr
}
Quiero utilizar páginas de memoria para un rendimiento óptimo. Cualquier ayuda será apreciada.
Gracias por su pronta respuesta.
Mi pseudocódigo es así:
char buff[256];
sector_erase(0); // erase first 16 pages
memset(buff,7,sizeof(buff));
for(int addr=0;addr<16;addr++)
{
write_enable();
page_program();
spi_write(addr,buff); // write page one by one and hence increment the address
while(status_register); // polling status register
}