Обработчик команды ISP сравнивает принятую контрольную сумму с вычисленной контрольной суммой полученных байтов. Если эти контрольные суммы совпадают, то обработчик команд ISP отвечает строкой «ОК <CR> <LF>», чтобы продолжить дальнейшую передачу. Если контрольные суммы не совпадают, то обработчик команд ISP отвечает строкой «RESEND <CR> <LF>». В ответ, хост должен повторно передать соответствующие байты данных.
Описание этой команды приведено в Табл. 20.11.
Таблица 20.11. Команда ISP «Запись в оперативную память»
Команда |
W |
Вход |
Начальный адрес: адрес в оперативной памяти, начиная с которого должны быть записаны байты данных. Этот адрес должен лежать в границах слова (32 бита). Количество байтов: Количество байтов, которые будут записаны. Это значение должно быть кратным 4 |
Код возврата |
CMD_SUCCESS | ADDR ERROR (Адрес не в границах слова) 1 ADDR_NOT_MAPPED | COUNT ERROR (Количество байтов не кратно 4) | PARAM ERROR CODE_READ_PROTECTION_ENABLED (включен режим защиты кода от чтения) |
Описание |
Эта команда используется, чтобы загрузить данные в оперативную память. Данные должны быть в формате UU-encoded. С загрузчиком версии 1.61 и выше эта команда блокирована, когда разрешена защита кода от чтения. |
Пример использования |
«W 1073742336 4 <CR> <LF>» запись 4 байт данных по адресу 0x4000 0200 |
Чтение памяти <Адрес> <количество байтовХ Поток данных сопровождается кодом возврата успешного выполнения команды. В ходе обмена, обработчик команд должен передавать контрольную сумму после передачи 20 строк данных
в формате UU-encode. Контрольная сумма вырабатывается путем сложения байтов необработанных данных (до их кодирования в формат UU-encode) и сбрасывается после передачи 20 строк в формате UU-encode. Длина любой строки формата UU-encode не должна превысить 61 символ (байт), т. е. может содержать до 45 байт данных. Когда количество исходных данных соответствует менее чем двадцати строкам UU-encode, то контрольная сумма должна вырабатываться, исходя из фактического количества передаваемых байтов.
Хост сравнивает принятую контрольную сумму с вычисленной контрольной суммой полученных байтов. Если эти контрольные суммы совпадают, то хост отвечает строкой «ОК <CR> <LF>», чтобы продолжить дальнейшую передачу. Если контрольные суммы не совпадают, то хост отвечает строкой «RESEND <CR> <LF>». В ответ, обработчик команд ISP должен повторно передать соответствующие байты данных.
Описание этой команды приведено в Табл. 20.12.
Таблица 20.12. Команда ISP «Чтение памяти»
Команда |
R |
Вход |
Начальный адрес: адрес в оперативной памяти, начиная с которого должны быть прочитаны байты данных. Этот адрес должен лежать в границах слова (32 бита). Количество байтов: количество байтов, которые будут прочитаны. Это значение должно быть кратным 4 |
Код возврата |
CMD_SUCCESS сопровождающий <фактические данные (в формате UU-encode)> | ADDR ERROR (Адрес не в границах слова) | ADDR_NOT_MAPPED | COUNT ERROR (Количество байтов не кратно 4) | РАКАМ ERROR CODE_READ_PROTECTION_ENABLED (включен режим защиты кода от чтения) |
Описание |
Эта команда используется, чтобы читать данные из оперативной памяти. С загрузчиком версии 1.61 и выше эта команда блокирована, когда разрешена защита кода от чтения |
Пример использования |
«R 1073741824 4 <CR> <LF>» чтение 4 байт данных по адресу 0x4000 0000 |
Подготовить сектор(-а) к операции записи <Начальный номер сектора> конечный номер сектора> — эта команда производит операцию «запись/стирание» Flash-памяти за два шага.
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |