ARM и специфичный для компиляторов код

Любой разработчик компиляторов расширяет язык программирования и расширяет по своему.

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

Ниже приведен пример кода для некоторых ARM-компиляторов.


#if defined (__CC_ARM)
    /* Код для компилятора Keil */
#elif defined (__ICCARM__)
    /* Код для компилятора IAR */
#elif defined ( __GNUC__ )
    /* Код для компилятора GNU */
#elif defined (__TASKING__)
    /* Код для компилятора TASKING */
#else
    /* Неизвестный компилятор */
    #error Unknown compiler
#endif

Развертывание среды разработки для STM32

Большая часть статьи — это текстовое описание видео: 

В статье показано, как с помощью бесплатных кроссплатформенных инструментов развернуть среду разработки для микроконтроллеров STM32.

Программы и библиотеки, о которых будет идти речь, уже объединены в готовые бесплатные среды разработки, например CooCox CoIDE или SW4STM32. Первая только для Windows, а вторая для множества операционных систем, но ссылки для скачивания появляются только после регистрации.

Мы соберем свою среду, чтобы лучше ее понимать и контролировать.

Читать далее Развертывание среды разработки для STM32

Инструменты для разработки под ARM-микроконтроллеры

Список бесплатных кроссплатформенных инструментов для разработки под ARM-микроконтроллеры:

  1. Eclipse IDE for C/C++ Developers
    интегрированная среда разработки (чтобы русифицировать, следует установить Babel (Вавилон)),
  2. GNU Tools for ARM Embedded Processors
    инструменты для сборки из исходного кода: компилятор C/C++, сборщик и т. д.,
  3. GNU ARM Eclipse Plug-ins
    плагин для Eclipse, объединяющий предыдущие два инструмента,
  4. CMSIS
    низкоуровневая библиотека для процессоров ARM Cortex-M, скачивание доступно после регистрации.
  5. Библиотеки для конкретных микроконтроллеров, которых тысячи, например: