Основы микропроцессорной техники

Глава 6. Проектирование устройств на микроконтроллерах


«Структура курса | Глава 1 | Глава 2 | Глава 3 | Глава 4 | Глава 5 | Глава 6 | Раздел 7 | Глава 8 | Дополнения

Раздел 6 - Страницы: « 1 | 2 | 3 | 4 | 5 | 6 | 7 | »

6.2.2. Компоновщик MPLINK

Абсолютный (неперемищуваний) код программы генерируется непосредственно при асемблюванни и располагается в программной памяти в порядке прохождения операторов программы. Операторы перехода на метку сразу же заменяются соответствующим кодом перехода в адрес метки.

При генерации перемещаемого кода каждая секция кода должна випереджатися директивой CODE. Окончательное размещение программных кодов, размещение физических адресов переходов выполняет Компоновщик MPLINK.

Компоновщик MPLINK выполняет следующие задачи:

  • распределяет коды и данные, т.е. определяет, в какой части программной памяти будут размещены коды и в какую область ОЗУ будут помещены переменные;
  • распределяет адреса, т.е. присваивает ссылкой на внешние объекты в объектном файле конкретные физические адреса;
  • генерирует код, выполняемый, т.е. выдает файл в формате. hex, что может быть записан в память МК;
  • отслеживает конфликты адресов, т.е. гарантирует, что программа или данные не будут размещаться в пространстве адресов, уже заняты.
  • предоставляет символьную информацию для отладки.

Для более подробного изучения работы компоновщик стоит обратиться к специальной литературе.

6.2.3. Менеджер библиотек MPLIB

Менеджер библиотек позволяет создавать и модифицировать файлы библиотек. Библиотечный файл является коллекцией объектных модулей, размещенных в одном файле. MPLIB использует объектные модули с именем типа "filename.o" формата COFF (Common Object File Format).

Использование библиотечных файлов упрощает компоновку программы, делает ее более структурированной и облегчает ее модификацию.

6.2.4. Симулятор MPSIM

Симулятор MPSIM это симулятор событий, предназначенный для отладки программного обеспечения PIC-контроллеров. MPSIM моделирует все функции контроллера, включая все режимы сброса, функции таймера / счетчика, работу сторожевого таймера, режима SLEEP и Power-down, работу портов ввода / вывода.

MPSIM запускается из командной строки DOS, конфигурируется пользователем и непосредственно применяются исходные данные ассемблера MPASM.

Перед использованием симулятора необходимо видасемблюваты исходный файл <file_name>. Asm и получить файл объектного кода в формате INHX8M, создаваемый MPASM по умолчанию:

MPASM <file_name>. Asm <RETURN>

Чтобы запустить симулятор, необходимо набрать в командной строке:

MPSIM <RETURN>.

Вид экрана, получаемого при запуске MPSIM, показанный на рис. 6.2. Экран разделен на три части окна). В верхнем окне показан текущее состояние моделирования, включая программу, моделируется, тип МК, количество выполненных командных циклов и потраченное на них время. Среднее окно используется для вывода содержимого регистров пользователя. Набор регистров и формат выводимых на экран данных определяются файлом MPSIM.INI, что дальше будет описан подробнее. Нижнее окно содержит приглашение на ввод команд, а также текущие операции и результат их выполнения.

При запуске симулятор MPSIM начинает искать командный файл MPSIM.INI. Этот текстовый файл создается пользователем и используется для задания всех задействованных в программе параметров.


Рис. 6.2 Вид рабочего окна симулятора MPSIM.

Один из примеров файла MPSIM.INI приведен ниже:

; MPSIM file for user4
P84 ; Использования МК семейства PIC16C84
SR X ; Представление данных в шиснадцятковому формате
ZR ; Сброса регистров МК в ноль
ZT ; Сброс таймера в ноль
RE ; Сброс времени выполнения команды и счетчика циклов
VW, X, 2 ; Вывод регистра W в hex формате на два знакомест
AD F1, X, 2 ; Вывод на экран регистра TMR0 в hex формате на два знакомест
AD F2, X, 3 ; Вывод на экран регистра PCL в hex формате на три знакомест
AD F3, B, 8 ; Вывод на экран регистра STATUS в bin формате на восьми знакомест
AD IOA, X, 2 ; Вывод на экран регистра TRISA в hex формате на два знакомест
AD F5, X, 2 ; Вывод на экран регистра порта A в hex формате на два знакомест
SC 1 ; Установка тактовой частоты 1 МГц
RS ; Инициализация МК
LO user4

В приведенном файле указано: тип микроконтроллера, система счисления данных по умолчанию, регистры, содержимое которых выводится на экран, способ представления данных, рабочие параметры. Любая команда, которая выполняется MPSIM, может быть задана в файле MPSIM.INI, определяющий исходн ое состояние программы. При работе MPSIM создает файл MPSIM.JRN, в котором хранятся все сведения о нажатии клавиш в процессе работы.

В файле MPSIM.INI допускается вводить комментарии, которые даются после знака ";", но не допускается использование пустых строк.

Основные команды, применяемые в симуляторе MPSIM, приведены в табл. 6.6. Когда эти команды вводятся в сеансе работы с MPSIM, они заносятся в файл MPSIM.JRN, используемый при создании расширенного файла MPSIM.INI. Данный файл можно задействовать для выявления ошибок и обеспечения нормального выполнения программы после исправления кода.

Табл. 6.6. Основные команды симулятора MPSIM.
Команда Параметр Комментарии
AB - Прерывания текущей сессии
AD Reg [, Radix [, Digits]] Вывод содержимого регистра на экран в указанном формате и заданной системе счисления X, B или D
B [Addr] Установка точки остановки на текущей или указанному адресу
C [# Break] Продолжение выполнения программы с пропуском указанного количества следующих точек остановки
DB - Вывод на экран всех активных точек остановки
DI [Addr1 [, addr2]] Вывод на экран фрагмента памяти программ
DR - Вывод содержимого всех регистров
DW [E | D] Разрешение / запрет функционирования сторожевого таймера
E [Addr] Выполнение программы по текущей или указанного адреса
F Reg Вывод на экран содержимого регистра и возможность его редактирования пользователем
GE filename Получение и выполнение командного файла. Это способ загрузки командного файла. INI
GO - Запуск МК и начало выполнения программы
IP [Time | step] Ввод входных сигналов в соответствии со значением параметра step в файле Stimulus
LO filename Загрузка в MPSIM файлов. HEX и. COD
M addr Вывод на экран содержимого памяти программ, начиная с адреса "addr" и возможность его редактирования. Введение "Q" завершает команду.
P device Выбор типа моделируемого МК
Q - Выход из MPSIM и запись команд в файл. JRN
RE - Сброс времени выполнения и счетчика циклов
RS - Сброс моделируемого МК
SE pin | port Вывод на экран состояния указанного вывода или порта и возможность его изменения
SR O | X | D Установка системы счисления по умолчанию
SS [Addr] Пошаговое выполнение, начиная с указанного адреса. При отсутствии адреса - выполнение идет с текущего места
ST filename Загрузка стимуляции
W Отображение состояния регистра W с возможностью его модификации
ZM addr1, addr2 Очистка памяти программ с адреса addr1 по addr2
ZR - Сброс всех регистров МК
ZT - Сброс таймера / счетчика МК

Для моделирования внешних тестовых событий (сигналов) на моделируемом МК используются файлы стимуляции с расширением STI. Эти файлы используются MPSIM для того, чтобы обеспечить подачу однократных и повторяющихся входных сигналов в процессе выполнения программы. При этом можно наблюдать на экране, как МК реагирует на сигналы.

В качестве примера ниже приведен файл для тестирования программы, выполняющей опрос состояния линии 1 порта А.

! test1.STI
STEP RA1
1 1! Установка на входе RA1 состояния "1"
200 0! Поступление на вход RA1 сигнала "0"
1000 1! Переход сигнала на входе RA1 в "1"
1200 0! Повторная подача нулевого сигнала

Файл сигнала состоит из множества состояний, для которых задается параметр STEP, определяющий количество циклов, в течение которых поддерживается указанный состояние. Он позволяет одновременно подавать сигналы на разные выводы МК. В файле сигнала можно указать любой вывод МК, в том числе и вывод инициализации (_MCLR. Для обозначения комментариев используется знак!


«Структура курса Раздел 6 - Страницы: « 1 | 2 | 3 | 4 | 5 | 6 | 7 | »