Задача стирания NAND флешки уже несколько притомила. В большинстве примером (большинство что я увидел на просторах интернета) сводятся к такому коду:
Код
void erase (uint16_t n) // как я понял н это номер блока
{
uint16_t addr1;
uint8 addr2, addr3
addr1 = n << 6; // вот тут в каких 6 в каких 5
addr2 = (uint8_t) (addr1 & 0xFF);
addr2 = (uint8_t) ((addr1 >> 8) & 0xFF);
// и дальше addr1 и addr2 передаются в команду стирания
}
кто бы доходчиво мог объяснить что делается в данном коде... я не понимаю несколько моментов.{
uint16_t addr1;
uint8 addr2, addr3
addr1 = n << 6; // вот тут в каких 6 в каких 5
addr2 = (uint8_t) (addr1 & 0xFF);
addr2 = (uint8_t) ((addr1 >> 8) & 0xFF);
// и дальше addr1 и addr2 передаются в команду стирания
}
В описание в работе с нанд памятью указано что подаается 3 команды. В которых участвуют адреса блоков, страниц. Но как связан данный код с тем что требуется передать.
Спасибо.