1. Стоит изучить вот это чтобы понять организацию памяти
Там на восьмой странице обратите внимание на организацию памяти.
В частности
- Адресное протранство разбито на БЛОКИ (Blocks)
- БЛОКИ разбиты на СТРАНИЦЫ (Pages)
- Внутри каждой СТРАНИЦЫ 2 области памяти ОСНОВНАЯ и ДОПОЛНИТЕЛЬНАЯ
- Разные NAND микросхемы могут содержать разное количество блоков, разное количество страниц в блоке, страницы могут иметь разный размер
2. Драйверы HAL в области инициализации выглядят несколько странно. В частности:
PageSize - NAND memory page (without spare area) size measured in K. bytes
(размер страницы памяти без дополнительной области в Килобайтах)
Но как быть если размер страницы 512 байт (для очень распространённой NAND512W3A)?
SpareAreaSize - NAND memory spare area size measured in K. bytes
ещё интереснее, в этой памяти лишь 16 байт ДОПОЛНИТЕЛЬНОЙ памяти в каждой странице