Coocox: CooCox. Текущее состояние дел. / CoIDE / Pluslab

CooCox CoIDE

Высокоинтегрированная программная среда, предназначенная для разработки кода микроконтроллеров архитектуры ARM.

CooCox CoIDE является одним из самых простых и быстрых в плане установки, освоения и настройки решений, позволяющим даже начинающим пользователям добиваться в нем существенных результатов. Успешный старт первых проектов обеспечивает мастер, помогающий пройти через все основные этапы разработки путем ответов на простые вопросы. Качественно сделанная среда CooCox CoIDE позволяет загружать исходный код программы, редактировать его, проводить компиляцию (сторонними средствами), прошивать контроллер и проводить отладку.

Программа основана на базе Eclipse и имеет все ее достоинства. Редактор кода включает в себя подсветку синтаксиса и всплывающие подсказки. Присутствуют функции глобальной замены переменной и предложения вариантов окончания кода. Среда поддерживает микроконтроллеры серии ST, а также ряд других семейств: Atmel, Holtek, Freescale, Nuvoton, NXP, Energy Micro, Texas Instruments и некоторые другие. Список чипов постоянно увеличивается с каждой версией программы. Встроенный дебаггер ST-Link поддерживает все основные режимы отладки.

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

Первым из недостатков CooCox CoIDE стоит отметить отсутствие компилятора GCC, который нужно скачать и установить отдельно. А после этого в настройках CoIDE необходимо указать правильный путь к нему. Для серии ARM существует несколько вариантов компиляторов с различными наборами вспомогательных средств. По умолчанию CooCox CoIDE разрабатывалась для взаимодействия с ARM GCC.

Пути к файлам проекта жестко прописываются в программе. Простое перемещение папки с проектом приведет к тому, что проект не соберётся. Поэтому пути необходимо редактировать вручную в файлах. Скорее всего, профессиональным разработчикам программа покажется слишком простой, в ней также отсутствует возможность тонких настроек.

Данная среда разработки совершенно бесплатна и имеет открытый код. Для получения доступа к скачиванию необходимо пройти простую процедуру регистрации. Также программу можно закачать через предварительно установленный менеджер CoCenter, который в дальнейшем будет оповещать обо всех обновлениях и дает возможность установки дополнительных утилит разработчика. Среди них стоит отметить собственную встраиваемую операционную систему для работы с микроконтроллерами CooCox CoOS, софт для программирования Flash-памяти CooCox CoFlash, а также инструмент, упрощающий конфигурирование портов контроллеров CooCox CoSmart. Устанавливать CoIDE рекомендуется в каталог без русских букв, без пробелов, а лучше всего в предлагаемый по умолчанию вариант.

Данную программу создала команда из двадцати разработчиков под названием CooCox, входящих с 2011 года в состав международной компании Embest Technology. Штаб-квартира команды расположена в городе Шэньчжэне (Китай). Группа возникла в 2009 году на базе Уханьского Технологического Университета.

Программа CooCox CoIDE создана на английском языке и не имеет русификатора.

Рабочая платформа рассматриваемой среды разработки – операционные системы Windows XP (необходим SP3), Vista (SP2), 7. Для установки CoIDE в Windows XP желательна версия Professional, так как в Home Edition не работает режим отладки. Способы решения этой проблемы описаны на форуме CooCox. Кроме этого, возможна работа с программой в среде Linux с помощью Wine. Однако функции отладки и записи в микроконтроллер будут недоступны.

Официальный сайт CooCox CoIDE: http://www.coocox.org

Скачать CooCox CoIDE

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

Обсуждение программы на форуме

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 оказался рабочей лошадкой. Причем времени на проверку я затратил намного меньше, чем на описание того что делал.

 

 

 

Настройка CoIDE с помощью инструментов GNU

В течение некоторого времени я использовал инструменты Codebench ARM GCC для разработки программного обеспечения для микроконтроллеров ARM. В качестве IDE я использовал обычный Eclipse, который пришлось настраивать самостоятельно. Это сработало довольно хорошо, и в этом нет ничего плохого. В любом случае, иногда немного раздражает следить за конфигурациями и ручными настройками. Поэтому я решил попробовать CooCox IDE, которая утверждает, что она бесплатная и открытая. Кажется, он уже поддерживает все микроконтроллеры, которые мне нравятся.

Наряду с этим изменением я также перехожу на другую коллекцию инструментов GCC. Бесплатные инструменты Codebench великолепны, но, с другой стороны, есть некоторые ограничения. Один из них — время выпуска. Они выпускают свои бесплатные инструменты два раза в год, поэтому обновления и другие улучшения не достигаются так быстро, как вы ожидаете.
Еще одна вещь, которая меня беспокоит — отключена функция жесткого плавания. Если вы хотите воспользоваться преимуществами модуля с плавающей запятой в Cortex-M4, то вы застряли. Если вы не используете аппаратный модуль с плавающей запятой, этот инструмент работает нормально, и вы можете придерживаться его. В любом случае, я бы не сказал, что мне нравятся ограничения, особенно с бесплатными инструментами, поэтому я переключаюсь на инструменты GCC с сайта launchpad.net. Он существует уже некоторое время и кажется довольно популярным среди разработчиков.

Установка инструментов GCC

Загрузите последнюю версию с веб-сайта launchpad.net. Если вы, как и я, пользователь Windows, выберите файл …xx-win32.exe. Потом бегом устанавливать. Шаги установки довольно интуитивны. Я предлагаю установить его в стандартный каталог, где имя без пробелов, а не путь по умолчанию.

Это может предотвратить проблемы, которые могут возникнуть из-за имен папок.

После завершения установки вам будет предложено добавить путь к переменной среды. Это необходимо, если вы хотите запустить gcc из любого места. Есть два варианта — запустить gccvar.bat или позволить это сделать установщику:

Инструменты установлены. Теперь установите CooCox IDE.

Установка CooCox IDE

CooCox IDE не поставляется со встроенным компилятором; вот почему мы сначала установили инструменты GCC. Так что зайдите на сайт и загрузите последнюю версию CoIDE. Есть несколько вариантов — один из них — использовать CoCenter, который позаботится об этом процессе. Другой вариант — загрузить весь установочный файл, что я сейчас и делаю. Установочный файл довольно тяжелый — ~ 360 МБ. Установите программное обеспечение, так как программа установки интуитивно понятна. При появлении запроса выберите установку CoCenter, который позаботится об обновлении программного обеспечения и другом обслуживании:

Настройка первого проекта с CoIDE

Сначала нужно при запуске CoIDE указать, где установлены инструменты GCC. Для этого перейдите в меню Project->Select Toolchain Path.

Затем введите путь к месту, где находится arm-none-eabi-gcc.exe:

Так что ничего нового не могу сказать. В любом случае, я хотел бы скомпилировать один из моих текущих файлов проекта, которые были опубликованы ранее. Давайте возьмем один из наших последних примеров от STM32F103ZET6. Прежде всего, давайте создадим новый проект и введем имя проекта и путь:

Затем во втором окне выбираем

Выбираем микросхему в качестве цели:

Далее выбираем из списка нашу конкретную микросхему:

И нажимаем Finish. Вы попадете в окно разработки проекта. Теперь все становится захватывающим и довольно удобным. Мы видим новую вкладку с именем репозиторий, где мы можем выбрать такие библиотеки, как CMSIS и Peripheral. Все, что вам нужно, это установить флажки, которые будут использоваться. Впервые проверенные компоненты будут предложены для загрузки. Таким образом, вещи поддерживаются в актуальном состоянии. Но имейте в виду, что большинство элементов разрабатываются или обновляются пользователями сообщества. Так что если вы не очень уверены, то добавьте в дерево проекта свой. В любом случае, давайте выберем CMSIS3.2. И периферийных библиотек, которые использовались в этом проекте:

Далее нужно импортировать наши написанные драйвера для кнопок, ЖКИ, светодиодов, тач, USART и др. Для этого нажимаем добавить файлы, перетащив папку Drivers в дереве проекта. Ссылка на файлы будет создана. Кроме того, при необходимости добавьте другие исходные файлы.

После того, как файлы включены, вы можете изменить настройки проекта, войдя в меню Вид->Конфигурация , где вы можете изменить параметры компиляции, уровень оптимизации, компоновщик, отладчик. После того, как вы настроены, нажмите кнопку «Создать». Вы должны скомпилировать и получить сообщение об успешной сборке:

Если вы подключили кабель к плате и выбрали правильный инструмент в меню конфигурации, вы можете загрузить двоичный файл на флэш-память и он заработает. Кроме того, вы можете запустить отладчик, если вы подключили один из ваших интерфейсов отладки, например ST-Link или J-Link.

В итоге должен сказать, что CoIDE работает очень хорошо. Многие вещи, которые мне приходилось делать вручную, он делал автоматически. В несколько кликов можно выбрать нужные библиотеки, настроить отладчик. Растет число рабочих примеров, драйверов и библиотек. Сообщество вносит большой вклад, добавляя и обновляя библиотеки, драйверы. Все, что вам нужно, это использовать их. Единственным недостатком этой IDE является то, что она поддерживает ограниченное количество устройств и не поспевает за новыми. Например, до сих пор нет поддержки микроконтроллеров серии TI Tiva, пришедших на смену серии LM. Таким образом, вы не можете создать проект в этой IDE для Tiva C Launchpad. Но если вы следите за форумом, вы можете обнаружить, что это происходит.

Итак, если ваше устройство есть в списке, я думаю, что CoIDE — отличная IDE на основе Eclipse для ваших проектов. Если нет, используйте командную строку или используйте другую IDE и установите все самостоятельно.

Вы можете скачать файлы проекта здесь (STM32touch_CoIDE.zip), если хотите попробовать этот инструмент.

stm32 — ошибка coocox при отладке: Ошибка: не удалось открыть файл флеш-драйвера

\$\начало группы\$

Я получил сообщение об ошибке при нажатии кнопки отладки на CooCox CoIDE Версия: 2.0.6 Идентификатор сборки: 20170117-2.0.6.

это консольное сообщение:

 C:\CooCox\CoIDE_V2Beta>"C:/CooCox/CoIDE_V2Beta/bin\coflash.exe" программа STM32F100RBT6B "C:/Users/Peyman/CoIDE/workspace/F100-Scartch/F100- Scartch/Debug/bin/F100-Scartch.elf" --adapter-name=ST-Link --port=SWD --adapter-clk=100000 --erase=all --driver="C:/Users/Peyman/ AppData/Roaming/CooCox/CoIDE/config/flash/coocox-flash/coide_stm32f1xx_md_128k/stm32f10x_md_128. elf;"
Ошибка: Не удалось открыть файл прошивальщика
Загрузка программы не удалась!
 

Только что проверил другие скорости. и я использую версию 2 st-link, встроенную в плату STM32VLDiscovery.

  • стм32
  • иде
\$\конечная группа\$

5

\$\начало группы\$

Слава Богу, это работает, если изменить некоторые настройки. на вкладке «Конфигурация-> загрузка» просто снимите флажок «Автоматическая загрузка перед отладкой», как показано на рисунке ниже:

И наконец:

\$\конечная группа\$

1

\$\начало группы\$

У меня не работает решение выше. У меня была такая же проблема, но в моем случае команда, автоматически выполняемая в терминале, была

.

Цитата Программа «C:/CooCox/CoIDE_V2Beta/bin\coflash.exe» STM32F407VG «C:/..path../ABT/Debug/bin/ABT.elf» —adapter-name=ST-Link —port=SWD —adapter-clk=1000000 —erase=affected —reset=SYSRESETREQ —driver=»C:/. .path../AppData/Roaming/CooCox/CoIDE/config/flash/stm32f4xx_1024.elf»

Я обнаружил, что stm32f4xx_1024.elf находится в подкаталоге CooCox/CoIDE/config/flash/

Быстрое решение: скопируйте и вставьте stm32f4xx_1024.elf из подкаталога по правому пути

\$\конечная группа\$

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя адрес электронной почты и пароль

Опубликовать как гость

Электронная почта

Требуется, но никогда не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

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

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

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