2. STM32. Программирование. IDE для STM32
Содержание
- Установим IDE CooCox CoIDE на Windows
- Первая программа
- Некоторые настройки IDE и параметры компилятора
- Дебаггер
Для того, чтобы разрабатывать свои программы нам понадобится среда разработки, желательно с дебаггером, и компилятор C.
Я остановился на CooCox CoIDE и GCC. Во-первых этот софт не стоит денег, во-вторых — с ним не возникло никаких вопросов. Установил и начал работать. Правда, CooCox сделан только под Windows. Это не совсем хорошо. И хотя на Ubuntu CooCox работает под wine и даже компиляция проходит успешно, с дебаггером проблема. И работа через wine — это не true way.
UPD: Я выложил версию CoIDE 1.7.8 на Яндексдиск. В дальнейшем будем использовать и другие IDE (читай как установить и настроить Keil uVision5 – IDE для STM32, IAR Workbench – IDE для STM32).
Также следует обратить внимание на IDE для STM32 System Workbench for STM32 Лично я перешел на System Workbench for STM32 |
Установим IDE CooCox CoIDE на Windows
- Качаем и устанавливаем программу CooCox (CoIDE-1.7.8.exe) На момент написания статьи была доступна версия 2.0 Бета. Но бета-версиям я стараюсь не пользоваться, поэтому в примерах будет фигурировать версия 1.7.8.
- Качаем и устанавливаем GCC (gcc-arm-none-eabi-5_3-2016q1-20160330-win32.exe)
Первая программа
Выполняем пункт меню Project — New
Указываем имя проекта:
В репозитории выбираем какие именно модули мы будем использовать:
Открываем main.c і набираем следующий код программы:
Компилируем (Project-Build)
При первой компиляции IDE может запросить указать местонахождение компилятора.
Надо корректно указать место, куда был установлен GCC.
После удачной компиляции заливаем программу в микроконтроллер. Эта программа будет мигать светодиодом на плате. Как залить программу в микроконтроллер мы рассматривали в предыдущей статье.
Если Вы будете заливать прошивку через UART с помощью UART-USB переходника, файл для заливки найдете в директории: C:\CooCox\CoIDE\workspace\Example_GPIO\Example_GPIO\Debug\bin\Example_GPIO.bin
Если у Вас есть установленный ST-Link программатор, программу в микроконтроллер можно залить прямо с IDE (Flash — Program Download).
- Запустить STM32 ST-LINK Utility и выполнить Frimware update.
- Скопировать файл STLinkUSBDriver.dll из папки C:\Program Files\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility в папку C:\CooCox\CoIDE\bin после чего перезапустить CooCox IDE
Некоторые настройки IDE и параметры компилятора
Repository
Здесь мы выбираем библиотеки, которые необходимы для нашего проекта. При этом IDE копирует в папку stm_lib вашего проекта нужные файлы.
Конфигурация проекта
Закладка Compile
в этой закладке устанавливаются ключи компилятора. Мы сюда еще будем возвращаться, а пока обратим внимание на поле Optimization. Это поле задает параметр оптимизации для компилятора. Об оптимизации будет отдельный разговор, пока Вам нужно усвоить, что оптимизация Optimizate Size (-Os) максимально уменьшает объем скомпилированных программ. Но при этом компилятор может выбросить (оптимизировать) некоторые операции, и программа может работать не так, как Вам бы хотелось. Поэтому, на первых этапах, я не рекомендую использовать этот метод оптимизации. Установите Optimizate (-O1).
Закладка Link
В этой закладке пока нас интересует только поле Library и Linked Libraries. Если Вы будете использовать стандартные библиотеки С, например библиотеку математических функций math Вам нужно будет выбрать "Use base C Library". Если этого не сделать, то компилятор выдаст ошибку.
Закладка Output
Здесь указываются куда складывать скомпилированные файлы и в каких форматах.
Закладка User
Пока в ней мы ничего делать не будем.
Закладка Debugger
В этой закладке устанавливаются параметры дебаггера. Поскольку мы будем использовать ST-Link, здесь ничего менять не придется.
Закладка Download
Здесь устанавливаются параметры загрузки программы в микроконтроллер. Здесь нам тоже ничего менять не надо.
Дебаггер
У Вас есть следующие кнопки для управления дебаггером.
Поэкспериментируйте с ними, чтобы понять как они работают.
В закладке Variables можете наблюдать за значением переменных.
Также можно подвести курсор к переменной и наблюдать в всплывающей подсказке ее значение
Если установить Breackpoint (меню Debug — Todggle Breackpoint) на нужные строки в коде, во время выполнения программы дебаггер будет останавливаться на установленных Breackpoint-ах.
Теперь, после первого знакомства с IDE, можно перейти непосредственно к изучению микроконтроллера STM32F103 и написания своих программ.
Источник: