Создание проекта в среде mplab ide. Установка XC16 и XC32

Создание проекта в среде mplab ide. Установка XC16 и XC32

Цель работы

Научиться создавать проекты в среде разработки MPLABIDEдля последующей работы с микроконтроллерамиPIC.

Теоретические основы

Работу начинают с создания проекта. В состав проекта входят файлы с текстом программы (sourcefiles«исходники» – файлы *.asm); файлы среды разработки (Workspace– *.mcw,Project– *mcp); *.hexфайлы, файлы стимулов и другие файлы. Файлы с расширениемmcwхранят информацию об открытых окнах и их расположении. Файлы с расширениемmcpсодержат информацию о присоединённых файлах и настройках программыMPLABIDEв этом проекте, поэтому для компиляции исходного текста не требуется указания места расположения компилируемого файла.

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

Работа с программой MPLABIDEдостаточно хорошо описана в документе MPLAB_Getting_Started_51281g. Этот документ доступен на сайте производителяwww . microchip . com .

Перед созданием проекта следует сделать на диске Cв корневом каталоге папкуProjects. В этой папке для каждого проекта нужно будет делать отдельные папки, напримерProject1,Project2 и т. д. – это удобно. И ещё – программа MPLABIDEсоздана зарубежными специалистами и не воспринимает русские буквы в описании пути нахождения файлов.

Для создания своих проектов часто используют файл–шаблон с текстом кода – заготовки, который предоставляется фирмой производителем микроконтроллеров. В этот файл вносят необходимые изменения и вписывают текст своей программы. Если среда разработки MPLABIDEбыла установлена на дискC, то этот файл расположен по адресуC:\ProgramFiles\Microchip\MPASMSuite\Template\Code\. Файл, который подходит для микроконтроллераPIC16F877A, носит название 16F877ATEMP.ASM

Результатом работы программиста является файл *.hex; этот файл будет выполняться микроконтроллером. Процесс помещенияhexфайла в память команд микроконтроллера называется программированием или «прошивкой» микроконтроллера.

Задание

Создайте проект в среде MPLABIDE. Используйте файл-шаблон с текстом кода-заготовки. Получите файлProject1.hex

Порядок выполнения

Сделайте в корневом каталоге на диске C:\ папкуProjects, в ней создайте папкуProject1. В папкуProject1 скопируйте файл 16F877ATEMP.ASM. Файл расположен по адресуC:\Program Files\Microchip\MPASM Suite\Template\Code\

Запустите программу MPLABIDE. Проект следует создавать при помощиProjectWizard. Для запуска помощника создания проекта нужно выбратьProject>ProjectWizard(рис. 1).

Рис. 1. Вызов помощника создания проектов.

После появления приглашения надо нажать Next> для продолжения (рис. 2).

Рис. 2. Приглашение помощника.

В следующем окне (StepOne– первый шаг) выбирают тип микроконтроллера (рис. 3). В выпадающем спискеDeviceвыбирают тот микроконтроллер, который установлен в устройстве (в нашем случаеPIC16F877А), затем нажимаютNext>.

Рис. 3. Первый шаг – выбор контроллера.

Окно выбора языка программирования (StepTwo) для создаваемого проекта (рис. 4) должно показать следующее расположение набора программ: в графеActiveToolsuiteпоказывается «MicrochipMPASMToolsuite»; в окнеToolsuiteContentsпрограммы:MPASM,MPLINK,MPLIB. ЕслиMPLABIDEбыла установлена в папку по умолчанию, то при выделении каждой из программ должны показываться пути:

Рис. 4. Второй шаг – расположение программ-компиляторов.

C:\Program Files\Microchip\MPASM Suite\mpasmwin.exe;

C:\Program Files\Microchip\MPASM Suite\mplink.exe;

C:\Program Files\Microchip\MPASM Suite\mplib.exe.

Если некоторые из компонентов помечены красным крестиком, то следует нажать кнопку browseи указать вручную расположение данных программ. После правильного указания программ нажимаемNext>.

В появившемся окне (StepThree) нажмём кнопкуbrowseи зададим место и имя для нашего проекта в созданной заранее папке на дискеC(рис. 5). Крайне не рекомендуется использовать рабочий стол или сетевые диски для хранения подобных папок и файлов. Это связано с тем, что,MPLABIDEне работает с файлами, путь к которым имеет русские буквы.

Рис. 5. Выбор места, где будет создан проект.

В папке Project1 зададим имя файла проектаProject1. Нажмём сохранить. Затем нажмёмNext> (рис. 6).

Рис. 6. Третий шаг – создание файла проекта.

Затем, по инструкции MPLAB_Getting_Started_51281g (StepFour), рекомендуют добавить в проект файл – шаблон, предоставляемый фирмойMicrochip. Лучше ничего не добавлять, сразу нажатьNext> (рис. 7), а файл, который нужно добавить, копировать прямо в папку проекта. Добавлять его уже из среды разработки. В этом случае главное, чтобы файл не имел атрибутов только чтение.

Рис. 7. Четвёртый шаг – добавление файлов в проект.

Последнее окно ProjectWizard– это резюме проекта. Показываются выбранный микроконтроллер, расположение программ компиляторов и имя файла проекта.

Рис. 8. Сведения о проекте.

После того, как нажата кнопка Finish, на рабочем столеMPLABIDEдолжно появиться окноProject. Если окноProjectне отображается надо выбратьView>Project(рис. 9).

Рис. 9. Вызов окна Project.

Добавим файл в проект из среды разработки. В папке проекта должен находится файл – шаблон с текстом кода – заготовки, который предоставлен фирмой Microchip. Шаблон нужно переименовать вProject1.asm. Итак, файл переименован и находится в папке проектаProject1. Теперь наводим мышь на папкуSourceFilesв окнеProject.mcw, щёлкаем правой кнопкой и выбираемAddfiles(рис.10).

Рис. 10. Добавление файла в проект.

После чего указываем место нашего файла, в нашем случае это: C:\Projects\Project1\Project1.asm(рис. 11).

Рис. 11. Место, в котором расположен добавляемый файл.

Рис. 12. Выбор добавляемого файла.

Нажимаем кнопку открыть (рис. 12), после чего файл присоединяется к проекту (рис. 13).

Рис. 13. Вид окна Projectс присоединённым файлом.

В корневой папке с названием проекта Project1.mcp* звёздочка у названия обозначает, что были внесены изменения, но они ещё не были сохранены. Чтобы увидеть текст исходного файла надо дважды щёлкнуть левой кнопкой мыши на названииProject1.asm(рис. 14).

Рис.14. Окно редактора с текстом программы.

Для настройки отображения исходного текста программы щёлкнем правой кнопкой мыши на тексте программы. В выпавшем меню выберем пункт Properties(рис. 15).

Рис. 15. Общее меню настройки редактора текстов.

Рис. 16. Меню настройки редактора текстов.

В появившемся окне выберем вкладку `ASM`FileTypesи поставим галочку в графеLineNumbers, включив тем самым отображение номеров строк в тексте. Ещё полезно во вкладкеTooltipsпроставить галочки в окошкеMouseover, тогда при установке курсора на название регистра будут показаны его содержимое и адрес.

Рис. 17. Вкладка Tooltips.

Нажимаем применить и ОК. Для компиляции исходного текста программы нажимаем на кнопку BuildAll.

Рис. 18. Кнопка BuildAllдля запуска компилятора.

Если компиляция прошла успешно, то в окне outputне будет сообщений об ошибках.

Рис. 19. Окно Outputпосле успешной компиляции.

Аппаратное обеспечение

Эта работа выполняется на компьютере в среде разработки MPLABIDE, макет не требуется.

Программное обеспечение

Текст файла 16F877ATEMP.ASM

; Этот файл основной шаблон для написания программ на языке ассемблера для

; микроконтроллера PIC16F877A. В файле содержатся основные блоки кода программы.

; Если прерывания не используются весь блок расположенный между директивой

; ORG0x004 и меткойmainможет быть удалён. Также могут быть удалены строки,

; в которых переменным «w_temp», «status_temp» и «pclath_temp» присваиваются адреса.

; Для дополнительной информации по ассемблеру следует обратиться к документу

; MPASM User"s Guide (Document DS33014).

; Filename: xxx.asm Date: File Version:

; Files required: Notes:

listp=16f877A; директива определения процессора

#include ; определения переменных процессора

CONFIG _CP_OFF & _WDT_OFF & _BODEN_OFF & _PWRTE_ON & _RC_OSC & _WRT_OFF & _LVP_ON & _CPD_OFF

; директива "__CONFIG" используется для настройки контроллера в.asmфайле.

; Значения названий расположенных в файле описываются в.incфайле.

;*****Назначение адресов переменных

status_temp EQU 0x7E

pclath_temp EQU 0x7F

ORG0x000 ; вектор загрузки

nop;nopтребуется для внутрисхемной отладки

gotomain; переход на начало основной программы

ORG0x004 ; вектор прерывания

movf STATUS,w ; переместить status в W

movf PCLATH,w ; переместить pclath в W

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

movf pclath_temp,w ; копия PCLATH в W

movwfPCLATH; значениеPCLATHкак до прерывания

movf status_temp,w ; копия STATUS в W

movwfSTATUS; значениеSTATUSкак до прерывания

swapfw_temp,w; значениеWкак до прерывания

retfie ; возврат из прерывания

; здесь располагают код основной программы

END; директива окончания программы

Индивидуальные задания

Создайте проект с другим файлом текста программы.

В директории C:\ProgramFiles\Microchip\MPASMSuiteрасположена программаMPASMWIN.exeпри помощи этой программы откомпилируйте исходный текст программы.

Контрольные вопросы

    Каким образом работа в среде MPLABIDEоблегчает труд разработчика?

    Какие новые файлы появляются в папке Project1 после создания проекта?

    Для чего нужны файлы *.asm*.hex*.mcw*.mcp?

    Почему при компиляции исходного текста программы в среде разработки не требуется указания места расположения компилируемого файла?

Итак, вы решили научиться программировать pic-контроллеры. Для начала поговорим о том, что вам для работы с этими контроллерами понадобится.

Контроллер работает по определённой программе, которая должна как-то в него попасть. Обычно программу в машинных кодах, готовую для записи в контроллер, называют прошивкой. Следовательно нужно какое-то устройство, которое будет записывать (на сленге обычно говорят заливать или прошивать) программу в контроллер. Такое устройство называется программатор. Подробнее о программаторах и заливке программы мы поговорим позднее, в последней части нашей эпопеи (когда уже будет что заливать), а пока давайте по-порядку — как нам эту программу написать.

Программа для контроллера — это, как я уже сказал, набор машинных кодов, записанный в файле с расширением «hex» (), который и нужно заливать в контроллер с помощью программатора. Никакого другого языка контроллер не понимает. Следовательно, нужна специальная программа, которая будет переводить текст программы, написанный на каком-либо языке программирования, в машинные коды. Наиболее удобными в этом плане являются интегрированные среды разработки (IDE — integrated development environment), поскольку они могут не только осуществлять перевод текста программы в машинный код, но и производить симуляцию её работы. Причём симуляцию можно проводить пошагово, при этом можно наблюдать состояние регистров или даже менять их состояние по своему желанию. Короче, интегрированные среды помимо, собственно, компиляции (перевода в машинные коды) предоставляют отличные возможности для отладки программы.

IDE, как и программаторов, существует много. Лично я пользуюсь MPLAB и вам рекомендую, по той простой причине, что MPLAB — это IDE от самого производителя PIC-контроллеров — фирмы Microchip, поэтому имеет отличную поддержку (в том числе на русском языке, что особенно приятно). С официального сайта Microchip можно скачать и сам этот пакет, и подробное описание по работе с ним. Если не нашли или ломает искать — , правда это уже не самая свежая версия.

В описании на русском языке про всё рассказано: от установки и настройки до удаления. В большинстве случаев вся установка заключается в том, чтобы запустить setup и ответить на пару вопросов, типа куда ставить драйверы и тому подобное, от себя лишь добавлю, что во избежание глюков ставить пакет надо в такую папку, чтобы в пути были только английские буквы (а не в какую-нибудь, типа C:\Программы\PIC\MPLAB). Вообще, кириллицу в путях к файлам или в названиях файлов лучше не использовать, иначе возможны глюки.

MPLAB позволяет писать программы на двух языках: СИ и Ассемблер. Интернет просто ломится от разборок СИ-шников и ассемблерщиков, которые с пеной у рта доказывают друг другу, какой язык лучше. Я отношу себя к ассемблерщикам, поэтому, естественно, расскажу почему лучше именно Ассемблер.

Ассемблер представляет собой набор элементарных команд, выполняемых контроллером. Каждая команда трактуется в машинный код совершенно однозначно, а результат её выполнения и время выполнения всегда одинаковы. То есть, если вы имеете листинг на ассемблере, то вы можете совершенно точно сказать, что делает контроллер в каждый момент времени и каким именно образом достигается нужный результат.

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

Короче говоря, в случае с языком высокого уровня вы изучаете как какой-то дядя обозвал свои способы реализации необходимых вам функций и по каким правилам их надо записывать. В данном случае можно провести следующую аналогию: вы хотите поговорить с китайцем, но вам говорят: "Китайский слишком сложный язык, но есть один дядя в Болгарии, который 20 лет жил в Китае и отлично его выучил. А болгарский язык с русским очень похожи и русскому человеку он интуитивно понятен, так что выучите болгарский, а уж дядя переведёт."

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

Надеюсь, к этому моменту вы уже сделали выбор языка программирования, так что пойдём дальше.

Что нужно сделать в MPLAB, чтобы получить желанную прошивку? Как я уже сказал — подробности читайте в руководстве к IDE MPLAB, оно на русском и там всё понятно (если не понятно — идём на форум), я же только кратко перечислю самое основное и дам некоторые рекомендации.

Итак, мы установили MPLAB, хотим написать в нём программу для контроллера и получить готовую прошивку.

Сначала нужно создать проект. Для каждого проекта рекомендую заводить отдельную папку, потому что, во-первых, в проект может входить несколько файлов, а, во-вторых, сам MPLAB создаст ещё несколько вспомогательных файлов (*.lst, *.err, *.cod, *.bkx). Если несколько проектов будут в одной папке, то легко можно запутаться какие файлы к какому проекту относятся. Короче, создаём для проекта новую папку, потом запускаем MPLAB и выбираем меню Project -> New Project…

В появившемся окошке, в проводнике справа, выбираем нашу папку, в левой части (в поле под надписью File Name ) пишем название будущего проекта, например my1.pjt (не забываем указать расширение), и жмём ОК.

Появляется окно с названием Edit Project . Это менеджер проекта, в котором указываются параметры проекта (какие файлы и библиотеки нужно подключить к проекту, какой будет использоваться камень, будет ли использоваться симуляция и многое другое). Находим поле ввода с названием Development Mode . Справа от этого поля есть кнопочка Change… Нажимаем.

Открывается окошко с названием Development Mode , в котором мы видим кучу вкладок. На вкладке Tools ставим галочку рядом с MPLAB SIM Simulator (грех для отладки симулятором не пользоваться), в поле ввода Processor выбираем контроллер, с которым мы будем работать. На вкладке Clock указываем какая у нас будет частота генератора. Жмём ОК. На ошибку и предупреждение не обращаем внимания, это просто нам говорят, что пока не могут создать.hex (ну правильно, у нас пока и программы нет) и что при изменении настроек надо заново перекомпилировать проект (так мы ещё вообще ни разу не компилировали).

В поле ввода Language Tool Suite выбираем Microchip .

Нажимаем кнопку с названием Add Node… В появившемся окне, в проводнике справа выбираем папку проекта, в поле ввода слева пишем как будет называться файл с текстом программы на ассемблере, например my1.asm (не забываем указывать расширение), и жмём ОК. Всё, теперь мы подключили к проекту файл my1.asm (указали, что текст программы будет в этом файле).

На этом с Edit project заканчиваем, — нажимаем ОК.

Теперь нужно, собственно, создать файл с текстом программы (в менеджере проекта мы просто указали, что текст будет в таком-то файле, но фактически этот файл ещё не создан). Для этого идём в меню File и выбираем пункт New . Откроется окошко редактора с названием Untitled1. Выбираем меню File -> Save As… , в проводнике справа указываем папку проекта, в поле ввода File Name пишем название файла, которое мы указали в менеджере проекта, то есть в нашем примере это будет my1.asm. Если всё сделано правильно, то название окошка редактора поменяется с Untitled1 на \путь\my1.asm.

Вот и всё! Теперь осталось только набрать в окошке редактора текст программы, скомпилировать проект (меню Project->Build All ) и, если в программе нет ошибок (что с первого раза бывает очень редко), то в папке проекта появится готовая прошивка (файл с расширением hex), которую можно заливать в контроллер.

  1. Часть 1. Необходимые инструменты и программы. Основы MPLAB

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

После первого запуска MPLAB вы увидите стартовую страницу, где находятся ссылки на различные гайды, тематические форумы и другие полезные вещи. Чтобы создать новый проект, кликнете на New project, укажите необходимые параметры (тип микроконтроллера, симулятор, компилятор, директорию и др.) и подтвердите. Далее создайте главную функцию, и в открывшемся текстовом редакторе можете писать свою программу.

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

Особенности программы

Создание программы для микроконтроллеров.
Удобный текстовый редактор.
Встроенные компилятор и симулятор работы программы.
Простая навигация по проектам.
Поддержка Windows XP и выше.

MPLAB свободно распространяется, поэтому программу можно скачать бесплатно.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows