8-900-374-94-44
[email protected]
Slide Image
Меню

Coocox stm32 – Программирование STM32. Настройка Coocox IDE + STM32CubeMX — ITWORKCLUB

CooCox CoIDE — первый запуск, первый опыт.

После установки CooCox CoIDE (http://firsthand.ru/node/302/), компилятора GCC ARM Embedded (http://firsthand.ru/node/301/) и утилиты STM32 ST-Link Utility с драйвером для ST-LINK/V2 (http://firsthand.ru/node/300/) делаем первый запуск данной среды программирования (или toolchain) для микроконтроллеров ARM Cortex и получаем первый опыт использования.

Сначала запустим CoCenter и посмотрим что же это такое, и насколько это мне может пригодиться.

 

CoCenter оказался менеджером загрузок и обновлений. Из CoCenter можно запускать программы, устанавливать и удалять. 

В списке CoCenter находиться:

  • CooCox CoIDE,
  • CooCox CoFlash,
  • CooCox CoSmart,
  • CooCox CoOS,
  • CooCox MDK Plugin 
  • CooCox ColinkEx USB Driver

CooCox CoIDE — это уже установлено.

CooCox CoFlash — программатор для отладчика -программатора CoLink. В моем случае не нужен. На плате STM32F4 Discovery уже есть программатор-отладчик STM32 ST-Link/V2. 

CooCox CoSmart — конфигуратор выводов микроконтроллеров. Среди поддерживаемых микроконтроллеров, нужного мне STM32F4VG пока нет, значит мне этот конфигуратор пока не нужен.

CooCox CoOS — операционная система реального времени. Штука хорошая, но STM32F4VG пока не поддерживается и примеров для STM32F4 нет.

CooCox MDK Plugin и CooCox ColinkEx USB Driver нужны для отладчика -программатора CoLink. То есть, мне это пока не понадобиться.

Для моей отладочной платы STM32F4 Discovery данный менеджер CoCenter может пригодиться только в плане получения новых обновлений. Не более.

Запускаем CooCox CoIDE.

Красивая такая заставочка. «Висит» относительно долго, пока не запуститься сам CoIDE. В какой то момент даже думал что зависло.

После запуска появляется страничка с приветствием и через какое то время в правом нижнем углу возникает сообщение о доступных обновлениях. Вместе с CoIDE также запустился и CoCenter, который вылез в интернет и получил новости со своего сайта.

Далее нужно настроить Toolchain в виде компилятора. Вообще то странный этот термин toolchain. Им называют и пакет программ и могут назвать одну программу. Хотя если принять перевод toolchain как «инструмент последовательности», то вроде всё логично.

Для настройки toolchain в виде компилятора GCC заходим в меню «Project»

В выпадающем окне выбираем «Select Toolchain Path»

Далее нужно указать папку в которой находиться компилятор

arm-none-eabi-gcc.exe. Я устанавливал компилятор GCC ARM Embedded (http://firsthand.ru/node/301/) и если установка была по умолчанию, то это c:\Program Files\GNU Tools ARM Embedded\4.8 2013q4\bin\

Это пока все настройки.

Теперь остаётся проверить работу. В «Quick Start» выбираем «Create New Project«

В окошке «Project Name» набираем имя пробного проекта. Я набрал «proba«. Единственно, наверно стоит воздержаться от русского и пробелов в имени проекта. Хотя возможно, что CoIDE нормально воспринимает и русский и пробелы, но проверять это пока нет желания.

Нажимаем «Next» и двигаемся дальше.

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

Я выбрал микроконтроллер (зеленый шар с надписью Chip) и нажал Next.

Далее ищем нужный микроконтроллер (STM32F407VG) и жмём «Finish».

Стартовая страница меняется на страницу с репозиторием (Repository), где перечислены базовые компоненты, доступные для использования в созданном проекте.

Слева видим созданный файл main.c. Он практически пустой.

Для того чтобы проверить работу toolchain на базе CoIDE, файл main.c надо чем-то заполнить, создать прошивку для микроконтроллера и загрузить её в микроконтроллер.

При просмотре репозитория, почти в самом низу, нашелся STM32F4-Discovery

. Я поставил галочку и согласился в возникшем окошке, нажав Yes.

Всё что было для STM32F4DISCOVERY добавилось в проект.

Меня интересует в первую очередь порты ввода вывода, В левом верхнем окне я выбрал GPIO. Через секунды в середине появились названия примеров. Изначально их было три. Я нажал на «+ More Example …» и примеров стало больше, но это при условии наличия интернет. Дополнительные примеры наверно скачиваются с сайта CooCox.

Напротив каждого примера есть две короткие ссылки: «view» и «add». При нажатии на view содержимое примера появляется в нижнем среднем окне. Можно посмотреть или что то скопировать.

При нажатии на add данный пример добавляется в проект.

Я выбрал пример в имени которого было STM32F4Discovery и нажал на add. Согласился в возникшем окошке, нажав Yes.

В левом нижнем окне, окне проекта, возникла папочка с названием «example«. В папке файл main.c. Содержимое этого файла можно посмотреть дважды шелкнув на нем мышкой.

Я решил сразу откомпилировать проект и посмотреть что получиться. Работает этот toolchain или не работает. 

Для этого нажал на кнопочку под «Project» с изображением квадратика со стрелками и возникающей надписью «Build (F7)».

Через несколько секунд думания CoIDE выдало красное сообщение:

BUILD FAILED

Output filename conflict: main.o would be produced from C:\CooCox\CoIDE\workspace\proba\example\main.c and main.c
Total time: 2 seconds

Которое сообщает, что в проекте два файла main.c и компилятор не знает какой использовать.

Я удалил почти пустой main.c, который появился сразу после создания проекта.

Файл main.c в папке example оставил.

И снова откомпилировал проект, нажав на кнопку Build (F7)

В этот раз ошибок уже не было и сообщения были приятными для глаз.

Program Size:
      text       data        bss        dec        hex    filename
      2408         52       2180       4640       1220    proba.elf

BUILD SUCCESSFUL
Total time: 11 seconds

Ну а дальше пошла цепь, можно сказать, случайных событий. STM32F4Discovery был у меня подключен и моргал светодиодиками.

Я же, после получения результата компиляции, думал что делать дальше, что бы проверить работу и ничего не испортить. Как то давно, при программировании Atmel-овского микроконтроллера, я случайно установил битик защиты и этот микроконтроллер перестал «видиться» через JTAG. Не хотелось здесь сделать что нибудь подобное.

Но пока я размышлял, как то невзначай мышкой нажал на «таракана». Это была кнопка «Start Debug«. Далее я просто сидел и наблюдал за происходящим.

Программа загрузилась в микроконтроллер STM32F4Discovery и микроконтроллер у меня перестал моргать.

На панели CoIDE появились новые кнопочки.

Начал нажимать на кнопочку пошагового исполнения без захода в подпрограммы Step Over (F10)

По мере продвижения по коду, в центральном окошке, светодиодики начали загораться. Микроконтроллер был «живой» и рабочий.

Далее нажав на «зеленый треугольник» Run (F5), я смотрел как огоньги загораются и гаснут, загораются и гаснут. То есть, пример был откомпилирован и нормально загружен в микроконтроллер.

Интересные ощущения, когда вот так сразу начинает что то работать.

ПОЛУЧИЛОСЬ!!!

Toolchain на базе CooCox CoIDE оказался рабочей лошадкой. Причем времени на проверку я затратил намного меньше, чем на описание того что делал.

 

 

 

firsthand.ru

CooCox, он же Кокос, или Продолжение истории с STM32

Что хочется сказать после знакомства с контроллерами STM32, так это их замороченость. Складывается впечатление, что производители приложили все усилия, чтобы программировать сие замечательное устройство было жутко трудно. Потому даже после третьего и четвертого пробного проекта я продолжил поиски инструментов разработки. В поле зрения попал CooCox.

Чем подкупает CooCox CoIDE — простотой. А на первых порах это важно, это чтобы не отпугнуть и без того напуганных обладателей нового устройства. Для запуска первого проекта достаточно ответить на банальные вопросы мастера, скопировать код какого-либо примера в main.c — и все работает. Ну, почти все. На это «почти» я и хочу обратить внимание.

Как запускал

Пока что я не встречал такой среды разработки, которая бы начала работать с первого раза. «Кокосовый КоАйдер», как я его называю, тоже не был исключением (речь пойдет о версии 1.4.0, скачанной с официального сайта coocox.org). Первое, что нужно для его работы — компилятор. Да, я читал написанное красным на сайте (

Before using CoIDE, you need to set GCC Toolchain first), но разве наш человек не попробует без предостережений? Проверил. Не работает. Ругается.

В той же ссылке, где выделено красным, скачал архив с GCC-компилятором. Распаковал (пожалуй, неважно куда, но я сделал папку в Program Files). В Кокосе открыл меню Project — Select Toolchain Path. Здесь, как оказалось, нужно указать не просто папку, куда был распакован архив, а папку с бинарными файлами (у меня — F:\Program Files\arm-2011.03-coocox\bin), где лежит в том числе и g++.exe. Еще можно причесать параметры компиляции (Project — Configuration), но попервах лучше этого не делать. Так, изменив параметр Optimization можно убить пустые циклы, а значит и программные задержки (проверил, чистая правда).

Как настраивал

При первом старте я выбрал библиотеки C Library, GPIO и RCC. Открыл пустой main.c и подумал: а с чего начать? На вкладке Components слева в глаза бросается пункт «GPIO (with 4 examples)». Замечательно. GPIO blink, куда ж без него. Скопировал весь код и всавил его в свой main.c вместо всего, что там есть. Не компилируется. Нет главной процедуры main. Конечно, нужно было бы добавить этот пример, а не копипастить, но лечится это легко: процедуру GPIO_Blink нужно переименовать на main.

F7. Проект скомпилирован. Ура! Пробую залить на плату. Ругается. Не работает.

Меню Debug — Debug Configuration. В дереве открываю Имя-проекта.configuration. Появляется страница со вкладками Debugger и Download. Здесь нужно выбрать правильный адаптер (у меня ST-Link), порт SWD. Закрываю. Зеленая кнопочка Download Code to Flash — и вот оно, счастье!

Отладка. При старте ругается на непонятный каталог Program — и тут я понимаю, что лучше было установить Кокос в каталог без пробелов, русских букв и вообще в C:/COOCOX/. Не смотря на 21-й век на дворе. Но ошибочка никоим образом на отладку не повлияла, и по программе можно смело шагать по F10/F11.

Выводы

Пожалуй, старт с Дискавери под Кокос КоАйдер — самое быстрое и визуально понятное решение, если у вас Windows. По большому счету Кейловский uVision тоже ничего, но с ним повозиться нужно немного больше, да и редактор в нем лично мне не понравился. Деревянный какой-то по сравнению с Кокосом.

P.S.: Описанная версия CooCox успешно работает и под Линуксом (Ubuntu 11.10 + Xfce 4.8 + Wine 1.2.3) за исключением отладки и заливки в контроллер.

x32.dotogo.ru

CooCox CoIDE бесплатный инструмент для ARM Cortex

CooCox CoIDE — это Бесплатная среда разработки для ARM Cortex микроконтроллеров. CoIDE имеет все необходимые инструменты для создания микроконтроллерных программ высокого качества. Страница в интернет: coocox.org/CooCox_CoIDE.htm

На сайте заявлено, что работает CooCox CoIDE на операционных системах Windows XP SP3, Windows Vista, Windows 7

Поддерживаются* микроконтроллеры ARM Cortex фирм производителей: Atmel, Energy Micro, Freescale, Holtek, NXP, Nuvoton, ST, TI, Toshiba

Atmel

  •  AT91SAM3U4E   AT91SAM3U4C
  •  AT91SAM3U2E   AT91SAM3U2C
  •  AT91SAM3U1E   AT91SAM3U1C

Energy Micro

  • EFM32G200F16   EFM32G200F32    EFM32G200F64   
  • EFM32G210F128
  • EFM32G230F128    EFM32G230F32    EFM32G230F64   
  • EFM32G280F128    EFM32G280F32    EFM32G280F64    
  • EFM32G290F128    EFM32G290F32    EFM32G290F64
  • EFM32G840F128    EFM32G840F64    EFM32G840F32
  • EFM32G880F128    EFM32G880F64    EFM32G880F32
  • EFM32G890F128    EFM32G890F64    EFM32G890F32

Freescale

  • MKL04Z16VFK4, MKL04Z16VFM4, MKL04Z16VLC4, MKL04Z16VLF4, MKL04Z32VFK4, MKL04Z32VFM4, MKL04Z32VLC4, MKL04Z32VLF4, MKL04Z8VFK4, MKL04Z8VFM4, MKL04Z8VLC4,
  • MKL05Z16VFK4, MKL05Z16VFM4, MKL05Z16VLC4, MKL05Z16VLF4, MKL05Z32VFK4, MKL05Z32VFM4, MKL05Z32VLC4, MKL05Z32VLF4, MKL05Z8VFK4, MKL05Z8VFM4, MKL05Z8VLC4,
  • MKL14Z32VFM4, MKL14Z32VFT4, MKL14Z32VLh5, MKL14Z32VLK4, MKL14Z64VFM4, MKL14Z64VFT4, MKL14Z64VLh5, MKL14Z64VLK4,
  • MKL15Z128VFM4, MKL15Z128VFT4, MKL15Z128VLh5, MKL15Z128VLK4, MKL15Z32VFM4, MKL15Z32VFT4, MKL15Z32VLh5, MKL15Z32VLK4, MKL15Z64VFM4, MKL15Z64VFT4, MKL15Z64VLh5, MKL15Z64VLK4,
  • MKL24Z32VFM4, MKL24Z32VFT4, MKL24Z32VLh5, MKL24Z32VLK4, MKL24Z64VFM4, MKL24Z64VFT4, MKL24Z64VLh5, MKL24Z64VLK4,
  • MKL25Z128VFM4, MKL25Z128VFT4, MKL25Z128VLh5, MKL25Z128VLK4, MKL25Z32VFM4, MKL25Z32VFT4, MKL25Z32VLh5, MKL25Z32VLK4, MKL25Z64VFM4, MKL25Z64VFT4, MKL25Z64VLh5, MKL25Z64VLK4

Holtek

  • HT32F1251, HT32F1251B, HT32F1252, HT32F1253
  • HT32F1755, HT32F1765, HT32F2755

NXP

  • LPC1111x101   LPC1111x201   LPC1112x101   LPC1112x201
  • LPC1113x201   LPC1113x301   LPC1114x201   LPC1114x301
  • LPC11C14x301   LPC11C12x301
  • LPC1224x101   LPC1224x121   LPC1225x301   LPC1225x321   LPC1226x301   LPC1227x301
  • LPC1311   LPC1313   LPC1342   LPC1343
  • LPC1751   LPC1752   LPC1754   LPC1756   LPC1758   LPC1759
  • LPC1763   LPC1764   LPC1765   LPC1766   LPC1767   LPC1768   LPC1769

Nuvoton

  • NUC100LC1BN, NUC100LD1BN, NUC100LD2BN, NUC100RC1BN, NUC100RD1BN, NUC100RD2BN
  • NUC100LD3AN, NUC100LE3AN, NUC100RD3AN, NUC100RE3AN, NUC100VD2AN, NUC100VD3AN, NUC100VE3AN
  • NUC120LC1BN, NUC120LD1BN, NUC120LD2BN, NUC120RC1BN, NUC120RD1BN, NUC120RD2BN
  • NUC120LD3AN, NUC120LE3AN, NUC120RD3AN, NUC120RE3AN, NUC120VD2AN, NUC120VD3AN, NUC120VE3AN
  • NUC122LC1AN, NUC122LD2AN, NUC122SC1AN, NUC122SD2AN, NUC122ZC1AN, NUC122ZD2AN
  • NUC123LC2AN1, NUC123LD4AN0, NUC123SC2AN1, NUC123SD4AN0, NUC123ZC2AN1, NUC123ZD4AN0
  • NUC130LC1CN, NUC130LD2CN, NUC130LE3CN, NUC130RC1CN, NUC130RD2CN, NUC130RE3CN, NUC130VE3CN
  • NUC140LC1CN, NUC140LD2CN, NUC140LE3CN, NUC140RC1CN, NUC140RD2CN, NUC140RE3CN, NUC140VE3CN
  • M0516LBN, M0516ZBN, M052LBN, M052ZBN, M054LBN, M054ZBN, M058LBN, M058ZBN
  • M058SZAN, M058SLAN, M058SSAN
  • MINI51LDE, MINI51ZDE, MINI52LDE, MINI52ZDE, MINI54LDE, MINI54ZDE, MINI51FDE, MINI52FDE, MINI54FDE, MINI51TDE, MINI52TDE, MINI54TDE
  • NANO100KC2BN, NANO100KD2BN, NANO100KD3BN, NANO100KE3BN, NANO100LC2BN, NANO100LD2BN, NANO100LD3BN, NANO100LE3BN, NANO100SC2BN, NANO100SD2BN, ANO100SD3BN, NANO100SE3BN
  • NANO110KC2BN, NANO110KD2BN, NANO110KD3BN, NANO110KE3BN, NANO110SC2BN, NANO110SD2BN, NANO110SD3BN, NANO110SE3BN
  • NANO120KC2BN, NANO120KD2BN, NANO120KD3BN, NANO120KE3BN, NANO120LC2BN, NANO120LD2BN, NANO120LD3BN, NANO120LE3BN, NANO120SC2BN, NANO120SD2BN, NANO120SD3BN, NANO120SE3BN
  • NANO130KC2BN, NANO130KD2BN, NANO130KD3BN, NANO130KE3BN, NANO130SC2BN, NANO130SD2BN, NANO130SD3BN, NANO130SE3BN
  • NUC200LC2AN, NUC200LD2AN, NUC200LE3AN, NUC200SC2AN, NUC200SD2AN, NUC200SE3AN, NUC200VE3AN
  • NUC220LC2AN, NUC220LD2AN, NUC220LE3AN, NUC220SC2AN, NUC220SD2AN, NUC220SE3AN, NUC220VE3AN

ST

  • STM32F030R8T6, STM32F030C6T6, STM32F030C8T6, STM32F030F4P6, STM32F030K6T6
  • STM32F050C4, STM32F050C6, STM32F050F4, STM32F050F6, STM32F050G4, STM32F050G6, STM32F050K4, STM32F050K6
  • STM32F051C4, STM32F051C6, STM32F051C8, STM32F051K4, STM32F051K6, STM32F051K8, STM32F051R4, STM32F051R6, STM32F051R8,
  • STM32F052C8, STM32F052CB, STM32F052R8, STM32F052RB, STM32F052V8, STM32F052VB
  • STM32F100C4, STM32F100C6, STM32F100C8, STM32F100CB,
  • STM32F100R4, STM32F100R6, STM32F100R8, STM32F100RB, STM32F100RC, STM32F100RD, STM32F100RE,
  • STM32F100V8, STM32F100VB, STM32F100VC, STM32F100VD, STM32F100VE,
  • STM32F100ZC, STM32F100ZD, STM32F100ZE,
  • STM32F101C4, STM32F101C6, STM32F101C8, STM32F101CB,
  • STM32F101R4, STM32F101R6, STM32F101R8, STM32F101RB, STM32F101RC, STM32F101RD, STM32F101RE, STM32F101RF,
  • STM32F101T4, STM32F101T6, STM32F101T8, STM32F101TB,
  • STM32F101V8, STM32F101VB, STM32F101VC, STM32F101VD, STM32F101VE, STM32F101VF, STM32F101VG,
  • STM32F101ZC, STM32F101ZD, STM32F101ZE,
  • STM32F102C4, STM32F102C6, STM32F102C8, STM32F102CB,
  • STM32F102R4, STM32F102R6, STM32F102R8, STM32F102RB,
  • STM32F103C4, STM32F103C6, STM32F103C8, STM32F103CB,
  • STM32F103R4, STM32F103R6, STM32F103R8, STM32F103RB, STM32F103RC, STM32F103RD, STM32F103RE, STM32F103RF, STM32F103RG,
  • STM32F103T4, STM32F103T6, STM32F103T8, STM32F103TB,
  • STM32F103V8, STM32F103VB, STM32F103VC, STM32F103VD, STM32F103VE, STM32F103VF, STM32F103VG,
  • STM32F103ZC, STM32F103ZD, STM32F103ZE, STM32F103ZF, STM32F103ZG,
  • STM32F105R8, STM32F105RB, STM32F105RC, STM32F105V8, STM32F105VB, STM32F105VC,
  • STM32F107RB, STM32F107RC, STM32F107VB, STM32F107VC
  • STM32F401CB, STM32F401CC, STM32F401RB, STM32F401RC, STM32F401VB, STM32F401VC
  • STM32F405OE, STM32F405OG, STM32F405RG, STM32F405VG, STM32F405ZG
  • STM32F407IE, STM32F407IG, STM32F407VE, STM32F407VG, STM32F407ZE, STM32F407ZG,
  • STM32F415OG, STM32F415RG, STM32F415VG, STM32F415ZG
  • STM32F417IE, STM32F417IG, STM32F417VE, STM32F417VG, STM32F417ZE, STM32F417ZG

TI

  • LM3S102   LM3S316   LM3S601   LM3S617   LM3S811   LM3S818
  • LM3S1958   LM3S1968
  • LM3S2110   LM3S2276   LM3S2776   LM3S2793   LM3S2965   LM3S2B93
  • LM3S3748   LM3S3W26
  • LM3S5749   LM3S5B91
  • LM3S6432   LM3S6537   LM3S6610   LM3S6911   LM3S6918   LM3S6965
  • LM3S8962   LM3S8971
  • LM3S9792   LM3S9B90   LM3S9B92   LM3S9B96   LM3S9L97

Toshiba

  • TMPM061FWFG
  • TMPM341FDXBG, TMPM341FYXBG, TMPM342FYXBG
  • TMPM330FDFG, TMPM330FWFG, TMPM330FYFG, TMPM332FWUG, TMPM333FDFG, TMPM333FWFG, TMPM333FYFG
  • TMPM361F10FG, TMPM361FDFG, TMPM361FYFG, TMPM362F10FG, TMPM363F10FG, TMPM364F10FG, TMPM365FWXBG, TMPM365FYXBG, TMPM366FDFG, TMPM366FDXBG, TMPM366FWFG, TMPM366FWXBG, TMPM366FYFG, TMPM366FYXBG, TMPM367FDFG, TMPM367FDXBG, TMPM367FWFG, TMPM367FWXBG, TMPM367FYFG, TMPM367FYXBG, TMPM368FDFG, TMPM368FDXBG, TMPM368FWFG, TMPM368FWXBG, TMPM368FYFG, TMPM368FYXBG, TMPM369FDFG, TMPM369FDXBG, TMPM369FYFG, TMPM369FYXBG
  • TMPM370FYDFG, TMPM370FYFG, TMPM372FWFG, TMPM372FWUG, TMPM373FWDUG, TMPM374FWUG, TMPM375FSDMG, TMPM376FDDFG, TMPM376FDFG, TMPM377FYDFG, TMPM377FYFG

*Этот список микроконтроллеров актуален на момент написания или последней редакции данного обзора.

Среди данного списка есть то, что мне нужно. Это STM32F407VG.

Также CooCox CoIDE умеет программировать и есть возможность отладки используя ST-Link или ST-Link/V2. А ST-Link/V2 уже есть на плате STM32F4 Discovery.

Для того чтобы скачать установочный файл, нужно будет зарегистрироваться. Это не сложно.

Для закачки предлагается два варианта

  • Download through CoCenter (Recommend)
  • Download the latest CoIDE directly

Это через CoCenter (рекомендуется) или просто CoIDE.

Я загружал CoIDE, но в процессе установки просмотрел галочку и CoCenter тоже установился. Изначально я не хотел устанавливать CoCenter, я не видел в нем необходимости.

Еще CooCox IDE не имеет своего компилятора. Об этом предупреждает надпись.

Note: CoIDE has not integrated GCC compiler. Before using CoIDE, you need to set GCC Toolchain first.

Поэтому перед тем как использовать CoIDE необходимо установить компилятор. Я устанавливал рекомендуемый CooCox компилятор GCC ARM Embedded. Где брал и как устанавливал написано здесь: http://firsthand.ru/node/301/

Можно установить и другой компилятор не ARM GCC, а CodeSourcery GCC. Можно использовать оба компилятора, но следует учитывать что эти компиляторы по разному обрабатывают код и проект созданный в одном компиляторе не будет работать с другим. Необходимы будут дополнительные действия для переноса проекта из одного компилятора в другой.

После закачки установочного файла и запуска весь процесс стандартный.

Я устанавливал CoIDE версии 1.7.5

Путь установки оставил по умолчанию. Программы созданные по лицензии GNU довольно часто капризны к именам файлов или папок. Они запросто могут не понимать русский язык или не воспринимать пробел в имени файла или пути к файлу. Поэтому лучше устанавливать такие программы туда, куда они попросятся.

Здесь запрашивается согласие на установку CoCenter. Откровенно говоря я так и не понял чем он мне может пригодиться.

Итоговая информация что и куда устанавливается. Жмем «Install» и ждем окончания установки.

Установка закончена. Теперь нужно настроить, но перед этим необхобимо скачать и установить компилятор. Я устанавливал рекомендуемый для CooCox CoIDE компилятор GCC ARM Embedded. Где брал и как устанавливал написано здесь: http://firsthand.ru/node/301/

Настройка и первый запуск будет описан далее.


 

firsthand.ru

STM32 простой и быстрый старт с CooCox CoIDE « схемопедия

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

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

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

CoCenter представляет собой менеджер ПО, который будет оповещать об обновлениях ПО, а также через который можно будет загружать новые версии. Здесь нас интересует первая строчка CooCox CoIDE – среда разработки, на базе Eclipse, которая помимо STM32 поддерживает кучу других семейств микроконтроллеров: Freescale, Holtek, NXP, Nuvoton, TI, Atmel SAM, Energy Micro и др. С каждой новой версией CoIDE список МК постоянно пополняется. Нажимаем кнопку Download, указываем папку для скачивания и CoCenter начнет скачивание CoIDE. После скачивание появится кнопка «Install», нажимаем ее и устанавливаем CoIDE. После успешной установки запускаем CoIDE:

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

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

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

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

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

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

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

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

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

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

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

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

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

Автор: taliban

shemopedia.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *