У меня есть плата обнаружения STM32, и я хотел бы иметь возможность программировать ее на Linux.
Какой самый простой способ сделать это?
linux
stm32
development
development-tools
Гордон Уильямс
источник
источник
Ответы:
Простой способ программирования и отладки платы обнаружения STM32 (или любого STM32, использующего программатор ST-Link) - использовать проект stlink https://github.com/texane/stlink (однако OpenOCD тоже кажется популярным)
Платы ST Nucleo также выглядят как USB-устройства флэш-памяти, поэтому даже не нужно
stlink
- просто скопируйте файл на них.Есть несколько хороших страниц о том, как разрабатывать для обнаружения STM32 в Linux, таких как http://gpio.kaltpost.de/?page_id=131 и http://torrentula.to.funpic.de/2012/03/22/ Настройка-stm32f4-arm-development-toolchain / и http://jethomson.wordpress.com/2011/11/17/getting-started-with-the-stm32f4discovery-in-linux/
Однако я нашел последнюю ссылку наиболее полезной. В нем показано, как создавать STM32-проекты ST «как есть». Единственное изменение заключается в добавлении его Makefile, который кажется идеальным решением.
В последних версиях Ubuntu вы можете установить пакет, содержащий компилятор ARM:
Обратите внимание, что процессоры все немного разные. Для всех STM32F0..4 потребуются разные флаги компилятора, и скрипт компоновщика будет немного отличаться для каждого (хотя на самом деле только из-за изменения размеров RAM и Flash).
Изменить: если вы хотите начать очень быстро, вы также можете посмотреть на http://www.espruino.com . Это интерпретатор JavaScript, который работает на самом STM32, поэтому, когда вы установили 'stlink', чтобы вы могли перейти на плату, вы можете просто загрузить изображение с этого сайта, включить его, а затем подключиться к терминальному приложению и начать программирование.
источник
Если вам больше нравятся текстовые редакторы и Makefiles вместо использования GUI, вы можете сделать:
Получите ваш проект на доску. Либо использовать
Код в текстовом редакторе и использовать инструменты командной строки. Этот урок будет содержать много советов.
наслаждаться
источник
Eclipse , GCC и OpenOCD - это один набор инструментов. Это рекомендованный EMCU-IT и есть дополнительная информация здесь . На этих страницах также рекомендуется использовать RTOS, например FreeRTOS.org , но это зависит от вас.
А для помощи по компиляции примеров STM32 в Linux перейдите сюда . Эта ссылка указывает на make-файл для примеров, которые могут быть вызваны с
Несколько небольших исправлений кода также задокументированы, но большая часть проекта должна работать с
источник
У меня был успех с https://github.com/JorgeAparicio/bareCortexM (см. Также связанные сообщения в блоге). Меня беспокоит, что я могу просто пошагово пройти по коду или просмотреть память устройства вместо того, чтобы вставлять отладочные операторы в мой код или гадать, что происходит внутри чипа.
Проект bareCortexM - это шаблон Eclipse для разработки с использованием серии Cortex M, особенно STM32, на C ++ без ОС. Он настроен на использование openocd, gcc и имеет скрипты для прошивки и отладки для нескольких целей, включая некоторые платы обнаружения. Следуя инструкциям и установив рекомендуемые плагины Eclipse, я смог использовать свой STM32VLDISCOVERY в Ubuntu.
В соответствии с рекомендациями, я объединил шаблон eclipse с библиотекой шаблонов C ++ libstm32pp того же автора для оборудования STM32. libstm32pp обеспечивает удивительно полную замену CMSIS и часто критикуется водителей STM32 с моделью программирования , что позволяет говорить такие вещи , как
PB10::setMode(gpio::cr::GP_OPEN_DRAIN_2MHZ)
иPINB::setLow()
илиPINB::setHigh()
все в основном составленный инлайн из - за шаблонов C ++. Настройка очень хорошая.источник
Может быть, кому-то это пригодится: моя короткая статья и простой проект . Все в Linux и без лишних вещей, таких как затмение.
Библиотеки были взяты с сайта ST, makefile - из одного из примеров GPL в интернете.
источник
Вот небольшой, но инновационный шаблонный проект для быстрого запуска с использованием платы STM32F0 Discovery под Linux или любой другой ОС:
https://github.com/dobromyslov/stm32f0-chibios-template
Обратите внимание, что в проекте используется ChibiOS - бесплатная операционная система реального времени с открытым исходным кодом, так что это не совсем пустая реализация с нуля.
источник
Я использую vim и arm-none-eabi-gcc вместе со всеми обычными инструментами для Linux. На мой взгляд, Linux - лучшая среда разработки для встраиваемых систем. Для отладки я использую stlink и arm-none-eabi-gdb.
источник
Рассмотрим Platio . Если вам совсем не по душе командная строка, то вы обнаружите, что platformio значительно облегчает процесс разработки.
pio init
может быть использован для настройки проекта.pio run
использует цепочку инструментов для компиляции.pio run --target upload
отправляет код на устройство. Platformio по мере необходимости заботится о загрузке компонентов, библиотек и т. Д.источник