Flash-память недоступна в ходе операций стирания или записи. Команды LAP, в результате которых производятся операции записи/стирания Flash-памят ти, используют для их выполнения 32 байта в верхней части адресного пространства встроенной оперативной памяти. Пользовательская программа не должна использовать эту область, если в приложении разрешается программирование Flash-памяти средствами IAP.
Ниже подробно описывается каждая из команд IAP.
Подготовить сектор(а) к операции записи. Эта команда производит операцию «запись/стирание» Flash-памяти за два шага.
Описание этой команды приведено в Табл. 20.23.
Таблица 20.23. Команда IAP «Подготовить сектор(а) к операции записи»
Команда |
Подготовить сектор(а) к операции записи |
Вход |
Код команды: 50 Параметр 0: Начальный номер сектора. Параметр 1: Конечный номер сектора: должен быть больше или равен начальному номеру сектора |
Код состояния |
cmd success | busy! invalid_sector| |
Результат |
Нет |
Описание |
Эта команда должна быть выполнена перед выполнением команды «Копировать оперативную память во Flash-память» или «Стереть сектор(-а)», чтобы снять с соответствующего сектора (секторов) защиту от записи. После успешного выполнения команды «Копировать оперативную память во Flash-память» или «Стереть сектор(-а)», соответствующие сектор(-а) будут снова защищены от записи. Загрузочный сектор не может быть подготовлен к записи этой командой. Для подготовки к записи одного (отдельного) сектора используются одинаковые значения начального и конечного номеров сектора |
Копировать оперативную память во Flash-память. Описание этой команды приведено в Табл. 20.24. Таблица 20.24. Команда ТАР «Копировать оперативную память во Flash-память» |
|
Команда |
Копировать оперативную память во Flash-память |
Вход |
Код команды: 51 Параметр 0 (dst): начальный адрес области Flash-памяти (адресата), в которую должны быть записаны байты данных. Адрес должен лежать в 512-байтовой границе (т. е. быть кратным 512). Параметр 1 (src): начальный адрес области оперативной памяти (источника), откуда должны быть прочитаны байты данных. Этот адрес должен лежать в границах слова (32 бита). Параметр 2: количество байтов, которые будут записаны. Это значение должно быть равно 512110241409618192. Параметр 3: системная тактовая частота (cclk) в кГц |
Код состояния |
cmd_success | src_addr_error (Адрес не в границе слова) | dst addr error (Адрес не в правильной границе) | src addr not mapped dst addr not mapped] count error (количество байтов не 512110241409618192) | sector not prepared for write operation | busy |
Результат |
Нет |
Описание |
Эта команда используется, чтобы программировать Flash-память. Задействованные сектора должны быть предварительно подготовлены путем вызова команды «Подготовить сектор(-а) к операции записи». Задействованные сектора автоматически защищаются от записи после успешного выполнения команды копирования. Загрузочный сектор не может быть записан этой командой |
Стереть сектор(а). Описание этой команды приведено в Табл. 20.25.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |