|
Поскольку информация о плохих блоках хранится в самих плохих блоках (как ни странно), и в эти плохие блоки все равно ничего нельзя записывать, то построить таблицу нужно в ОЗУ контроллера при инициализации.
Пример для K9F2808U0A.
Создается глобальный массив:
unsigned int flash_bb[20];
Однократно вызывается функция, которая считывает из flash информацию о плохих блоках и заполняет этот массив их порядковыми номерами. Всего их не может быть больше 20, если меньше, то оставшиеся элементы массива остаются нулевыми. Далее, в процессе работы, перед обращением к flash, плохие блоки обходятся по таблице.
E-mail: info@telesys.ru