Интегрированная среда разработки (ide) mplab

MPLAB — это интегрированная среда разработки (IDE) для семейства микроконтроллеров PICmicro компании Microchip Technology Incorporated. которая разрешает писать, отлаживать и оптимизировать программы для разработок, выстроенных на микроконтроллерах данного семейства.

Интегрированная среда разработки (ide) mplab

Рисунок 10 — Схема полного проекта, выстроенного при помощи MPLAB

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

  • MPLAB менеджер проектов (project Manager). Употребляется для проектов и работы со связанными файлами.
  • MPLAB редактор (Editor). Употребляется для и редактирования текстовых файлов, таких как исходные и файлы сценариев компоновки.
  • MPLAB-SIM симулятор (Simulator). Разрешает моделировать входные выходные и выполнение/команд сигналы микроконтроллеров.
  • MPLAB-ICE внутрисхемный эмулятор (Emulator). Разрешает, применяя компьютер и дополнительные аппаратные средства, заменять микроконтроллер в разрабатываемом устройстве в настоящем времени. MPLAB-ICE самый новый эмулятор от Microchip.
  • MPASM универсальный ассемблер.
  • MPLINK компоновщик (linker). формирует законченное приложение, связывая перемещаемые модули MPASM, MPLAB-C17, и MPLAB-C18
  • MPLIB руководит пользовательскими библиотеками.
  • MPLAB-CXX компилятор C. Разрешает включать в проект исходные тексты написанные на языке большого уровня С и на ассемблере.
  • PRO MATE II и PICSTART Plus программаторы.
  • PICMASTER и PICMASTER-CE внутрисхемные эмуляторы.
  • Инструментальные средства вторых производителей.

В общем случае, схема полного проекта в, выстроенного при помощи MPLAB возможно представить следующем образом:

Рабочая область пакета на MPLAB рисунке 11.

Рисунке 11 — Главная панель управления IDE MPLAB

1.6.1. Панель управления

Главная панель управления имеет следующие вкладки.

Меню File

Это стандартное меню со стандартными пунктами для управления файлами проекта. Пункты Export и Import предназначены для обмена данными между внешними устройствами и компьютером (симулятор, эмулятор).

Меню Project

Пункты для управления конфигурацией и проектом. Изменение установок созданного проекта Edit Project. Make Project — компилировать все исходные файлы для одного hex файла, Build All — компилировать все файлы, Build Node — компилировать один выборочный файл. Меню Install Language Tool предназначено для конфигурации языка и выбора программирования.

Меню Edit

Также стандартное меню для управления буфером обмена, и для поиска, замены текста и другого

Меню Debug

По окончании компилирования проекта Вы, точно, захотите видеть как Ваш код выполняется. В большинстве случаев, разрабатываемое устройство не будет трудиться верно, как Вы желаете. Исходя из этого придется код отлаживать. Вы имеете возможность применять MPLAB-SIM для симулирования работы микроконтроллера либо внутрисхемный эмулятор (что вряд ли в отечественных условиях, к примеру PICMASTER стоит порядка $4000), таковой, как MPLAB-ICE. PICMASTER и др. В любом случае нужно будет останавливать работу и замечать состояние регистров микроконтроллера и делать в походовом режиме.

Меню Debug содержит все опции, каковые Вы станете применять при отладке Вашего кода с симулятором либо эмулятором:

  • Меню Run. Опции этого меню разрешают руководить исполнением программы.

Run (F9) — запуск исполнения в постоянном режиме (с применением эмулятора в настоящем времени, с применением симулятора с максимальной скоростью).

Reset (F6) — сброс.

Halt (F5) — остановить исполнение программы.

Halt Trace (Shift + F5) — остановить трассировку безостановочно исполнения программы.

Animate — запуск в постоянном режиме, но с возможностью замечать изменение значений регистров и памяти в ходе. Подобно постоянному нажатию на кнопку пошагового исполнения.

Step (F7) — выполнить одну команду и остановиться.

Step Over (F8) — также самое, но не опускаться в подпрограммы (выполняются в постоянном режиме).

Update All Registers — обновить все регистры для текущей команды.

Change Program Counter — поменять программный счетчик. Возможно ввести числовой адрес, а возможно ввести метку.

  • Меню Execute.

Execute an Opcode — выполнить введенную Вами команду.

Conditional Break — делать программу в постоянном режиме пока не выполнится введенное Вами условие либо не будет надавлен Halt . При выборе данной опции откроется окно для конфигурирования.

  • Меню Simulator Stimuls. Разрешает имитировать внешние сигналы на входных выводах (портах) микроконтроллера. MPLAB не разрешает изменять состояние портов как вторых регистров. С одной стороны это вызывает кое-какие неудобства, но с другой имеются достаточно замечательные средства моделирования входных сигналов:

Asynchronous Stimulus Dialog — опция разрешает устанавливать постоянные логические уровни на входных выводах

Pin Stimulus Files — подключение особого текстового файла (расширение .sti) обрисовывающего изменение внешних сигналов на входных выводах микроконтроллера.

Register Stimulus Files — подключение текстового файла (расширение .направляться), обрисовывающего изменение регистр (8 бит). В большинстве случаев употребляется при отладке аналого-цифрового преобразования.

Clock Stimulus — опция разрешает имитировать периодические сигналы.

  • Меню Center Debug Location. Переместить указатель текущей делаемой команды в центр окна. Трудится с окнами исходных файлов, абсолютного листинга и программной памяти.
  • Меню Breakpoint Settings. Конфигурация точек останова (прерывания). Возможно устанавливать до 16 точек. Возможно установить при достижении адреса либо других случаев и области. В случае, если останов в выбранной точке не происходит, то удостоверьтесь в надежности установлен ли соответствующий флаг в окне конфигурации (OptionsDevelopment Mode). Еще точку останова возможно установить щелкнув правой кнопки мыши на нужной строчке исходного файла и выбрав Break Point(s), но эти установки сбрасываются при каждом перекомпилировании проекта.
  • Меню Trace Point Settings. Конфигурация трассировки, другими словами записи в соответствующем окне последовательности делаемых команд.
  • Меню Trigger In/Out Settings и Trigger Out Point Settings. Вероятны при работе с внутрисхемным эмулятором и руководят конфигурацией прерывания по внешним сигналам и др.
  • Меню Clear All Points. Очистить все трассировки и установленные точки останова.
  • Меню Complex Trigger Settings и Enable Code Coverage. Для работы с эмулятором.
  • Меню Clear Program Memory (Ctrl+Shift+F2). Очистить память программ.
  • Меню System Reset (Ctrl+Shift+F3). Системный сброс. Пересбрасывается MPLAB, симулятор либо подключенный эмулятор. После этого производится инициализация всего оборудования как при старте MPLAB.
  • Меню Power-On-Reset (Ctrl+Shift+F5). Сброс отлаживаемого устройства (симулятор либо эмулятор), подобный состоянию при подачи напряжения питания.

Меню PICSTART Plus

Меню управления и конфигурации фирменным программатором PICSTART Plus. При его отсутствии кроме этого не доступно.

Меню Option

Меню для конфигурирования самого MPLABа. Включает в себя следующие опции:

  • Меню Development mode. Раскрывается окно для конфигурирования микроконтроллера в проекте. Информация из этого окна употребляется симулятором либо эмулятором при отладке. Устанавливается тип отладчика, тип тактового генератора (осциллятора), частота, конфигурация внешнего сброса (MCLR), точек останова, сторожевого таймера и др.
  • Меню Window setup. Запись (save) и считывание (load) конфигурации MPLAB, и установка по умолчанию (default).
  • Меню Current editor settings.Конфигурация встроенного редактора, вида вывода файла на принтер, типа файла.
  • Меню Reset editor modes. Скинуть установленную конфигурацию редактора и установить конфигурацию по умолчанию.
  • Меню Environment setup(Ctrl+F7). Раскрывается окно с несколькими вкладками для конфигурирования самого MPLABа. Тут присутствуют следующиев кладки:

General Options — установка системного шрифта, размещения панели инструментов, количества знаков для символьных переменных и меток и некоторых установок при загрузке MPLAB.

Project Template Options — расположения языка файлов и установка программирования при создании нового проекта (как бы установки по умолчанию).

Files — выбор папки, которая будет предлагаться по умолчанию при записи и загрузке. Возможно установить как последнюю к которой было обращение (самый комфортно) либо как одну определенную заблаговременно. И еще количество файлов, каковые будут предлагаться открыть как чаще всего употребляемые (для стремительного открытия).

Default Editor Modes — установка конфигурации встроенного редактора для новых файлов.

Key Mappings — конфигурирование тёплых клавиш для стремительного вызова либо каких-либо действий.

Colors — установка цветовой гаммы для текста, выделенного текста, точек останова, трассировки и др.

  • Меню Programmer options. Выбор программатора, его выбор и конфигурация порта для подключения.

Меню Tools

Опции меню разрешают запустить файлы в ДОС строчке и контролировать возможность обмена информацией с эмуляторами устройствами (и внешними программаторами).

Меню Window

MPLAB снабжает окна для обзора программной памяти, содержимого стека и содержимого регистров. Внимание: дабы открыть системное меню для трансформации отображаемых данных в открытом окне щелкните левой кнопки мыши в верхнем левом углу этого окна. Все опции меню Window дешёвы в режиме симулятора (виртуального отладчика) либо внутрисхемного эмулятора. В режиме Editor Only доступны лишь: окно Безотносительного Листинга и окно перечня знаков (simbol list). Подробнее об вероятных опциях:

  • Program Memory — окно памяти программы
    Trace Memory — окно результатов трассировки. В случае, если счетчик программы (PC) попадает в область, отмеченную для трассировки, то в этом окне сохраняется порядок исполнения команд.
  • EEPROM Memory — окно просмотра содержимого EEPROM (Электрически программируемая область памяти, сохраняется при отключении питания. Присутствует в кристаллах, содержащих в обозначении букву F, к примеру 16F84).
  • Calibration Data — окно просмотра калибровочных данных
  • Calibration Memory — окно просмотра калибровочной памяти для кристаллов, содержащих таковую (PIC14400, к примеру)
  • Absolute Listing — окно просмотра безотносительного листинга — полного отчета о компилировании. Полезно просматривать при поиске неточностей.
  • Map File — окно просмотра схемы памяти. По умолчанию данный файл при компилировании не генерируется. Дабы он был дешёв при вызове, нужно привести к окну редактирования проекта ProjectEdit Project, подсветите выходной HEX-файл и выберите его свойства Node Properties. В открывшемся окне поставьте галочку в графе ON для Cross Reference File и в графе DATA введите имя файла с именем Вашего проекта и расширением MAP, к примеру myprog.map. По окончании трансформаций перекомпилируйте проект.
  • Stack-просмотр стека, другими словами точек входа в подпрограммы. Не следует забывать, что у некоторых микроконтроллеров глубина стека всего 2 (к примеру, PIC16C505). Это значит, что возможно вызывать лишь одну подпрограмму из подпрограммы. При третьем вызове информация о возврате теряется и программа будет трудиться самым неожиданным образом!
  • File Registers- окно просмотра содержимого регистров неспециализированного назначения (RAM). Не забудьте, что вид просмотра возможно выбрать из меню, щелкнув в левом верхнем углу окна.
  • Special Function Registers — окно просмотра регистров особого назначения (SFR).
  • Show Symbol List(Ctrl+F8) — окно перечня знаков. Все применяемые переменные, регистры, метки, константы и др.
  • Stopwatch — окно просмотра временных параметров. Показывает тактовую частоту (выставляется в окне конфигурации микроконтроллера) и время прошедшее В первую очередь исполнения программы либо с момента обнуления в микросекундах и тактах. Весьма комфортно при отладке программы, в то время, когда употребляются счетчики, таймеры, прерывания и все, связанное со временем.
  • Project Window — окно файла проекта. Включает пути к файлам, подключенные файлы, даты и вторая информация.
  • Watch Windows — меню управления окнами просмотра, каковые возможно выяснить самостоятельно. При редактировании и создании окна Вы определяете какие конкретно регистры и в каком виде показывать. Эти окна возможно также сохранить в папке Вашего проекта для применения. Комфортно при отладке, в то время, когда нужно держать перед глазами содержимое некоторых регистров. Примечание: при двойном щелчке на адресе регистра вызывается окно модификации для трансформации содержимого. Нужно подчернуть, что так нельзя менять содержимое портов микроконтроллера
  • Modify — окно модификации регистров. Возможно ввести полный адрес, возможно имя переменной либо регистра. Возможно выбрать тип модифицируемой памяти и заполнить область.
  • Tile Horizontal, Tile Vertical, Cascade, Iconize All, Arrange Icons — опции управления открытыми окнами: упорядочить по горизонтали, по вертикали, уложить каскадом, свернуть все.
  • Open Windows — скоро открыть какое или загруженное и свернутое окно. При громадном количестве файлов проекта оказывается весьма комфортно.

Меню Help

Вызов справок и помощи. Полная уникальная фирменная информация на английском. В случае, если что-то не ясно, то в любой момент возможно в том месте отыскать.

1.6.2. Панель инструментов (Toolbar)

Панель инструментов является рядом кнопок для стремительного вызова тех либо иных функций либо исполнения каких-либо действий. Существует 4 комплекта кнопок для различных действий: для редактирования, отладки, управления проектом и для определения пользователем. Для конфигурирования панели инструментов выберите OptionEnvironment Setup и вкладку General. На ней возможно выбрать расположение панели (вверху, слева, справа) либо, надавив кнопку Layout, добавить либо убрать кнопки.

В случае, если навести указатель мыши на какую-либо кнопку, то внизу окна MPLAB в строчке состояния покажется ее описание. Вот назначение кнопок панели инструментов:

— поменять комплект кнопок панели инструментов (Edit, Debug, Project, User Default). назначение кнопок и Графическое обозначение в соответствии с каждой панелью представлены в таблице 3.

Таблица 3. назначение кнопок и Графическое обозначение

Кнопка панели Воздействие Кнопка панели Воздействие
Панель Edit Панель Debug
создать новый файл запустить программу в постоянном режиме
открыть файл остановить исполнение программы
сохранить файл выполнить очередную команду
вырезать выделение в буфер выполнить команду, не опускаясь в подпрограммы
копировать выделение в буфер сброс микроконтроллера
засунуть из буфера модифицировать счетчик программы (PC)
печать выполнить введенную команду
поиск текстовой последовательности создать новое окно просмотра
повторить последний поиск модифицировать регистр, переменную
замена и поиск текстовой последовательности установить точку останова
повторить поиск и замену текстовой последовательности установить точки трассировки
возвратиться на одно воздействие назад установить защелки
переместить строчок вправо на расстояние табуляции очистить все точки останова, трассировки, защелки
переместить строчок влево не расстояние табуляции условная точка останова
переместиться на строчок с номером… остановить трассировку
включить нумерацию строчков в файлах системный сброс
привести к справке MPLAB привести к описанию версии MPLAB
создать проект открыть проект
открыть проект сохранить проект
закрыть проект поиск текстовой последовательности
сохранить проект вырезать выделение в буфер
редактировать проект копировать выделение в буфер
компилировать проект засунуть из буфера
компилировать все исходные файлы сохранить файл
компилировать один исходный файл запустить программу в постоянном режиме
установить язык проекта остановить исполнение программы
привести к помощи по ассемблеру MPASM выполнить очередную команду
выполнить команду, не опускаясь в подпрограммы
сброс микроконтроллера
окно просмотра регистров неспециализированного назначения
окно просмотра памяти программы
окно просмотра регистров особого назначения
создать новое окно просмотра
компилировать проект

1.6.3. Представление чисел

В исходном тексте воображать числа возможно по-различному и в различных совокупностях счисления:

Таблица 4. Метод представления чисел

ФОРМАТ СИНТАКСИС ПРИМЕР
Десятичный D’число’, число D’100′, 100
Шестнадцатиричный H’число’, 0xчисло H’f9′, 0xAF00
Восьмиричный О’число’ O’777′
Бинарный B’число’ B’11110000′
Символьный ‘знак’, A’знак’ ‘C’, A’C’

1.6.4. Директивы языка MPASM

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

Таблица 5. Директивы языка MPASM

ДИРЕКТИВА ОПИСАНИЕ ПРИМЕР
Директивы управления
CONSTANT Определение символьной константы constant cnt=255
#DEFINE Определение текстовой последовательности для замены #define snd portsnd, 1
END Финиш блока программы end
EQU Определение константы temp equ 0xF0
ERROR Сообщение о неточности error error line
ERROR LEVEL Установка типа сообщений об неточностях в файле ошибок и файле листинга errorlevel 1, -202
INCLUDE Засунуть второй файл источника include
LIST Определение формата (тип микроконтроллера, количество знаков в строчке, табуляция и другое см. MPASM Help) либо разрешает вывод, в случае, если было предварительно не разрещаеться list p=17c42, f=INHX32, r=DEC
MESSG Создать пользовательское сообщение messg see here!
NOLIST Запретить вывод nolist
ORG Установить начальный адрес программы org 0x100
PAGE Засунуть страницу в файл листинга page
PROCESSOR Установить тип микроконтроллера processor 16F84
RADIX Установить совокупность счисления по умолчанию для выражения данных radix dec
SET Определение константы. Подобна EQU, но в последствии возможно переопределить temp set b’00110011′
SPACE Засунуть безлюдные строчки в файл листинга space 3
SUBTITLE Засунуть второй заголовок в файл листинга subtitle Main Project
TITLE Засунуть заголовок в файл листинга title Project Of PIC
#UNDEFINE Удаление определенной текстовой последовательности #undefine snd
VARIABLE Определение символьной переменной variable temp=0xF0
Условия
ELSE Начало блока другого условия (IF) else
ENDIF Завершение блока условия endif
ENDW Завершение цикла До тех пор пока endw
IF Начало блока условия if version == 100
IFDEF Выполнить, в случае, если выяснено ifdef testing
IFNDEF Выполнить, если не выяснено ifndef testing
WHILE Цикл До тех пор пока while i count
Эти
CBLOCK Определение блока констант cblock 0x20
__CONFIG Описание бит конфигурации микроконтроллера __config H’FFFF’
DATA Создание числовых и текстовых данных txt data please, 0x30
DB Определение байта данных temp db 0xFF
DE Определение данных в EEPROM temp de 0xF0, 0xF1
DT Определение таблицы temp dt text, 0, 0x30
DW Определение слова (2 байта) данных temp dw 39, text
ENDC Окончание блока констант endc
направляться Заполнение области константой fill 0x1009, 5
__IDLOCS Определение ID __idlocs H’FFEE’
RES Резервирование памяти buffer res 64
Макросы
ENDM Окончание макроса endm
направляться Выход из макроса exitm
EXPAND Полный текст макроса в файле листинга expand
LOCAL Определение локальной переменной в макросе local leng, tmp
MACRO Определение макроса out_sym macro temp
NOEXPAND Не разворачивать макрос noexpand

Таблица 6. Арифметические операторы MPASM.

Оператор Описание Пример
$ Текущий счетчик программы goto $ + 3
( левая скобка 1 + ( d * 4 )
) правая скобка ( leght + 1 ) * 255
! операция НЕ (логическая инверсия) if ! ( a — b )
~ инверсия flags = ~ flags
отрицательное число (вторая инверсия) — 1 * lenght
high выделить старший байт слова movlw high llasid
low выделить младший байт слова movlw low ( llasid + .2551 )
* умножение a = c * b
/ деление a = b / c
% модуль lenght = totall % 16
+ сложение tot_len = направляться * 8 + 1
вычитание Entry_Son = ( Tot — 1 ) / 8
сдвиг влево val = flags
сдвиг вправо val = flags 1
= больше или равняется if ent = num
больше if ent num
меньше if ent num
меньше или равняется if ent
== равняется if ent == num
!= не равняется if ent != num
поразрядное И flags = flags err_bit
^ поразрядное ИСКЛЮЧАЮЩЕЕ Либо flags = flags ^ err_bit
| поразрядное ВКЛЮЧАЮЩЕЕ Либо flags = flags | err_bit
логическое И if ( len == 512) ( b == c )
|| логическое Либо if ( len == 512 ) || ( b == c )
= установить равному… entry_index = 0
+= сложить и установить равному… entry_index += 1
-= вычесть и установить равному… entry_index -= 1
*= умножить и установить равному… entry_index *= lenght
/= дробить и установить равному… entry_index /= lenght
%= модуль и установить равному… entry_index %= 8
сдвиг влево и установить равному… entry_index
= сдвиг вправо и установить равному… entry_index 4
= И и установить равному… entry_index %= err_flags
|= ВКЛЮЧАЮЩЕЕ Либо и установить равному… entry_index |= err_flags
^= ИСКЛЮЧАЮЩЕЕ Либо и установить равному… entry_index ^= err_flags
++ расширить на 1 (инкремент) i ++
уменьшить на 1 (декремент) i —

STM32CubeIDE — интегрированная среда разработки от ST


Интересные записи:

Понравилась статья? Поделиться с друзьями: