START: Создание проекта в Keil uVision

     ARM (Advanced RISC Machine — усовершенствованная RISC-машина) архитектура, разработанная компанией  ARM Limited, лежит в основе множества 32-х и 64-х битных микропроцессорных ядер. В свою очередь одним из таких ядер, а именно ARM Cortex-M оснащены микроконтроллеры STM32 от компании STMicroelectronics. 

       В семействе Cortex-M присутствуют: Cortex-M3 (выпущен в 2004 году), Cortex-M1 (2007 год), Cortex-M0 (2009 год), Cortex-M4F (2010 год),

Cortex-M0+ (2012 год), Cortex-M7F (2014 год), Cortex-M23 (2016), Cortex-M33F(2016). 

       В данной статье мы рассмотрим подготовку программного обеспечения и создание первого проекта в среде Keil uVision, для микроконтроллера STM32F303RBT6. В основе этого контроллера лежит ядро Cortex-M4.  

       Keil uVision дает возможность создавать проекты любой степени сложности. В этой среде пишется и редактируется исходный код программы, производится внутрисхемная отладка и прошивка ПЗУ микроконтроллера. Под управлением единой оболочки собран стек различных модулей которые используются по мере необходимости и возрастании сложности реализуемых задач. 

       Для того что бы приступить к созданию проекта необходимо скачать архив KEIL uVision and other, в архиве находятся 9 файлов (рисунок 1): 

1) mdk511.exe (установочный файл Keil uVision 5)

2) Keil.STM32F3xx_DFP.1.4.0.pack (пакет для работы с микроконтроллером STM32F303RBT6)

3) STM32F30x_Clock_Configuration_V1.0.0.xls (Визард для настройки тактирования микроконтроллера STM32F303RBT6)

4,5,6) StdPeriph, StartUP, CMSIS (необходимые файлы для работы с ядром Cortex-M)

7,8) USBSource, USBLib (Необходимые файлы для работы c USB)

9) Папка VCP_V1.5.0 с драйверами последовательного COM порта для микроконтроллера STM32F303RBT6

 

 

Рисунок 1  

     Далее устанавливаем  Keil uVision 5 (проблем с установкой быть не должно, следуем инструкциям установщика) и переходим к настройкам среды. 

Нажимаем на кнопку Pack Installer (рисунок 2).

Рисунок 2

     Откроется диалоговое окно  Pack Installer, жмем на File->Import (рисунок 3) и выбираем файл Keil.STM32F3xx_DFP.1.4.0.pack (рисунок 4).

Рисунок 3

Рисунок 4

     Теперь создаем новый проект Project->New uVision Project... (рисунок 5).

Рисунок 5

     Теперь нужно выбрать папку где будет расположен наш проект и присвоить ему имя. У меня это папка Keil_EX_1 и название проекта EX_1 (рисунок 6). Давайте сразу скопируем в эту папку файлы: StdPeriph, StartUP, CMSIS  из скаченного архива KEIL_uVision_and_other  

Рисунок 6

     После нажатия на кнопку сохранить появится диалоговое окно Select Device for Target 'Target 1'... в котором нам предложат выбрать микроконтроллер с которым мы будем работать. Нажимаем на вкладку STM32F303 (рисунок 7) после чего в раскрывшемся списке выбираем наш микроконтроллер STM32F303RB как показано на (рисунке 8).

Рисунок 7

Рисунок 8

     Нажимаем на кнопку ОК и автоматически появится диалоговое окно Manage Run-Time Environment (рисунок 9), просто жмем Cancel и идем дальше.

Рисунок 9

     Теперь в появившемся окне Project (рисунок 10) необходимо подготовить структуру папок для удобства работы.

Рисунок 10

     Правой кнопкой мыши жмем на папку Target 1 и выбираем Manage Project items... как на (рисунке 11). 

Рисунок 11

     Появится диалоговое окно Manage Project items в котором теперь необходимо добавить с помощью кнопок New/Delet (1) следующие папки: StartUP, USER, CMSIS, StdPeriph (2), после жмем ОК (3) (рисунок 12).

Рисунок 12

     Следующим шагом нужно добавить в созданные нами папки: StartUP, CMSIS, StdPeriph необходимые файлы с помощью команды Add Exsisting Files to Group 'Название папки'... (рисунок 13).

Рисунок 13

     В составе папки StartUP должны быть следующие файлы: startup_stm32f30x.score_cm4.h.

     В составе папки CMSIS должен быть файл: system_stm32f30x.c.

     В составе папки StdPeriph в первую очередь должен быть конфигурационный файл: stm32f30x_conf.h. Остальные в зависимости от используемой периферии. Я сразу добавил в эту папку все файлы для работы с периферией. 

     Перейдем к папке USER, в ней будет лежать файл исходного кода main и прочие на ваше усмотрение. Для добавления нового файла воспользуемся командой Add New item to Group 'USER'... (рисунок 14).

Рисунок 14

     Выбираем тип добавляемого файла CFile(.c) (1), присваиваем файлу имя main (2), нажимаем на кнопку добавить Add(3) (рисунок 15).

Рисунок 15

     После всех манипуляций ваш проект должен выглядеть так же как на (рисунке 16), за исключением нескольких строчек кода которые я написал в main для демонстрации ошибки. Здесь нет ни чего страшного просто нужно произвести окончательные настройки проекта (рисунок 17):  

(1) Нажимаем на кнопку Options for Target...

(2) Заходим во вкладку  С/С++

(3) В поле Define вводим USE_STDPERIPH_DRIVER

(4) Жмем на кнопку добавить путь (1) и прописываем пути ко всем файлам проекта (2) (рисунок 18)

Рисунок 16

Рисунок 17

Рисунок 18

     Заходим во вкладку Output выставляем галочку Create HEX File (рисунок 19), этот файл будет использоваться нами для прошивки микроконтроллера. Жмем ОК.

Рисунок 19

     Все готово, теперь осталось только собрать проект. Жмем на кнопку Build (рисунок 20). Ошибок быть не должно.  

Рисунок 20

Комментариев (0)

Написать комментарий

Имя *
E-mail
Введите комментарий *
Капча
8 + ? = 10
Также советуем почитать
03.06.2018

Для того что бы примеры для платы CodeIN правильно работали, произведите настройку тактирования микроконтроллера от внешнего источника тактового сигнала.

04.06.2018

Благодаря наличию на плате CodeIN переходника USB->UART (микросхема FT232RQ), присутствует возможность прошивки памяти микроконтроллера без использования программатора.

05.06.2018

Пример демонстрирует настройку и работу с GPIO.