Гребнев В.В. - Микроконтроллеры семейства AVR фирмы Atmel (1044208), страница 19
Текст из файла (страница 19)
Пример 8. . ЕЗЕО .ОНО $20 . ЕМАЯ:. ОВ $02, $13, $24 «3 газработка программы на языке АУР Ассемблера фирмы Аяте! Байт $02 будет записан в ЕЕРРОМ по адресу ЕМАБ = $20, байт $13 — по адресу ЕМАБ+1 = $21, байт $24 — по адресу ЕМАБ+2. Запись в ЕЕРРОМ выполняется в процессе программирования микроконтроллера.
Директива .0% определяет слово или группу слов, которые должны быть записаны в пары ячеек ЕЕРКОМ, начиная с адреса, обозначенного меткой перед директивой .В%К Примвр 9. . ЕЯЕО ЕМАБИ: . 0И $1357, $2468 Слово $1357 будет записано в ЕЕРРОМ побайтно по адресам ЕМАРМ и ЕМАУАГ+1, слово $2468 — по адресам ЕМАРФ+2 и ЕМАРМ+3.
П8.4. Сегмент типа РАДЕС начинается с директивы .ВНЕС. В сегменте записываются директивы .ВУТЕ и .ОКС. Метка является символическим адресом в адресном пространстве ЯКАМ. Реальный адрес вычисляется в процессе ассемблирования. Исходное значение задается с помощью директивы .ОКС, записанной в начале сегмента после директивы .РАДЕС. В программе могут быть несколько сегментов типа .1ЭЯЕС. При отсутствии директивы ОКС в первом пз них в качестве исходного принимается адрес $60.
Директива.РТЕ определяет количество ячеек в ЖАМ, к которым будет производиться обращение для записи и чтения байтов, начиная с адреса, обозначенного меткой перед директивой .РТЕ. Примвр 10. . 0ЯЕО .ОНО $60 0МАЯ:.ВУТЕ 3 .СБЕО МБТ: ЯТЯ 0МАБ+1, Н5 В БРАМ зарезервированы три ячейки, к которым обращаются по адресам ОМАБ = $60, ОМАБ+1 = $61 и 0МАБ+2 - $62. По команде, записанной в г!азЬРОМ по адресу МБТ, выполняется пересылка байта из регистра общего назначения Р5 в ячейку БРАМ по адресу $61. П8.5.
Вместо конкретных значений переменных в мнемокодах команд и директивах ассемблера могут записываться выражения (формулы), по которым в процессе ассемблирования эти значения вычисляются. В качестве операндов в выражение могут входить числа, символические имена и адреса, текущее значение в счетчике команд (РС). Числа могут быть представлены в десятичном, шестнадцатеричном или двоичном коде. Для обозначения шестнадцатеричного кода используются указатели $ или ОХ, для обозначения двоичного кода — указатель ОЬ. Приложения Пример записи числа: ?5 = $4В = ОХ4В = ОЬ01001011.
При составлении выражений могут использоваться арифметические операции (АО), логические операции (ЛО) и операции отношения (00). Результатом арифметической операции является число, результатом логической операции — код, значения битов в котором являются результатом выполнения данной логической операции с битами в разрядах кодов-операндов, результатом операции отношения является 1 ($01), если отношение выполняется, или 0 ($00), если отношение не выполняется.
В табл. П8 указаны тип операции, знак операции, правило получения результата и очередность выполнения операций при вычислении выражения. Очередность выполнения может быть изменена путем заключения в круглые скобки части выражения, которая должна выполняться раньше других. грабли ца По 115 Аппаратно-программные средства поддержки разработок Окончание табл. П8 Кроме арифметических, логических операций и операции отношения в выражение могут входить операции-функции: ° выделение младшего байта слова 10% (3АВС1:)) - ЗСВ; ° выделение старшего байта слова Н1СН (3АВСВ) - 3АВ; ° возведение в степень числа 2 ЕХР2(М) - 2~; ° выделение целой части двоичного логарифма числа 1.0С2(Х) = 1оИ2У (целая часть). Пример 11.
По директиве,ОВ в сегменте СБЕО записаны четыре константы, начиная с адреса 1ч ОМ (пример 11. Фрагмент программы для чтения четвертой константы имеет вид: (.01 7Н, Н16Н (2*(ИБМ+!)) Ы1 Е(., (.Оп' (2*(МОИ+!)) А01И Е~, 1 (.РМ Четвертая константа (378) считана из НазпкОМ и находится в регистре общего назначения кО. П9.
Аппаратно-программные средства поддержки разработок на основе микроконтроллеров АУй Фирмы Айте! (Р. Н. Золотухо) Профессиональную разработку современных микроконтролерных устройств невозможно представить без использования средств поддержки. приложения 11б Фирма Агте1 уделяет большое внимание вопросам технической поддержки, предлагая разработчикам как программные, так и различные аппаратные средства. Данный раздел представляет собой обзор программных и аппаратных средств проддержки разработок для микроконтроллеров АЪ'К, предлагаемых Агте1 Сага.
(аппаратно-программные средства поддержки микроконтроллеров АЧК описаны также в 171). Программные средства поддержки разработок Популярность микроконтроллеров АЧК способствовала тому, что многие фирмы-производители программных средств поддержки микроконтроллеров (ассемблеров, компиляторов, отладчиков) создали программные пакеты поддержки АЧК.
Данный раздел содержит обзор программных средств, предлагаемых самой фирмой Агте/, и начинается со знакомства с основным программным пакетом — АИс мийо. АИс 5гийо — это интегрированная отладочная среда разработки приложений (ЮЕ) для микроконтроллеров семейства АЪ'К (АТ905, АТшеяа, АТс1пу) фирмы Агте1. 10Е АЛс 5гийо содержит; ° транслятор языка ассемблера (Агте1 АИс тасгоаяетБ1ет) ° отладчик(.0еЬиуег); ° программное обеспечение верхнего уровня для поддержки внут- рисхемного программирования (1п-5узгет Р~оратття, 1ЯР). Отладчик АИс 5йсйо поддерживает все типы микроконтроллеров АЧК и имеет два режима работы: режим программной симуляции и режим управления различными типами внутрисхемных эмуляторов (.ЬСйси1г Ети1агоп) производства фирмы Агте1.
Важно отметить, что интерфейс пользователя не изменяется в зависимости от выбранного режима отладки. Отладочная среда поддерживает выполнение программ как в виде ассемблерного текста, так и в виде исходного текста языка С. Отладчик АИс 5гийо по формату обьектного файла совместим с ассемблерами фирм Агте1 (АЧК АюетЫег) и 1АЯ 5уягетю (ЕЖА90- АззешЫег — ъ г 1еъ' - 1). По формату объектного файла пЬго1 АИс 5гийо совместим с компилятором С фирмы 1АЯ 5улгетз (1ССА90 С Сошр11ег — ~ъъж'ах.тощ), по формату соН вЂ” с компиляторами С фирм 1тадесга/г (1ССАЧК и 1ССГ1пу — с иъж' ъ'аг ' е ) и НР 1п1огесБ (Сос1еЧ|з1опАЧК вЂ” с ' осе ' ). АЛ~ 5гийо распространяется свободно, его последняя версия всегда доступна на сайте фирмы Агте1 ( й каем с сз ргос1,'ЩЬсщ). Аппаратно-программные средства поддержки разработок Создание и трансляция проекта После запуска А1'.гс 5гийо для создания нового проекта необходимо в меню Рго1есФ выбрать команду Хеж В результате на экране появляется диалоговое окно (рис.
П9.1), в котором необходимо ввести название проекта (Рго1есС паше) и его расположение (Еосабоп). Новый проект удобнее создавать в отдельной папке. Рис. П9.1. Окно создания нового проекта Далее выбирается тип проекта: ° АУК АввегпЫег. Использует встроенный макроассемблер АЛ~ 5гийо. ° Сепег1с Зо рагиму С соп~р11ег. Использует внешний компилятор С, имеющий интерфейс командной строки.
При выборе пункта АУК АвветЫег после нажатия кнопки ОК на экране появляется окно организации проекта (рис. П9.2), показывающее все связанные с проектом файлы. Рис. П9.2. Окно организации проекта Далее к проекту должен быть добавлен файл программы на языке ассемблера. Это можно сделать разными способами: или в проект добавляется уже существующий файл с расширением .алт, или создается новый. Для создания нового файла необходимо в этом окне выбрать группу АявегпЫег Иев и в меню Рго)ест выбрать пункт АсЫ Ие. В открывшемся окне следует ввести название файла с расширением .аяп. Если 118 Прииожвни~ файл был создан ранее, то его необходимо найти на диске и двойны~ щелчком мыши занести в строку "Имя файла". Созданный (или найденный) таким образом файл будет помещен в группу АвветЫег Б1ев в окне организации проекта. Подобным же образом можно подключить к проекту и другие ассемблерные файлы но группа АввегпЫег Б1ез может содержать только один файл, с которогс в дальнейшем будет начинатся трансляция проекта.
Назовем этот фай. — . входным ассемблерным файлом проекта. Значок этого файла в окне организатора проекта отмечен красной стрелкой, направленной вправо все другие файлы проекта будут отмечены синими стрелками, направленными вниз (рис. П9.3). Все файлы проекта должны быть включены во входной файл проекта с помощью ассемблерной директивы лпс1иНе Для смены входного файла проекта на другой надо установить курсог мыши на нужный файл в окне организации проекта и щелкнуть правой кнопкой мыши.
В открывшемся всплывающем окне надо указать этот файл как АяветЫег епгху 61е. Для того, чтобы в тексте ассемблерных файлов вместо адресов внутренних регистров микроконтроллера использовать их символические имена, нужно подключить к проекту файл, содержащий назначения символических имен всех регистров выбранного микроконтроллера (обычно его называют включаемым файлом), например т103де/лпс. Включаемые файлы входят в прикладное программное обеспечение А Иг ЯиЫго и при инсталляции помещаются в папку Аррпогез в директории.
где установлен АИ~ 5'гийо. Рис. П9.3. Окно организации проекта с подключенными файлами проекта Для редактирования исходного текста программы необходимо в папке АвветЫег Б1ев в окне организации проекта открыть нужный файл с расширением .алт, В открывшееся окно для редактирования файла можно с клавиатуры или через буфер компьютера ввести текст программы на языке ассемблера (рис. П9А). Перед трансляцией нужно задать установки проекта. В пункте меню Рго1есг, выбирается Рго1есФ ЯеФ6пфв, и в открывшемся окне установок проекта указывается необходимый формат выходного файла.
АИ~ ЯиЫго поддерживает следующие выходные форматы: Аппаратно-программные средства поддержки разработок ° ОЬ1есС; ° Сепег1с; ° 1пСе1 1пСе11ес 8/МР5 (1пСе1 Нех); ° МоСого1а Я-Кесогс1. Рис. П9А. Окно редактирования программы на языке ассемблера Для отладки в АИ~ 5гисйо необходим файл в формате 01уесС (об.ьектный файл). Однако большинство программаторов в качестве входных используют файлы в формате 1пСе1 Нех.
Далее осуществляется трансляция программы и проверка правильности ее написания. Выбирается пункт Аяяеп~Ые в меню Рго1есС. Открывшееся окно Рго~есС ОцСриС содержит сообщения ассемблера. В это окно выводится информация о количестве слов кода и данных, о наличии ошибок, и другая информация (рис. П9.5).