С Id разобрался, теперь выдает такой ID
Nand Flash ID = 6B,4A,00,08
Что разнится с ID по документации
Попробовал писать и читать страницы, все пишется и читается, но вот проблема теперь в том, что если я пишу, например "How are you?", то при чтении получаю "ow are you?"
То есть при записи происходит смешение индекса
Если записать строку побольше, то смещение тоже увеличивается, например подставлял фразу "Open On-Chip Debugger: OpenOCD User's Guide", вывело "Chip Debugger: OpenOCD User's Guide"
Перед записью очищаю весь блок
Код для чтения, записи и erase
CODE
void eraseBlock()
{
WriteReadAddr.Zone = 0x00;
WriteReadAddr.Block = 0x00;
WriteReadAddr.Page = 0x00;
HAL_NAND_Erase_Block(&hnand, &WriteReadAddr);
}
void writePage(uint8_t *TxBuffer)
{
HAL_NAND_Write_Page(&hnand, &WriteReadAddr, TxBuffer, 1);
print("Data has been written \r\n");
}
#define NAND_PAGE_SIZE ((uint16_t)0x0800)
void readPage()
{
uint8_t RxBuffer [NAND_PAGE_SIZE];
HAL_NAND_Read_Page (&hnand, &WriteReadAddr, RxBuffer, 1);
print("Read data \r\n");
char buf[100];
sprintf(buf, "%s ", RxBuffer);
print(buf);
}
Сообщение отредактировал Klaxons - Dec 16 2015, 09:51