Программирование в Keil uVision — это программирование в интегрированной среде разработки uVision компании Keil, представляющей собой совокупность программных средств, позволяющую выполнить весь комплекс работ по формированию программного обеспечения микроконтроллеров.
Общие сведения о микроконтроллерах
Микроконтроллеры являются мощным вычислительным инструментом и прекрасной основой для формирования современных высокопроизводительных и экономичных встраиваемых систем, обладающих многоцелевым предназначением. В одной микросхеме микроконтроллера может содержаться микропроцессор, память программ (как правило, на базе ПЗУ), память данных (как правило, на базе ОЗУ), модуль ввода-вывода, генератор тактовых сигналов, аппаратная поддержка интерфейсов I2C, SPI и многое другое.
Однокристальные микроконтроллеры нашли повсеместное использование в самых разных областях, таких как, измерительные приборы, фотоаппараты и видеокамеры, принтеры, сканеры и копировальные аппараты, а также изделия электронных развлечений и всевозможная домашняя техника.
На первых этапах появления микропроцессоров создание программного обеспечения происходило обычно на каком-либо языке ассемблера, который ориентирован на конкретные устройства. По существу, эти языки являлись символьной мнемоникой определенных машинных кодов, а переводы мнемоники в машинные коды выполнялись программами трансляции. Причем основным недостатком ассемблерных языков является тот факт, что каждый из них имеет привязку к определенному типу устройств и логике его работы. Помимо этого, ассемблер считается сложным в изучении, что требовало значительных усилий, для того чтобы его изучить, но основное, если в дальнейшем будет необходимо перейти на применение микроконтроллеров других компаний, то все эти усилия окажутся бесполезными.
Сегодня разработка программного обеспечения микроконтроллеров может выполняться в интегрированной среде программирования Keil uVision, разработанной корпорацией Keil Elektronik. Эта среда способна предоставить пользователям совокупность средств для формирования и отладки кода программ для микроконтроллеров на базе ядра ARM7, ARM9, Cortex M3 и многих других. В набор бесплатного дистрибутива этого программного обеспечения включены следующие возможности:
- Интегрированная среда разработки.
- Программа компиляции С/С++.
- Программа макроассемблера и линковщика.
- Набор дополнительных утилит.
Программирование в Keil uVision
Программа для микроконтроллера может быть написана на одном из языков программирования как текстовый файл. То есть, для того чтобы написать программу можно использовать любой текстовый редактор. Специальная программа трансляции затем должна преобразовать этот исходный текст программы в машинные коды, которые будут понятны микропроцессору. Такой процесс именуется компиляцией. После выполнения компиляции формируется так называемый hex-файл, который предназначен для загрузки в память микроконтроллера. Если загрузить такой hex-файл в обычный блокнот, то он пользователь увидит на экране монитора набор строк, состоящих из шестнадцатеричных цифр. По этой причине файл и называется «hex», то есть, в полном варианте «hexadecimal», что означает «шестнадцатеричная система счисления».
Для того чтобы облегчить процесс создания программы, обычно применяется какая-либо интегрированная среда программирования, в составе которой имеется определенная совокупность программных средств, таких как, редакторы исходного текста, трансляторы с выбранного языка программирования, редакторы связей, загрузчики, отладчики и другие средства. При формировании программы, кроме файла с самим текстом программы, среда разработки может использовать много других вспомогательных файлов. Для обеспечения должной взаимной связи всех этих файлов, необходимо создать программный проект.
Для разработки программного обеспечения для микроконтроллеров можно использовать среду разработки Keil uVision, в состав которой входят:
- Программа компиляции С/С++.
- Программа ассемблера.
- Программа отладки.
- Программа трассировка.
- Программа внутрисхемного программирования.
- USB JTAG адаптер ULINK2.
- Бесплатный вариант с ограничением размера кода программы в 32 Кбайт.
Среда программирования Keil uVision имеется на сайте разработчика, с которого ее и можно скачать. Рекомендуется скачать и установить MDK-ARM (требуется регистрация). Для поддержки микроконтроллеров определенных серий следует также скачать и установить последнюю версию библиотеки стандартной периферии. Кроме того, следует установить драйверы JTAG-отладчика Segger Jlink.
После того как установлены все компоненты среды программирования Keil uVision можно приступить к формированию проекта. Для этого нужно выбрать опцию создать новый проект Project - New uVision Project, и выбрать директорию для нового проекта. Следует помнить, что в наименовании пути к директории не должно быть русских символов.
Далее будет предложено осуществить выбор устройства, для которого формируется программа. Например, можно выбрать микроконтроллер MDR1986BE93.
Рисунок 1. Окно программы. Автор24 — интернет-биржа студенческих работ
После того как сделан выбор целевого микроконтроллера, следует выполнить определение периферии и окружения компиляции. Например, можно выбрать Device\Startup_MDR1986BE9x (поддержка ядра микроконтроллера серии 1986BE9x), Drivers\PORT (порты ввода/вывода), Drivers\RST_CLK (сигналы тактовой частоты).
Рисунок 2. Окно программы. Автор24 — интернет-биржа студенческих работ
Рисунок 3. Окно программы. Автор24 — интернет-биржа студенческих работ
Далее в дереве проекта нужно выполнить щелчок правой кнопкой мышки на «Source group 1» и выбрать «add new item to Group 'Source group 1'». В открывшемся окне нужно сделать выбор расширения файла «*.h», определить для него имя, например, «MDR32F9Qx_board.h» и сохранить в папку «config» в той же директории, что и проект. А дальше нужно просто указать компилятору путь к файлу «MDR32F9Qx_board.h». Для этого нужно в дереве проекта щелкнуть правой кнопкой мышки по «Target 1», выбрать «Options for Target 1» и перейти на вкладку «С/С++». В поле «Include path» добавить строку «./config».