Как стать автором
Обновить

Robotomia.Урок первый. Инсталляция инструментария разработчика CoоСox для ARM микроконтроллеров под Windows. Подсоединение GCC компилятора. Первый проект

Время на прочтение 4 мин
Количество просмотров 44K

Robotomia.Урок первый. Инсталляция инструментария разработчика CoоСox для ARM микроконтроллеров под Windows. Подсоединение GCC компилятора. Первый проект.



Во вводной статье мы выбрали для нашего учебного курса язык программирования Си и Набор средств разработчика для микроконтроллеров с ядром ARM Cortex M0/3/4 – CoоСox.
Данный набор распространяется совершенно бесплатно и имеет открытый код.

Пакет состоит из следующих основных частей:
• CooCox CoIDE – высокоинтегрированная визуальная среда разработки для микроконтроллеров с ядром ARM Cortex M0/3/4.
• CooCox CoSmart – инструмент для облегчения конфигурирования портов микроконтроллера.
• CooCox CoOS – многозадачная операционная система реального времени.
• CooCox Colink / CoLinkEx – инструментарий для аппаратной отладки программ.
• CooCox CoFlash – утилиты для программирования Flash памяти микроконтроллера. Может работать как с графическим интерфейсом, так и из командной строки.
Поначалу разбегаются глаза и кажется, что на инсталляцию уйдёт целый день, но к счастью всё намного проще, поскольку всё необходимое можно загрузить из одного места. Переходим по ссылке производителя нашей платки на страничку, посвящённую загрузке CoCentre: www.brc-electronics.nl/cocenter-installation
Там детально описан процесс начала инсталляции, вот ссылка для его запуска www.coocox.org/Tools/CoCenter-1.4.7.exe
В основном процесс сводится к выбору пути, по которому будут располагаться файлы. В последнем окне Вас спросят хотите ли вы чтобы программа запустилась (launch) сразу после инсталляции. Если вы подтвердите своё согласие галочкой, то центр запустится и справа внизу экрана вы найдёте пиктограмму, по которой необходимо будет кликнуть. Если нет, можно запустить его с рабочего стола.

После этого увидите на экране окно примерно следующего вида:

Нажимаем на все ссылки Download и происходит автоматическая закачка компонентов. Я пробовал установить центр на две разные операционные системы. Windows XP и Windows 7 64 битная версия. На рисунке изображено окно для 64 битной версии. Видно что файл USB драйвера не имеет размера, похоже он просто не найден или пока не существует. Надо разбираться. Во всяком случае, на ноутбуке с Windows 7 он у меня так и не скачался, видимо в результате отладчик запустить на 64 битной версии не получится. Это очень прискорбно. Дальше буду описывать работу примера установки на мой десктоп с Windows XP, там всё идёт гладко.

По мере закачки компонент будут появляться надписи Install, как на картинке выше. После того как всё загрузите, нажимайте на Install сверху вниз. Процесс инсталляции вроде никаких трудностей не вызывает. Ну вот, остался последний шаг перед запуском – необходимо загрузить и инсталлировать собственно сам компилятор языка С, поскольку он не входит в комплект. При работе со средой можно использовать различные версии компиляторов, но разработчик рекомендует GCC стабильной версии 4.6. Скачать его можно здесь launchpad.net/gcc-arm-embedded/+download. Советую скачать последнюю версию gcc-arm-none-eabi-4_6-2012q4-20121016.exe (md5). Инсталляция не вызовет трудностей, только не забудьте запомнить путь, по которому вы делаете установку и поставить галочку в последнем окне, чтобы были прописаны пути к необходимым переменным.

Ну вот, замечательно. Остался пустячок – прописать путь к папке, по которому наша среда будет искать компилятор. Я ставил по адресу, который предлагал компилятор и у меня это c:\Program Files\GNU Tools ARM Embedded\4.6 2012q4\bin.
Теперь запускаем нашу среду разработки CooCox, можно это сделать прямо из CoCenter, нажав там соответсвующий Run. Далее указываем путь, как показано на рисунке ниже, по которому лежат исполняемые файлы компилятора, для моего случая это c:\Program Files\GNU Tools ARM Embedded\4.6 2012q4\bin. Главное не перепутайте с тем bin, который лежит глубже, у меня это c:\Program Files\GNU Tools ARM Embedded\4.6 2012q4\arm-none-eabi\bin. И ещё одна тонкость, перед инсталляцией появится окно выбора языка, мой Вам совет — выбирайте английский ибо читать по русски в альтернативной кодировке удовольствие не для слабонервных.

Теперь, наконец, всё готово к написанию первой программы. Для этого необходимо создать новый проект. Нажимаем Project -> New Project, выбираем имя файла проекта и путь по которому он у нас будет размещён. Далее откроется окно выбора микроконтроллера – выбираем тот, на котором основана наша плата – производитель NXP, серия LPC17xx, микроконтроллер LPC1769, жмыхаем на Finsh.

И тут, на шаге 3, нам открывается окошко для лентяев. В нём можно выбрать, какие готовые модули и библиотеки мы желаем использовать в нашем проекте. Замечательно. Ну разумеется нам потребуются стандартные библиотеки. Ставим галочку напротив “C library”. Что ещё будем использовать? Ну например, I2C. Многие датчики из нашего набора подсоединяются к плате именно по этому двухпроводному интерфейсу. Ставим галочку против I2С и умная среда добавляет нам ещё галочек, без которых данный интерфейс не запустится. Посмотрим, что нам ещё предложили добавить:
1. CMSIS core – системная библиотека
2. Common Header – описание общих библиотечных функций
3. CLKPWR – управление подключением питания и тактовой частоты к периферийным модулям. Дело в том, что в современных микроконтроллерах для экономии энергопотребления неиспользуемые модули можно отключать.
4. PINSEL – настройка выводов микроконтроллера. Большинство выводов микроконтроллера являются универсальными и к ним можно подключить разные функции. В данном микроконтроллере многим выводам можно назначить одну из четырёх функций.
В результате получим такой расклад:

Замечательно. Всё вроде по делу, ничего лишнего. Добавим ещё одну библиотеку “GPIO”, которая отвечает за настройку портов ввода-вывода, которые в данном микроконтроллере тоже могут быть по разному сконфигурированы.
Ну что ж, вроде всё что нужно сделали, попробуем что-нибудь написать, наконец. Для этого в окошке “Project” найдём надпись main.c и щёлкнем по ней два раза мышкой. Вот нам и открылся текст нашей основной программы. Занятие наше подходит к концу, поэтому напишем что-нибудь совсем короткое, просто чтобы понять работает ли наш компилятор. Модифицируем код следующим образом.
int main(void)
{
 int i;
  i=0;
    while(1)
    {
     i++;
    }
} 


Сохраняем проект, нажав на пиктограммку с дискетой, и пробуем скомпилировать проект либо нажав на соответствующую пиктограмму либо на клавишу “F7”.
О, чудо, всё заработало. Проект скомпилировался без ошибок.
Можете попробовать сами поупражняться в программировании, можете попытаться подсоединить готовые примеры, только учтите, что не все почему то корректно работают, а мы встретимся уже в следующем занятии. В нём мы подсоединим наконец плату к компьютеру, научимся зашивать в неё программу. Ну и напишем что-нибудь простенькое, но реально работающее в железе. У Ембеддеров вместо “Hello Word”, это мигание светодиодами, коих на нашей плате предостаточно.
Жду вопросов и уточнений. До встречи.
Теги:
Хабы:
+9
Комментарии 18
Комментарии Комментарии 18

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн