Тема 12 .Разработка и отладка программ в симуляторе ADSIM812

 

Разработка программного обеспечения включает следующие этапы:

1.Подготовка программы на алгоритмическом языке с использованием текстового редактора.

2.Трансляция программы в объектный ( двоичный) код.

3.Отладка программы с помощью программного отладчика (симулятора), в качестве которого используется симулятор ADSIM812, рассмотренный

далее.

4.Загрузка объектного кода в память микроконтроллера.

5.Проверка правильности работы программы при выполнении ее в контроллере.

Симулятор ADSim812

 

ADSim812 поставляется фирмой Analog Devices, чтобы помочь в оценке, разработке и отладке кода для микроконтроллера AduC812. В то время как не возможно полностью смоделировать AduC812 платформу ,этот симулятор подходит так близко как приемлемо возможно к моделированию платформы и сможет сделать работу по оценке и разработке программ для AduC812 намного проще.

Рассмотрим состав , основы организации и функционирования основных модулей микроконтроллера , используемых в курсовой работе. Для разработки программного обеспечения контроллера пользователь симулятора должен выбрать набор модулей , необходимых для выполнения заданных функций и их отладки. Модули выбираются из меню симулятора View.

Основным модулем любого контроллера является центральное процессорное устройство (ЦПУ), обеспечивающее выполнение логических и арифметических операций и обозначенное в симуляторе как SFR Window (рис.10) .

 

 

Рис. Модули ЦПУ и портов симулятора

 

ЦПУ представлен множеством регистров R0…R7, программно доступных пользователю посредством системы команд. В любой из регистров ЦПУ можно записать или изменить значение операнда на любой стадии отладки программы . Для этого необходимо подвести курсор мыши к регистру , кликнуть левой клавишей и затем записать требуемое значение.

Основной рабочий регистр ЦПУ – аккумулятор Acc ,используемый всегда для хранения результата операции и одного из операндов при выполнении операций , а также для обмена информацией с периферийными устройствами, подключаемыми к контроллеру через порты P0…P3 .

Регистр B используется в основном при выполнении операций умножения , деления и некоторых других действий.

PSWрегистр признаков результата операции ,хранит флажки (Flags) – признаки результата операции, используемые для выполнения разветвлений в программе командами условных переходов. Наиболее активно используемым флажком в курсовой работе является флажок переноса(CY) из старшего разряда аккумулятора.

SP – указатель стековой памяти, в котором хранится адрес верхней ячейки стека. Отличием стековой памяти от памяти с произвольным доступом к ячейкам памяти является то, что в стеке используется следующий принцип доступа: данное , записанное в стек первым , можно прочитать только последним, а указатель стека SP ,выполняющий функцию регистра адреса стека , изменяется автоматически при обращении к стеку для формирования адреса следующей ячейки памяти. Подобный механизм доступа к стеку называют сокращенно LIFO (Last Input First Output – «последним записан первым прочитан»).

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

Регистры IP иIE используются при обработке запросов прерывания и позволяют задать приоритеты каждому из прерываний и разрешить их обработку в ЦПУ соответственно.

Остальные регистры ЦПУ в данной работе не используются и поэтому здесь не обсуждаются.

Для подключения к контроллеру датчиков и устройств ввода и вывода данных в модели имеются порты ввода (Input Ports) и порты вывода (Output Ports). При отладке программы в порты ввода можно загрузить входные данные и стартовать выполнение программы. Выходные сигналы , поступающие в порты вывода, к которым подключены ИМ, формируются моделируемой программой. Основной набор периферийных устройств контроллера можно классифицировать следующим образом:

ПУ для связи с пользователем: клавиатура, индикаторы, принтеры, кнопки сброса контроллера и т.п.

Для хранения основного набора данных в контроллере имеется резидентная память данных (РПД) , модель которой приведена на Рис.

В меню View РПД обозначена как IRAM (Internal RAM). В любой из адресов РПД также ,как и в регистр, можно записать 8-битные исходные данные. Дело в том , что в симуляторе нельзя моделировать входные данные, поэтому они предварительно должны быть записаны или в ячейки памяти РПД , или в порт ввода , к которому в реальной системе подключены датчики цифровых и аналоговых сигналов, а также другие устройства ввода. Таким образом разработчик программ сам определяет набор исходных данных, имитируя ,тем самым , работу датчиков.

Адреса ячеек РПД начинаются с кода 00, в первой строке представлено 16 ячеек памяти (00H –0FH), в следующей строке – следующие 16 ячеек(10H-1FH) и т.д. Следует заметить, что в симуляторе все данные и адреса представлены в 16-ричной системе счисления (H –Hexidecimal).

Команды программы хранятся в резидентной памяти программ РПП, обозначенной в симуляторе Code Memory (Рис. 12), являющейся постоянной памятью. Каждая команда в РПП хранится в следующем формате:

Адрес РПД(Address):Метка (Label):Код Операции(Op Codes):Инструкция(Instruction).

Следует отметить, что команда может занимать в РПП от одного до трех байтов, что необходимо учитывать при оценке длины программы. Отлаживаемую в симуляторе программу можно выполнять в следующих режимах:

автоматический режим выполнения программы полностью;

выполнение программы отдельными фрагментами до точки останова (Breakpoint), количество точек останова неограниченно. Для определения точки останова необходимо выделить требуемый адрес команды и кликнуть мышью на кнопке (Toggle Breakpoint). При этом адрес команды останова будет помещен в квадратные скобки;

 

 

Рис. Модель резидентной памяти данных РПД.

 

Время выполнения моделируемой программы определяется симулятором автоматически. Для оценки времени необходимо вызвать из меню View программу анализа (Program Analysis) и снять показание.

 

 

Рис. Модуль резидентной памяти программ контроллера РПД.

 








Дата добавления: 2016-03-22; просмотров: 1245;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.008 сек.