Программное обеспечение стенда SDK-1.1s
Резидентный загрузчик НЕХ202. Резидентный загрузчик НЕХ202 располагается во Flash-памяти ADuC842, начиная с адреса 0100h. Он обеспечивает начальную инициализацию системы, загрузку программ в НЕХ-формате в память SDK-1.1s и передачу им управления.
Начальная инициализация. При включении питания или передаче управления на ячейку с адресом 0 происходит повторная инициализация всех регистров специального назначения их значениями по умолчанию. Это сделано для того, чтобы при случайной передаче управления на ячейку с адресом 0 вследствие возможной ошибки в пользовательской программе не происходило сбоя системы, а сама система вела себя так же, как при включении питания. Эта же процедура повторяется непосредственно перед передачей управления загруженной программе. В случае успешной инициализации на ЖКД на мгновение выводится надпись «SDK-1.1s. 2001 ©LMT Ltd» и на резонатор выдается короткий сигнал.
Загрузка программ в память SDK-1.1s. После процедуры инициализации системы последовательный канал настраивается на работу в режиме с параметрами:
9600 бит/сек; 8 бит данных; 1 стоп-бит; без контроля четности и в канал выдается строчка «НЕХ202-ХХ»,
где XX - номер версии загрузчика.
Далее с интервалом примерно в 200 мс выдается символ V и ожидается появление символа со стороны инструментальной системы на ПК. При появлении символа, если это первый символ строки в НЕХ-формате, то есть двоеточие (":"), выдача символа V прекращается и производится прием остальной части НЕХ-строки. После завершения приема очередной НЕХ-строки вычисляется ее контрольная сумма. Если она не совпадает с принятой, то в последовательный канал выдается символ '—', сигнализирующий об ошибке приема. В противном случае выдается '+' и принятая строка обрабатывается в соответствии с указанной в ней командой (запись данных в память, конец блока или передача управления). Далее, если не было команды передачи управления, вывод в последовательный канал символа V возобновляется и ожидается следующая НЕХ-строка.
Передача управления загруженной программе.Передача управления происходит по приему НЕХ-строки вида: 02AAAA060000SS<cr>, где АААА - это НЕХ-адрес, по которому необходимо передать управление, SS - контрольная сумма НЕХ-строки, <cr> -символ возврата каретки. Такая строчка должна быть добавлена в конец каждого НЕХ-файла, загружаемого в SDK-1.1. Для этого в поставляемых с SDK-1.1 инструментальных системах есть команда addhexstart.
Необходимо заметить, что перед посылкой НЕХ-файла, сгенерированного в какой-либо среде разработки, необходимо добавить в его конец стартовый адрес, то есть адрес в памяти RAM, на который передается управление после загрузки в SDK-1.1 командой addhexstart.
Пример:
loadhex+ myfile.hex
ADDHEXSTART(addr,seg->) filename.hex
Добавление в конец файла filename.hex строчки приводит к передаче управления загрузчиком НЕХ202 по адресу addr после загрузки файла в целевую систему (SDK-1.1). Поле seg необходимо указывать, но в данный момент оно не используется.
Пример:
0x5000 0x0 addhexstart myfile.hex
Утилиты для загрузки HEX-файла в память стенда. Для загрузки программы используется утилита t167b.exe. Инструментальная система T167B призвана решать следующие задачи:
- преобразование HEX и BIN файлов,
- анализ HEX-файлов,
- передача загрузочных модулей различных форматов в целевую систему с протоколами разного уровня сложности,
- получение информации из целевой системы,
- обеспечение элементарных операций с последовательным каналом (прием и передача байта, эмуляция терминала).
Пакет T167 можно рассматривать как набор модулей или библиотеку для объединения в едином стиле совместных наработок на языке "C".
Управляющие клавиши:
Alt+X – выход;
CTRL+BREAK – аварийный выход (приводит в большинстве случаев к корректному завершению работы T167b при зависаниях).
Командная строка в T167b имеет историю, записываемую в файл. Перелистывание команд осуществляется стрелками Up, Down. В скобках указано положение числовых параметров на стеке данных: перед стрелкой до выполнения команды, а за стрелкой - после. После скобок указан перечень строковых констант (например, имен файлов).
Дата добавления: 2018-11-25; просмотров: 375;