Налаштування проекту в Keil uvision5

Сам я початківець у цій справі, якщо що не так опишу, прохання сильно не штовхати)

До роботи з STM мікроконтролерами, наполегливо вивчав AVR. Після придбання своєї першої плати STM32f3discovery, своїм першим проектом, звичайно ж, хотів поблимати світлодіодами. Думав ща прийду додому, включу і відразу почну програмувати і без проблем робити всякі проекти. Але не тут було. Після створення проекту постійно вилітали всякі помилки, компілятор постійно лаявся на файли, що не вистачали.

Найчастіше вилітала помилка типу цієї:

Після довгих спроб нарешті вдалося встановити причину всіх моїх невдач. Нижче наведено кілька кроків, які я роблю для створення проекту. Ці кроки полегшать процес створення перших проектів на мікроконтролерах сімейства STM32.

Середовище Keil має свої "внутрішні" файли, які вона використовує за умовчанням. Наприклад фали відповідальні конфігурацію периферії та інших. Щоб компілятор використовував скипированные файли потрібно створити

1. Крок перший – завантажуємо файли налаштування контролера

Для того, щоб налаштувати свій перший проект вам необхідно для початку завантажити архів для вашої конкретної плати з офіційного сайту

Для своєї плати STM32f3Discovery я скачав архів з прикладами посилання

Далі розпаковуємо цей архів.

2. Створюємо папки проекту

Після цього у папці з проектом створюємо 4 папки

  • cmsis – папка, що містить файли налаштування мікроконтролера;
  • pl – папка із файлами переферій;
  • user - користувальницька папка, тут головний файл;
  • startup – початкова ініціалізація/

У мене це виглядає так:

3. Створюємо аналогічні групи серед Keil u vision

Аналогічно у нашомупроект створюємо групи з такими ж назвами. Назви можна давати будь-які, але щоб не плутатися краще такі самі, як і самі папки.

Важливо розуміти, що створення групи в проекті це не створення аналогічних папок у папці проекту, а лише угруповання виконуваних файлів.

uvision5

4. Копіюємо потрібні файли в папки проекту

Далі нам необхідно скопіювати з нашого, раніше завантаженого архіву, такі файли.

У папку cmsis наступні 3 файли:

  1. " F:\Projects\STM32\Ex4\cmsis\system_stm32f30x.c"
  2. " F:\Projects\STM32\Ex4 \cmsis\system_stm32f30x.h"
  3. " F:\Projects\STM32\Ex4cmsis\stm32f30x.h"

Файл stm32f30x.h – файл необхідний для налаштування роботи мікроконтролера.

У папку pl дві папки з STM32F30x_StdPeriph_Driver це

inc і src, у яких перебуває купа файлів до роботи з периферією.

Також у папку pl необхідно скопіювати файл stm32f30x_conf.h з будь-якого проекту.

У результаті маємо:

  1. "F:\Projects\STM32\Ex4\pl\stm32f30x_conf.h"
  2. "F:\Projects\STM32\Ex4\pl\inc\тут купа файлів h"
  3. "F:\Projects\STM32\Ex4\pl\src\ тут купа файлів c"

У папку startupкопіюємо наступний файл

У папці user створюємо наш виконуваний файл main.c

5. Додаємо файли до проекту

У середовищі Keil нам необхідно додати деякі файли до створених груп.

  1. До групи cmsis додаємо один файл system_stm32f30x.c;
  2. У групу pl всі файли периферії з папки src;
  3. До групи startup файл startup_stm32f30x.s;
  4. А в папці user створюємо файл main.cв ручну.

На даному етапі це виглядає так:

налаштування

6. Найголовніший етап створення проекту

В результаті Keil починає використовувати вашіскопійовані файли.

7. Додаємо до проекту стандартну бібліотеку core

Для того щоб додати цю бібліотеку необхідно менеджеру проектів вибрати пункт Run-TimeEnviroment і поставити галочку в полі CMSIS.

налаштування

Далі відкриваємо наш main.c та компілюємо, якщо помилок немає. Отже проект налаштований правильно.