Реклама ⓘ
Главная » Микроконтроллеры
Призовой фонд
на апрель 2024 г.
1. 100 руб.
От пользователей

Похожие статьи:


Реклама ⓘ

STM32 простой и быстрый старт с CooCox CoIDE

В данной статье я хотел бы рассказать о начале работы с микроконтроллерами STM32 в бесплатной среде CoIDE, которая основана на Eclipse. В отличии от IAR и других сред разработки, CooCox CoIDE бесплатна и проста в освоении, а также содержит встроенный отладчик ST-Link, что позволяет начинающим изучать STM32 уже через 10 минут заставить вашу плату помигать светодиодом. Если вы еще незнакомы с серией STM32, то рекомендую почитать трилогию об архитектуре STM32, особенностях программирования и прочую полезную информацию.

В качестве STM32 использовалась отладочная плата STM32VLDiscovery доставшаяся нахаляву от фирмы STMicroelectronics с процессором STM32F100RBT6B на борту:

STM32VLDiscovery

Итак приступим. Идем на официальный сайт CooCox и качаем последнюю версию CooCox CoIDE. Для скачивания необходимо зарегистрироваться, регистрация простая и бесплатная. Затем инсталлируем скачанный файл и запускаем.

CooCox CoIDE - среда разработки, на базе Eclipse, которая помимо STM32 поддерживает кучу других семейств микроконтроллеров: Freescale, Holtek, NXP, Nuvoton, TI, Atmel SAM, Energy Micro и др. С каждой новой версией CoIDE список МК постоянно пополняется. После успешной установки CoIDE запускаем:

CoIDE - выбор производителя

Появится стартовое окно Step 1, в котором необходимо выбрать производителя нашего микроконтроллера. Нажимаем ST и переходим к Step 2 (выбор микроконтроллера), в котором необходимо выбрать конкретную модель. У нас STM32F100RBT6B, поэтому нажимаем на соответствующую модель:

CoIDE - выбор чипа

Справа, в окне Help отображаются краткие характеристики каждого чипа. После выбора нужного нам микроконтроллера переходим к третьему шагу Step 3 - к выбору необходимых библиотек для работы:

CoIDE - выбор библиотек

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

Для этого нам понадобится библиотека GPIO, при включении которой, CoIDE попросит создать новый проект. На это предложение нажимаем Yes, указываем папку где будет храниться наш проект и его название. При этом, CoIDE подключит к проекту 3 другие, необходимые для работы библиотеки, а также создаст всю необходимую структуру проекта:

CoIDE - создание проекта

Чем еще хорош CoIDE, это тем, что в нем есть возможность загружать примеры прямо в среду разработки. В вкладке Components вы можете видеть, что почти к каждой библиотеке есть примеры, нажимаем на GPIO (with 4 examples) и видим их:

CoIDE - готовые примеры

Туда можно добавлять и свои примеры. Как видно на скриншоте выше, в примерах уже присутствует код для мигания светодиодом GPIO_Blink. Можно нажать кнопку add и он добавиться в проект, но как подключаемый файл, поэтому мы сделаем по другому просто скопируем весь код примера в файл main.c. Единственное, строку void GPIO_Blink(void) замените на int main(void). Итак, нажимаем F7 (или в меню выбираем Project->Build), чтобы скомпилировать проект и... не тут то было!

GCC Tool Chain

Среде нужен компилятор GCC, а у нас его нет. Поэтому идем на страничку GNU Tools for ARM Embedded Processors, справа выбираем тип вашей ОС и качаем последнюю версию тулчайна. Затем запускаем файл и инсталируем gcc toolchain. Далее, в настройках CoIDE укажем правильный путь к тулчайну:

GCC Tool Chain Path

Опять нажимаем F7 (Project->Build) и видим, что компиляция прошла успешно:

Компиляция проекта

Осталось прошить микроконтроллер. Для этого при помощи USB подключаем нашу плату к компьютеру. Затем, в настройках дебаггера необходимо поставить ST-Link, для этого в меню выбираем Project->Configuration и открываем вкладку Debugger. В выпадающем списке выбираем ST-Link и закрываем окно:

Компиляция проекта

Попробуем прошить МК. В меню выбираем Flash->Program Download (или на панели инструментов щелкаем по соответствующей иконке) и видим, что МК успешно прошит:

Прошивка МК

На плате наблюдаем мигающий светодиод, видео или фото я думаю приводить нет смысла, т.к. все это видели.

Также, в CoIDE работают различные режимы отладки, для этого нажимаем CTRL+F5 (или в меню Debug->Debug):

Отладка в CoIDE

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

Теги:

Опубликована: 0 1
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (21) | Я собрал (0) | Подписаться

0
georg #
Спасибо. Очень полезная публикация.
Ответить
0
Алексей #
Я вот купил STM32F3, а в кокосе нет библиотек для этого девайса. Отдельно все библиотеки скачал, но так хочется, чтобы все было в репозитарии, как это сделать?
Ответить
0
Вася #
Тоже этот вопрос интересует
Ответить
0
Виктор #
Тоже опечалился. Только ждать. Должны появиться либы и под тройку в скором будущем.
Ответить
0
Тоже_Вася) #
Где в кокосе найти адреса расположения переменных?
Ответить
0
Eithan #
В момент прошивки на чип выдает сообщение:
C:\CooCox\CoIDE>"C:/CooCox/CoIDE/bin\coflash.exe" program STM32F100R8 "C:/CooCox/CoIDE/workspace/teesst/teesst/Debug/bin/teesst.elf" --adapter-name=ST-Link --port=SWD --adapter-clk=1000000 --erase=affected --driver="C:/CooCox/CoIDE/flash/STM32F10x_MD_64.elf"
Error: Connect failed, check config and cable connection
Кабель понятно, что подключен.
Ответить
0
Looper #
Вы не могли залочить контроллер? Если могли, то нужно воспользоваться утилитой ST-LINK UTILITY для полной очистки памяти.
Ответить
0
Андрей #
К сожалению STM32F3xx так и не поддерживается CoIDE... Жаль, придется искать что-то другое...
Ответить
0
svs39 #
Плата Ф4ДИСКАВЕРИ. Скомпилил, прошил кокосом, работает - пытаюсь дебаг - пишет Project_does_not_exist. Что может быть? Причем на панели управления исчезли значки компиляции и восстанавливаются перезагрузкой.
Ответить
0
Илья #
Подскажите, как в CoIDE 1.7.6 в дерево проекта добавать целую папку с исходниками. В старых версиях было Add Linked Folder, сейчас найти не могу!
Ответить
0
Mx #
Не могу никак прошить STM32F4-discovery. Пишет Error: Connect failed, check config and cable connection. В чем может быть дело?
Ответить
0
Stepan #
Попробуйте ST-Lint Utility,если получится то драйвер USBstlink...... из ST_link установите в CooCox
Ответить
0
Tester500 #
Если в проект включить исходники библиотеки USB-FS, то есть одна проблемка. Там активно используются вложенные #include. Если в main.c будет #include "hw_config.h", то цепочка будет такой:
hw_config.h->platform_config.h->stm32f10x.h->core_cm3.h
Для просмотра цепочек использую встроенный инструмент view->outline. Причем уже на stm32f10x.h выдается сообщение, что настройки "Scalability" не дают возможности просмотреть такой большой файл. Идем в "Scalability" и убираем галку "Disable editor live parsing". Теперь stm32f10x.h показан, хотя и появится предупреждение. Если теперь добавить в main.c строку:
extern __IO uint32_t length ;
то редактор кокоса ставит пометку "Syntax error". Причем компиляция проходит успешно. Если в main.c добавить #include "core_cm3.h", то редактор снимает эту пометку. Как заставить редактор смотреть вложенные #include я пока не нашел.
PS: это я к тому, что после установки Coocox настройки крутить надо, настроек по умолчанию не хватает. Coocox CoIDE v 1.7.6
Ответить
0
Tester500 #
Нашел.
Project->Properties->C/C++ General -> Indexer
Ставлю галку на "Enable project specific settings"
И на:
"Index unused headers"
После этого редактор не выдает ошибку. Причем, если теперь убрать эти галки, то ошибки все равно не будет. Видимо построенный индекс не удалился и продолжает использоваться.
Ответить
0
Sergiy Str #
Спасибо! Хорошо и подробно объяснил
Ответить
0
Bobby-wobby #
А есть в CooCox программный отладчик?
Ответить
0
yuri #
Во время step3 у меня нет возможности выбрать GPIO, отсутствует Peripheral. Есть только common boot. Не подскажете в чем дело? Плата stm32F407vg
Ответить
0
Андрей #
Какой версии эта среда?
Ответить
0
smack #
Ребята, а кто подскажет почему у меня (ver 178) не удается закачать дополнительные примеры ( по зеленому плюсу- more examples)?
Между прочим не нравится, что в редакторе нет "стрелки назад", т е шаг назад и вперед.
Ответить
0
алексей #
Почему вылазит ошибка [cc] collect2.exe: error: ld returned 1 exit status
Ответить
0
Wlad #
Error: unknown type name 'uint32_t'.
Вот и весь кокос.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется напряжение?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

AVR-программатор USB ASP
AVR-программатор USB ASP
ELM327 OBD II — адаптер с поддержкой CAN Ветрогенератор
вверх