jenya7 0 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба Есть память - NAND Flash (TC58CVG2S0HxAIx). Я пишу на нее логи и потом читаю. Иногда при чтении я получаю битый байт. например до записи в память - 0x09 после чтения из памяти - 0x01 до записи в память - 0x02 после чтения из памяти - 0x00 то есть один бит единичка становиться ноликом, что вобщем то логично, флэш пишется обнулением единичек. Никакой последовательности я не прослеживаю, скажем байт затирается каждые сто байт, или после какого то события. Но я заметил что если я пишу всю страницу целиком то такого не происходит. По крайней мере до сих пор не видел. А если я пишу на страницу частями то проблема проявляется. Кто нибудь встречал такую проблему? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pengozoid 0 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба А читаете сразу после записи или через какое-то время? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 1 апреля, 2019 Опубликовано 1 апреля, 2019 (изменено) · Жалоба 1 hour ago, Pengozoid said: А читаете сразу после записи или через какое-то время? через время. если верить спецификации - Programming Time 450 µs/page. я читаю в гораздо более длинные интервалы. Изменено 1 апреля, 2019 пользователем jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба 27 minutes ago, jenya7 said: Но я заметил что если я пишу всю страницу целиком то такого не происходит. По крайней мере до сих пор не видел. А если я пишу на страницу частями то проблема проявляется. В ДШ есть такой параметр - Number of Partial Program Cycles in the Same Page = 4 При превышении будет сыпаться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 1 апреля, 2019 Опубликовано 1 апреля, 2019 · Жалоба 1 hour ago, aaarrr said: В ДШ есть такой параметр - Number of Partial Program Cycles in the Same Page = 4 При превышении будет сыпаться. ого! а я не заметил! вот спасибо! похоже на мой случай. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prgjz 0 6 февраля, 2020 Опубликовано 6 февраля, 2020 · Жалоба Доброго времени! Пытаюсь запустить SPI NAND Flash TC58CVG2S0HxAI на LPC4088 от NXP. Вроде всё просто но не работает правильно. ID читается. Стирание, запись и чтение происходит без ошибок. Но какой блок бы я не считывал — они содержат то что я в последний зписывал. Сохраняется и после сенятия/подачи напряжения. Пишу всегда блоком 4224 Байт (ECC включена). Может кто поделится опытом что я не так делаю? NAND.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 6 февраля, 2020 Опубликовано 6 февраля, 2020 · Жалоба int8_t nand_spi_flash_read(uint8_t dev_nr,uint8_t *buff, uint32_t addr,uint32_t... { unsigned nand_block_page = addr >> NSF_COLUMN_BITS; // DIV 4096 // read page to nand cache buffer (*nor_send[dev_nr])(NSF_CMD_READ_CELL_TO_CACHE); (*nor_send[dev_nr])((nand_block_page & 0xff0000) >>16); (*nor_send[dev_nr])((nand_block_page & 0xff00) >> 8); (*nor_send[dev_nr])((nand_block_page & 0xff) ); NOR_DeSelect(dev_nr); А где NOR_Select()? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
prgjz 0 7 февраля, 2020 Опубликовано 7 февраля, 2020 · Жалоба Спасибо большое! Как-то проглядел я... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться