У меня такой код Обрати внимание, что входной параметр - номер страницы, а не блока!
//-------------------------------------------------------------
// Стирание NAND_Flash - один блок
// Внимание! Входной параметр - номер страницы в нужном блоке!
//-------------------------------------------------------------
byte NF_EraseBlock(word page)
{
byte v;
P5OUT |= P5_WP_FL; // разрешение записи
NF_Select();
NF_Cmd(0x60); // команда - подготовиться к стиранию
NF_Addr(page); // a9..a16 - pageL
NF_Addr(page >> 8); // a17..a24 - pageH
NF_Cmd(0xD0); // команда - стирание начать
do
{
NF_Cmd(0x70); // команда - чтение статуса
v = NF_RdByte(); // статус
} while ((v & BIT6) == 0); // ждем готовность
if ((v & BIT0) != 0)
return E_CMD_WriteError; // если выставлена ошибка стирания
return E_CMD_OK; // стирание успешно прошло
}