Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Работа с mpasm в интегрированной среде mplab IDE




MPLAB проект состоит из узлов, показанных на рисунке 4-2, которые представляют файлы используемые в проекте:

Целевой узел - заключительный вывод

- Шестнадцатеричный файл кода

Узлы проекта - компоненты

- Исходные файлы проекта

В этой главе рассмотрены аспекты взаимодействия MPLAB и MPASM. Дополнительную информацию о создании проектов в среде MPLAB смотрите в технической документации MPLAB User's Guide (DS51025).

Рис 4.2

Создание проекта необходимо для того, что бы объединить работу компилятора и линкера в генерации кода программы (.HEX) из исходных файлов. На диаграмме показано соотношение заключительного файла кода.HEX и исходного фала.ASM.

4.5 Настройка MPLAB IDE для работы с MPASM

Необходимо выполнить следующие шаги для работы с MPASM в среде MPLAB:

1. После создания проекта (Project>New Project), откроется диалоговое окно настройки проекта. Выберите HEX файл (например, tutor84.hex) в списке файлов проекта Project Files и нажмите кнопку Node Properties для настройки параметров компиляции.

 

рис 4.2


2. В диалоговом окне настройки параметров укажите MPASM как средство компиляции, а так же если необходимо, настойте другие параметры компиляции.

Рис 4.4 3. Присоедините исходный файл к проекту (нажмите кнопку Add Node в диалоговом окне настройки проекта).

рис 4.5


4. Нажмите ОК для подтверждения настроек.

 

рис 4.6

4.6 Компиляция исходного текста программы

Запуск компиляции проекта выполняется в MPLAB IDE командой Project>Make Project. HEX файлы автоматически загружаются в память программ.

Вместе с файлом кода создаются дополнительные файлы. Подробную информацию о дополнительных файлах генерируемых при компиляции исходного файла смотрите в разделе 2.5.

4.7 Возможные ошибки

В случае возникновения ошибок в работе MPASM при компиляции проекта рекомендуется проверить следующие параметры:

Выберите пункт меню Project>lnstall Language Tool... и проверьте правильность указания пути к файлу MPASMWIN.EXE и установку флага Windowed. Как альтернатива, может быть указан файл MPASM.EXE, но в этом случае должен быть установлен флаг Command-Line.

 

рис 4.7


Если Вы используете MPASM.EXE DOS версии и получаете предупреждение о нехватки памяти в компьютере проверьте параметры работы DOS программы в среде Windows. Используя программу “Проводник”, включаемую в операционную систему Windows, нажмите правой кнопкой “мыши” на файле MPASM.EXE и выберите пункт “Свойства”.

 

 

рис 4.8

Выберите параметр “переменные среды” (Initial Environment) равный 2048. Если одновременно используется большое количество приложений, параметры которых указаны в файле Autoexec.bat, необходимо выбрать большее значение параметра “ переменные среды”.


 

5. Директивы MPASM 5.1 Введение

В этой главе будут подробно описаны все директивы MPASM.

Директивы MPASM - команды, которые входят в состав исходного текста программы, но непосредственно не включаются в выходной код. Они используются для управления MPASM, параметрами ввода-вывода и распределением данных.

Многие директивы ассемблера имеют дополнительные имена и форматы. Они предназначены для обеспечения совместимости с более ранними версиями ассемблера и индивидуальными методами программирования. Для получения минимального объема кода программы рекомендуется использовать директивы MPASM, описанные в данном документе.

5.2 Типы директив MPASM

Существует пять основных типов директив:

директивы контроля - управляют созданием разделов условно компилированного кода;

директивы данных - управляют распределением памяти и назначением символических имен переменным и константам;

директивы листинга - определяют формат и состав файла листинга. Эти директивы позволяют: указывать заголовки, нумеровать страницы и настраивать другие параметры;

макро директивы - управляют работой макросов и распределением данных в теле макроса;

директивы объектного файла - используются только при создании объектного файла.

5.3 Список директив MPASM

В таблице представлен список директив поддерживаемых MPASM. В остальной части этой главы будет подробно описана каждая директива. В описании всех директив будут содержаться пункты:

• синтаксис;

• описание;

• пример.

Директива   Описание   Синтаксис    
BADRAM   Идентификация нереализованного ОЗУ   badram <expr>[-<expr>][, <ехрг> [-<ехрг>]]    
BANKISEL   Выбор банка для косвенной адресации   bankisel <label>    
BANKSEL   Выбор банка для прямой адресации   banksel <label>    
CBLOCK   Определение блока констант   cblock [<expr>]    
CODE   Начало кода объектного файла в памяти программ   [<name>] code [<address>]  
CONFIG   Установка битов конфигурации м и кроконтроллера   config <expr> OR config <addr>, <expr>  
CONSTANT   Определить символьную константу   constant <label> [-<expr>,...,<label> [-<expr>] ]  
DA   Сохранение строки в памяти программ   [<label>] da <expr> [, <expr2>,..., <exprn>]  
DATA   Сохранение значений или текста в памяти программ   [<label>] data <expr>,[,<expr>,...,<expr>] [<label>] data "<text string>" [,"<text string>",...]  
    Побайтное сохранение данных в   [<label>] db <expr>[,<expr>,...,<expr>]  
DB   памяти программ   [<label>] db "<text string>" [,"<text string>",...]  
DE #DEFINE   Резервирует 8-разрядное значение в EEPROM памяти Определяет замену текста   [<label>] de <expr>[,<expr>,...,<expr>] [<label>] de "<textstring>"[,"<textstring>",...] ttdefine <name> [<string>] ^define <name> [<arg>,...,<arg>] <string>  
DT   Определяет таблицу данных   [<label>] dt <expr>[,<expr>,...,<expr>] [<label>] dt "<text string>"[,"<text string>",...]  
DW   Резервирует слова памяти программ   [<label>] dw <expr>[,<expr>,...,<expr>] [<label>] dw "<text string>" [,"<text string>",...]  
ELSE   Начало альтернативного блока программы условия IF   else  
END   Окончание программы   end  
EN DC   Окончание автоматического блока констант   endc  
ENDIF   Окончание условного блока программы   endif  
ENDM   Окончание макроса   endm  
ENDW   Завершает цикл While   endw  
EQU   Определение константы ассемблера   <label> equ <expr>  
ERROR   Формирует сообщение об ошибке   error "<text string>"  
ERRORLEVEL EXITM   Настройка параметров вывода сообщений об ошибках Выход из макроса   errorlevel 0 l|2 <+ -xmessage number> exitm  
EXPAND   Включение текста макроса в файл листинга программы   expand  
EXTERN   Определение внешних меток   extern <label> [,<label>]  
FILL   Запись значения в память программ   [<label>] fill <expr>, <count>  
GLOBAL I DATA   Внешняя метка Объявляет начало инициализации данных в объектном файле   global <label> [,<label>] [<name>] idata [<address>]  
IDLOCS   Установка значения ID   idlocs <expr>  
IF   Начало блока условия   if <expr>  
IFDEF   Выполнение, если определена символьная метка   ifdef <label>  
IFNDEF   Выполнение, если символьная метка не определена   ifndef <label>  
INCLUDE   Подключение дополнительного исходного файла   include “include file” |"<include file>"  
LIST   Список параметров   list [<list option>,...,<list option>]  
LOCAL   Объявить локальную переменную макроса   local <label>[,<label>]  
MACRO   Определить макрос   <label> macro [<arg>,...,<arg>]  
MAXRAM   Определяет максимальный объем ОЗУ   maxram <expr>  
MESSG   Сформировать сообщение   messg "<message text>"  
NOEXPAND   Не разворачивать текст макроса   noexpand  
NOLIST   Выключить вывод в файл листинга   nolist  
ORG   Установить адрес программы   <label> org <expr>  
PAGE   Вставить страницу в файл листинга программы   page  
PAGESEL PROCESSOR   Произвести выбор страницы Выбор типа микроконтроллера   pagesel <label> processor <processsor type>  
RADIX   Система счисления по умолчанию   radix <default radix>  
RES   Резервирование памяти   [<label>] res <mem units>  
SET   Определение константы   <label> set <expr>  
SPACE   Вставить пустые строки   space <expr>  
SUBTITLE   Определение подзаголовка программы   subtitle "<sub text>"  
TITLE   Определение заголовка программы   title "<title text>"  
UDATA   Начало инициализации данных с обычным размещением в памяти (для объектного файла)   [<label>] udata [<RAM address>]  
UDATAACS   Начало инициализации данных быстрого доступа (для объектного файла)   [<label >] udata acs [<RAM address?]  
UDATAOVR   Начало инициализации временных данных (для объектного файла)   [<label >] udata ovr [<RAM address>]  
UDATASHR   Начало инициализации разделяемых данных (для объектного файла)   [<label >] udata shr [<RAM address;”]  
#UNDEFINE VARIABLE   Отменить замену текста Определение символьной   ftundefine <label>  
    переменной      
WHILE   Цикл While   while <expr>  
         

 





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


Дата добавления: 2014-11-29; Просмотров: 1732; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.