Truestudio stm32: TrueSTUDIO — A powerful eclipse-based C/C++ integrated development tool for your STM32 projects

Содержание

Среда разработки Atollic TrueStudio

До недавнего времени у компании ST не было собственной IDE, однако в конце 2017 года она приобрела Atollic TrueStudio. Среда построена на основе Eclipse, и предлагает довольно много возможностей.

Так как это официальная среда для разработки, в курсе мы сделаем упор на неё.


При запуске среды Atollic TrueStudio предложет выбрать рабочее окружение (англ. workplace). Согласитесь со стандартным расположением, в прочем потом вы можете создать другую и переключаться между ними. Рабочее окружение позволяет группировать ваши проекты. Пока у нас нет никаких проектов, давайте создадим один.

Зайдите в меню FileNewC Project. Выбирите Embedded C Project и назовите проект в поле Project Name, скажем matrix_clock. Нажмите Next.

Далее следует выбрать целевой микроконтроллер. Дело в том, что каждый имеет определённый набор периферии, различный объём памяти и т.д. Библиотеке, линкеру и компилятору нужно знать эти памаметры, чтобы ваш проект успешно собирался и его можно было заливать на устройство. Мы используем

stm32f103c8. Нажмите Next.

Уберите галочку с Use tiny printf/sprintf/fprint (small code size), мы не будем пользоваться этими функциями. Нажмите Next.

В качестве отладчика нужно выбрать ST-Link. Нажмите Finish.

Проект создан, но давайте зайдём в настройки и кое-что там посмотрим и поменяем. Открыть настройки проекта можно либо кликнув правой кнопкой в Project Explorer и выбрав Properties, либо через меню ProjectProperties. Откройте C\C++ BuilderSettings, во вкладке Tool Settings перейдите в C Compiler

Symbols. Здесь определяются макросы-макркеры. В нашем случае указано, что используется стандартная библиотека периферии (USE_STDPERIPH_DRIVER) и микронконтроллер F1-серии Middle Destiny (STM32F10X_MD). Менять здесь ничего не нужно, но вы можете добавлять сюда свои макросы-маркеры.

Перейдите в подменю C CompilerDirectories. Здесь находится список директорий, в которых среда будет искать подключаемые файлы. Конечно все файлы можно расположить в папке src, но это не будет удобно при написании прошивки. Скачайте из репозитория на GitHub папку template и скопируйте из неё папку usr в директорию вашего проекта, в папку src. После этого все файлы можно будет подключать к проекту так:

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

У языка Си существует несколько стандартов. Мы будем использовать последний c11 (gnu11). Если вам нужно поменять стандарт, сделать это можно через C CompilerGeneral.

Мы уже говорили, что компилятор может оптимизировать ваш код. По-умолчанию оптимизация отключена -O0. Для MVP-прошивки включать её не стоит, это лишь осложнит процесс отладки. А вот если функциональность вашего устройство многократно усложняется и памяти не хватает, то имеет смысл включить оптимизацию по размеру -Os. Получить доступ к этой опции можно через C CompilerOptimization. Сейчас здесь ничего менять не нужно.

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

Output format и поставьте галочку Convert build output, выбрав Intel Hex.

После сборки проекта hex-файл появится в директории:

Говоря о размере прошивки, в Atollic TrueStudio есть специальное окошко Build Analyzer, которое по-умолчанию расположено в нижнем правом углу. В нём отображается получившийся размер прошивки, а так же объём занимаемой оперативной памяти.

Любое окно внутри среды можно развернуть на полный экран, просто два раза щёлкнув по нему. Вернуть всё в исходный вид можно таким же образом.

В Eclipse есть такое понятие как перспектива (англ. perspective). Они созданы для удобстра разработки и позволяют сгруппировать необходимые окна на экране. По-умолчанию включены только два: C\C++ и Debug. Первое вы видели после создания проекта, в нём удобно редактировать код, компилировать его и загружать на устройство. Второй

Debug, мы рассмотрим чуть ниже.

Сейчас сложно себе представить разработку без системы контроля версий. В Atollic TrueStudio присутствует специальная перспектива для работы в графическом режиме со средой Git. Активировтаь её можно перейдя в меню ViewOpen PerspectiveGit. Здесь вы можете создавать новые репозитории, комиттить, пушить и т.д.

Если вы не знакомы с git, посетите его официальный сайт, там имеетс яцелая книга на русском языке посвящённая его работе, а так же обоснование зачем он нужен.

В отличии от простого блокнота, IDE обычно позволяет работать в режиме отладки (англ. debug). Вы можете выполнять программу построчно, попутно изучая состояние регистров микроконтроллера и видя значение переменных.

Для быстрого доступа к определённой точке в коде нужно поставить точку остановки (англ. breakpoint). В среде это делается довольно просто: совершите двойной клик левой кнопкой мыши в области с номером строки и сбоку появится синий кружок.

При первом запуске программы среда спросит вас сконфигурировать процесс загрузки прошивки. Здесь ничего менять не нужно. Нажмите OK.

Далее среда автоматически переключит вас в режим отладки, со всеми необходимыми инструментами. В верхнем инструментальном меню (англ. toolbar) появятся дополнительные кнопки, позволяющие приостанавливать работу программы, пыполнять пошаговое выполнение и т.д. Красный квадрат (стоп), позволит вам выйти из режима отладки и среда автоматически переключится в режим написания кода (C\C++).

Отлаживать программу добавляя в код printf() из стандартной библиотеки очень плохая практика, особенно для встраиваемых систем. Функция достаточно тяжёлая и приводит к раздутию кода и замедлению работы программы. Однако, отладчик позволяет создавать динамические printf(), которые не встраиваются непосредственно в программу. В Atollic вы можете добавить его щёлкнув правой кнопкой напротив желаемой строки и выбрать пункт

Add dynamic printf... и передать ей желаемый аргумент, напримпер так:

Данная среда, в отличии от IAR System Workbench доступна под Linux. В последнй версии Ubuntu совершён переход на GTK3, по этой причине программа будет запускаться не корректно, в частности верхнее инструментальное меню не будет видно. Чтобы исправить это, перед запуском следует отключить GTK3.

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


Назад | Оглавление | Дальше

Atollic TrueSTUDIO

Интегрированная среда разработки программ для ARM-процессоров, включающая в себя GNU компилятор и отладчик.

Среда разработки Atollic TrueSTUDIO была создана на базе популярной платформы с открытым исходным кодом – Eclipse. Программа включает в себя: редактор кода (с поддержкой языков C/C++ и ассемблера), менеджер проектов, C/C++ компилятор и систему сборки исходного кода (с возможностью параллельной компиляции), отладчик (с поддержкой функции многоядерной отладки), а также различные дополнительные инструменты для: анализа кода (в соответствии со стандартом кодирования MISRA-C), управления задачами, отслеживания изменений/обновлений, автоматического тестирования созданного кода.

Atollic TrueSTUDIO поддерживает множество ARM-ядер (семейств ARM9, ARM7, Cortex-A, Cortex-R, Cortex-M и т.д.) от таких известных вендоров, как Atmel, Infineon, Freescale, NXP, Silicon Labs, Renesas, Spansion, STMicroelectronics, Toshiba, Texas Instruments и некоторых других. Также имеется поддержка двухъядерных и многопроцессорных устройств. Официально среда разработки взаимодействует с отладчиками ST-LINK (и ST-LINK/V2) от STMicroelectronics, SAM-ICE от Atmel, Segger J-Link, OSJTAG и P&E Multilink.

Данная IDE располагает собственным мастером настройки, помогающим прописать все ключевые параметры разрабатываемого приложения: название и тип проекта, производителя чипа, семейство и модель микроконтроллера, модель применяемой отладочной платы, место размещения кода в памяти устройства и многое другое. Исполняемый файл (main.c), представленный в инспекторе кода, по умолчанию формируется из шаблона, подготовленного для нескольких плат. Он содержит довольно много лишней информации, которую при желании можно удалить. Встроенная система отладки ничем не отличается от аналогичных программ, присутствуют все стандартные инструменты. Во время работы процесса отладки на экран выводится различная полезная информация – фрагменты выполняемого в данный момент кода, фрагменты кода ассемблера, соответствующие выполняемой инструкции, значения текущих переменных. Среда разработки Atollic TrueSTUDIO генерирует файлы прошивки уникального формата – *.elf.

Данная среда разработки была написана специалистами компании Atollic. Организация была основана в 2003 году группой разработчиков встроенного ПО для автомобильной и аэрокосмической промышленности. Помимо TrueSTUDIO компания Atollic предлагает следующие продукты: TrueANALYZER для анализа кода, TrueVERIFIER для тестирования программного обеспечения, TrueSTORE для распространения проектов через интернет.

Atollic TrueSTUDIO является коммерческим ПО и, следовательно, стоит денег. Однако разработчики дают возможность ознакомиться с их продуктом, представив бесплатную версию. Предложенный вариант среды разработки, TrueSTUDIO Lite, не имеет ограничений по времени пользования и размеру создаваемого кода. Демоверсия включает откомпилированные динамические библиотеки и допускает разработку полноценных приложений. Однако в ней отсутствует поддержка С++ и расширенного программного инструментария, нет возможности для создания коллективной работы, в частности интеграции с системами контроля версий и управления ошибками/задачами. Доступ к полным возможностям приложения можно получить путем покупки версий TrueSTUDIO Pro и TrueSTUDIO Premium.

Программа Atollic TrueSTUDIO представлена на английском языке. На начальном этапе установки софта предлагается выбрать английское, китайское, корейское или японское меню. Русификатора к данной IDE нет. Приложение требует 2 ГБ оперативной памяти, около 4 ГБ свободного дискового пространства и подключение к интернету. Инсталляционный пакет включает в себя все необходимые библиотеки и драйверы сторонних производителей, полный набор справочной информации и технической документации на английском языке. Кроме того, приложение поддерживает свыше 1150 бесплатных примеров проектов, которые можно легко загрузить из Сети.

Программное обеспечение было разработано для операционных систем семейства Microsoft Windows – XP, Vista и 7.

Распространение программы: платная. Есть бесплатная версия TrueSTUDIO Lite с рядом ограничений

Официальный сайт Atollic TrueSTUDIO: http://www.atollic.com

Скачать Atollic TrueSTUDIO

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

Использование ST-Link Utility в IDE Atollic TrueSTUDIO

20.04.2019

     В этой статье мы с вами подключим внутрисхемный программатор к среде разработки Atollic TrueSTUDIO. Настройки будем проводить на только что установленной студии версии v9.3.0.

     Для работы нам понадобится:

     1) STM32CubeMX
     2) Atollic TrueSTUDIO
     3) St-Link Utility (загрузить с http://www.st.com)
     4) Программатор ST-Link 
     5) CodeIN alfa

     Примечание: утилита ST-Link не поддерживает elf-файлы. Используйте Intel Hex.

     Разработчики встраиваемых систем знают, что для прошивки контроллеров семейства stm32 есть существует программа STM32 ST-LINK Utility обладающая широким функционалом и графическим интерфейсом доступа к нему. Но так же есть возможность работы с консольной версией данного продукта - ST-LINK_CLI.exe избражение на рисунке 1.

     Благодаря графическому интерфейсу STM32 ST-LINK Utility достаточно удобно и наглядно позволяет работать с регистрами микроконтроллера, его памятью и т.д. Но если вы хотите получить доступ к функционалу данной программы из среды разработки то в этом случае вам понадобится ее консольная версия.

     GDB-сервер ST-Link, используемый для отладки устройств STM32, не поддерживает все доступные функции в утилите ST-Link. Однако можно вызвать ST-Link Utility из студии, это может сэкономить много время выполнения различных задач, связанных с отладкой.

     Функционал ST-LINK_CLI.exe тот же, что и у утилиты с графическим интерфейсом, только вся работа идёт через консоль.

     Основные команды:

     -Rst - сброс, перезагрузка камня
     -ME - очистить всю flash память
     -SE - стереть выбранные сектора flash памяти

Рисунок 1

     Создадим новый проект в STM32CubeMX рисунок 2.

Рисунок 2

     Выбираем микроконтроллер рисунок 3.

Рисунк 3

     Выбираем конфигурацию отладчика рисунок 4. 

     Примечание: если не провести данную процедуру то в таком случае прошить контроллер через IDE Atollic TrueSTUDIO удастся только один раз, после чего связь с ST-Link будет не возможна, и придется обновить прошивку микроконтроллера с данной конфигурацией отладчика уже через ST-Link Utility.

Рисунок 4

     Задаем источник тактирования рисунок 5.

 

Рисунок 5

     Соответственно настраиваем  Clock Configuration рисунок 6.

Рисунок 6

     Настроим на выход ножку к которой подключен индикационный светодиод на выход рисунок 7.

Рисунок 7

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

Рисунок 8

     После генерации проекта переходим Run -> External Tools -> External Tools Configurations... рисунок 9.

Рисунок 9

     Создадим новую конфигурацию рисунок 10.

Рисунок 10

     Укажем имя конфигурации, путь к консольной версии утилиты и путь к .hex файлу проекта. После чего нажмем кнопку Run и в консоле должно появится сообщение как на рисунке 11. Программатор ST-Link v2 должен быть подключен к нашей плате. После запуска в консоле можно видеть данные о том к какому семейству относится наш микроконтроллер и размер его falsh памяти.

Рисунок 11

     Преобразуем выходные данные сборки в Intel Hex: Project -> Build settings… -> C/C++ Settings -> Tool Settings -> other -> Output format рисунки 12, 13. Пересоберите проект после этих настроек.

Рисунок 12

Рисунок 13

     Давайте сделаем копию текущей конфигурации отладки, так как нам еще нужно будет изменить сценарий отладки: Run -> Debug Configurations… -> жмем правой кнопкой мыши на текущей конфигурацию отладки и выбираем "duplicate". Затем создаем копию рисунок 14.

Рисунок 14

     Так как загрузка .hex файла не будет производится, закоментируем эту команду в Startup Scripts рисунок 15.

Рисунок 15

     Теперь создадим Launch Group это позволит запустить несколько приложений (конфигураций), просто нажав одну кнопку. 

     Нажмите дважды на левую кнопку мыши по Launch Group и настройте новую группу как на рисунке 16. 

     ДЛЯ Launch Mode: RUN

     Нажмите Add  выберите  Launch Mode: run, из выпадающего меню выберите  STLINK_CLI, в списке Post launch action выберите Wait until terminated, нажмите OK.

Рисунок 16

     Таким же образом настройте Launch Mode: DEBUG. рисунок 17.

     Нажмите Add  выберите  Launch Mode: debug, переходим на вкладку Embedded C/C++ Applications из выпадающего меню выберите EX_ST-Link_Utility_NO_LOAD, в списке Post launch action выберите None, нажмите OK.

Рисунок 17

     Перейдите во вкладку Common и расставьте галочки как на рисунке 18. Это сделает группу запуска доступной в TrueSTUDIO из меню Run и позже в Историях отладки рисунок 19. Нажмите Apply.

Рисунок 18

Рисунок 19

 

Как исправить ошибку "Невозможно открыть файл" при загрузке в STM32 в TrueStudio



Я пытаюсь загрузить свою письменную программу для STM32F411RE с моего TrueStudio для STM32 IDE на саму плату. Плата подключается через кабель mini USB b, и цель состоит в том, чтобы запрограммировать ее через SWD.

Установка

Atollic предоставляет хороший учебник о том, как выполнять это программирование с помощью it's TrueStudio IDE и ST-Link_CLI (интерфейс командной строки), как описано в документе по этой ссылке . Для этого требуются следующие шаги, которые я выполнял и проверял несколько раз:

  1. Прежде всего, выходной (двоичный) файл должен быть intel .HEX, а не TrueStudio .elf по умолчанию. Чтобы изменить это, перейдите к Project properties -> c/c++ build -> settings -> tool settings tab -> other -> Output format и отметьте опцию "конвертировать вывод сборки", убедитесь, что в раскрывающемся списке выбрана опция Intel Hex.

  2. Для вызова ST-Link_CLI изнутри IDE требуется создать конфигурацию внешних инструментов. Чтобы сделать эту конфигурацию, я иду в Run -> External Tools -> External Tools Configurations .... и создаю новую конфигурацию, давайте назовем ее ST-Link_CLI.

    Для рабочего каталога я указываю каталог моего ST-LINK_CLI
    ( C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility )
    в то время как для расположения я указываю этот каталог и имя файла
    ( C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility\ST-LINK_CLI.exe ).
    Наконец, я добавляю следующие параметры для идентификации платы STM32, подключаю ее через SWD и под сбросом, одновременно сообщая ей загрузить файл .HEX, построенный TrueStudio
    ( -c ID=0 SWD UR LPM -P ${project_loc}\Debug\${project_name}.hex -v ).

Выход

Когда я затем вызываю эту внешнюю конфигурацию инструмента через только что созданную ссылку Run -> External Tools -> ST-Link_CLI , я получаю выходные данные, перечисленные ниже:

STM32 ST-LINK CLI v3.4.0.0
STM32 ST-LINK Command Line Interface

ST-LINK SN: 066EFF525750877267092042
ST-LINK Firmware version: V2J33M25
Connected via SWD.
SWD Frequency = 4000K.
Target voltage = 3.3 V
Connection mode: Connect Under Reset
Reset mode: Hardware reset
Debug in Low Power mode enabled
Device ID: 0x431 
Device flash Size: 512 Kbytes
Device family: STM32F411xC/E

Loading file...
Unable to open file!

Очевидно, что ST-Link_CLI успешно вызывается изнутри IDE, но он каким-то образом не может переварить файл .hex (внутри папки отладки) и загрузить его на плату STM32.

Даже прошивка полностью нового сгенерированного проекта из CubeMX и установка вышеперечисленных параметров (включая установку его в файл .hex) не позволит этой цепочке инструментов загрузить его на доску.

Инструкция код мигает

Я смог успешно загрузить файл .HEX, построенный TrueStudio, вручную загрузив его на плату STM32 с использованием ST-Link GUI, поэтому я не думаю, что проблема заключается в самом ST-Link. Однако я не могу отладить его таким образом, так как для этого мне нужны инструменты TrueStudio IDE и, следовательно, нужна внешняя конфигурация инструмента для успешной работы.

Вместо этого я подозреваю, что проблема заключается в моей собственной настройке, где каким-то образом отсутствует вызов или неправильно установлен параметр. Возможно также, что клиенты GUI и CLI работают совершенно по-разному, позволяя одному читать и загружать файл, в то время как другой не может, но это кажется мне неразумным.

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

stm32 flashing truestudio
Поделиться Источник Nanne118     17 мая 2019 в 12:29

2 ответа




0

Что касается моего собственного кода, то я не смог заставить ST-Link_CLI работать как внешний инструмент так, как я намеревался, [но я смог заставить STCubeProgrammer (CLI) работать таким же образом, как я пытался сделать с ST-Link].( http://gotland.atollic.com/resources/applicationnotes/AN1801_cubeprogrammer_in_truestudio.pdf ).

Видя, что я буквально использовал ту же процедуру, что и раньше, но вместо этого указывал местоположение и исполняемый файл для STCubeProgrammer (а не ST-Link), я подозреваю, что проблема действительно может быть в ST-Link CLI (соединение с TrueStudio).

Теперь он успешно загружается и сразу же после загрузки загружает меня в среду отладки TrueStudio 🙂

Поделиться Nanne118     17 мая 2019 в 14:01



0

Вы пытаетесь изобрести колесо, используя треугольник.

Все настроено в TrueStudio:

Просто добавьте конфигурацию отладки, и все готово.

Какие преимущества может предложить OpenOCD на данный момент

Одно существенное : отладка

учитывая, как много я уже узнал о TrueStudio?

Эти знания (как настроить внешние инструменты и т. д.) довольно бесполезны в 99.9999% обстоятельствах. Это только конфигурация Eclipse. Не слишком сложные на самом деле нужны здесь.

Поделиться P__J__     17 мая 2019 в 13:29


Похожие вопросы:


невозможно открыть (или прочитать) файл hostsfile mpd.hosts

Я получаю следующую ошибку, когда использую эту команду в кластере: mpdboot-n 4, и ошибка, которую я получаю, такова: невозможно открыть (или прочитать) файл хоста mpd.hosts Что это значит и как мне...


sh: ошибка при загрузке разделяемых библиотек: libc.so.6: невозможно открыть разделяемый объектный файл: ошибка 24

У меня есть приложение C, работающее на Linux, и оно обрабатывает тысячи messages...but, но когда я запускаю приложение через пару минут, оно выдает следующую ошибку: sh: ошибка при загрузке...


cc1plus: ошибка при загрузке разделяемых библиотек

В настоящее время я запускаю симулятор, который монтируется на диске. Когда я пытаюсь перекрестно скомпилировать приложение, оно всегда выдает мне эту ошибку:...


Atollic TrueSTUDIO: как конвертировать из C в C++?

Я пытаюсь преобразовать свой проект в C++ в TrueSTUDIO для STM32 с помощью Выбор проекта (на вкладке C/C++ проектов) Правой кнопкой мыши выберите пункт Создать / другое В разделе C/C++, C/C++...


Как исправить ошибку embarcadero link : [ошибка ilink32] фатально: невозможно открыть файл 'RTL.BPI'

При компиляции моего проекта на c++ builder проект не компилируется успешно, я получаю следующую ошибку [ilink32 Error] Fatal: невозможно открыть файл 'RTL.BPI', который я пытался исправить.


Импорт zlib на stm32 microcontroller дает тип ошибки неопределенная ссылка на `gzclose'

Я пытаюсь привести пример сжатия файла с помощью zlib на stm32 microcontroller. Это просто дает меду ошибку компилятора Введите неопределенную ссылку на `gzclose' Я смотрел на подобные проблемы,...


Truestudio atollic (an IDE на основе eclipse) создает пустой двоичный файл, несмотря на то, что он не пустой elf-файл и много кода

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


Как включить заголовки CMSIS-DSP в Atollic TrueStudio

Я пытаюсь реализовать использование DSP в плате STM32 F411RE, но, похоже, не могу включить необходимые файлы, не вызвав многочисленных ошибок. Фон Ранее у меня были CMSIS и CMSIS-DSP, работающие в...


STM32 Atollic TrueSTUDIO-графическое представление памяти

Я использую Atollic TrueSTUDIO для STM32 в качестве Eclipse на основе IDE для выполнения цифровой обработки сигнала на аудиосигнале. Я ищу способ построить массив (16-битные звуковые сэмплы) из...


EXCEPTION_ACCESS_VIOLATION при загрузке кода в STM32

Я получаю следующую ошибку при попытке загрузить код на плату STM32 "Bluepill" с помощью метода STM32duino Bootloader aka DFU : maple_loader v0.1 Resetting to bootloader via DTR pulse # #...

Где посмотреть настройки компилятора и линковщика в Atollic True Studio

Первоначальные сведения о сборке на примере среды Atollic True Studio.

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

Почему? - просто потому , что они созданы не для продажи (бесплатно) для программистов всея мира...

Компилятор

Настройки компилятора

Command : arm-atollic-eabi-gcc -c . Это компилятор , у меня находится в "C:\Program Files (x86)\Atollic\TrueSTUDIO for STM32 9.3.0\ARMTools\bin".

Вот такие параметры командной строки у нас в Atollic по умолчанию для комилятора (All options):

-mthumb
-mcpu=cortex-m3
-std=gnu11
-D__weak=__attribute__((weak))
-D__packed=__attribute__((__packed__))
-DUSE_HAL_DRIVER
-DSTM32F205xx
-I"../src/MY"
-I../Inc
-I../Drivers/STM32F2xx_HAL_Driver/Inc
-I../Drivers/STM32F2xx_HAL_Driver/Inc/Legacy
-I../Middlewares/Third_Party/FreeRTOS/Source/include
-I../Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS
-I../Middlewares/Third_Party/FreeRTOS/Source/portable/GCC/ARM_CM3
-I../Drivers/CMSIS/Device/ST/STM32F2xx/Include
-I../Drivers/CMSIS/Include
-I"D:\DEVELOPMENT\AtollicTrueStudio\STM32F205\STM32F205VGT6_FreeRtos_UsbHost_LCD_PRN_Kb_QR\Src\MY\QRLib"
-Og
-ffunction-sections
-fdata-sections
-g3
-fstack-usage
-Wall
-specs=nano.specs

По выводу консоли сборки все ,что относится к комппиляции начинается с : arm-atollic-eabi-gcc -c !

Когда начиначется arm-atollic-eabi-gcc -o, это уже сборка (линковка).

Линковщик (сборщик)

Настройки линковки :


-mthumb
-mcpu=cortex-m3
-T"../STM32F205VE_FLASH.ld"
-specs=nosys.specs
-static "-Wl,-Map=${BuildArtifactFileBaseName}.map"
-Wl,--gc-sections
-Wl,--defsym=malloc_getpagesize_P=0x80
-Wl,--start-group
-lc
-lm
-Wl,--end-group -specs=nano.specs

Тут мы получем на выходе *.elf файл.

Закладка Build (objcopy) , Post build steps

Ключ "–O" определяет формат выходного файла.

objcopy физически готовит файл прошивки для контроллера , убирая лишнюю информацию из elf файла по отладке и т.д., минимизирую размер прошивки.

Выполняется objcopy в самом конце :

arm-atollic-eabi-objcopy.exe -O ihex STM32F205VGT6_FreeRtos_UsbHost_LCD_PRN_Kb_QR.elf STM32F205VGT6_FreeRtos_UsbHost_LCD_PRN_Kb_QR.hex

Полезно в консоле сборки посмотреть :

Print size information
   text	   data	    bss	    dec	    hex	filename
  29288	    460	 108952	 138700	  21dcc	STM32F205VGT6_FreeRtos_UsbHost_LCD_PRN_Kb_QR.elf
Print size information done

Новая среда разработки для микроконтроллеров STM32 от STMicroelectronics

11 Дек 2017

Компания STMicroelectronics, один из ведущих в мире производителей микроконтроллеров, анонсировала сверхбюджетный инструментарий разработчика для семейства ARM Cortex-M3 микроконтроллеров STM32. Среда разработки состоит из программного обеспечение Atollic TrueSTUDIO/STM32, которое может быть загружено бесплатно и не имеет ограничений по размеру кода и времени пользования, а также аппаратного внутрисхемного отладчика ST-LINK, который подключается к ПК через USB.

Таким образом, первоначальные инвестиции порядка нескольких десятков долларов за ST-LINK открывают возможности для старта широкого спектра разработок, включая концептуальные, предварительные и мелкосерийные проекты. На данный момент семейство STM32 состоит из более чем 70 наименований, совместимых программно, выводами и периферийными узлами. Данные микроконтроллеры обеспечивают высокую производительность, низкое энергопотребление и богатую гамму функций.

Atollic TrueSTUDIO/STM32 использует интегрированную среду разработки Eclipse™ (IDE) и включает GNU компилятор/отладчик для ARM-процессоров. В бесплатную версию Lite включены откомпилированные динамические библиотеки. Разработчики могут получить доступ к расширенным возможностям, путем покупки версии Pro, обеспечивающей поддержку Си++, дополнительного программного инструментария, обеспечивающего возможность разработки проекта без доступа к аппаратной части, графический инструментарий, включающий UML-редактор диаграмм, а также возможности для организации коллективной работы, такие как контроль версий и управление задачами/ошибками.

Отладочный модуль ST-LINK доступен по цене $25. Программное обеспечение Atollic TrueSTUDIO/STM32 может быть скачано с http://www.atollic.com/index.php/download по цене € 995 за TrueSTUDIO/STM32 Pro, или бесплатно для TrueSTUDIO/STM32 Lite.

По вопросам заказа образцов и приобретения продукции STMicroelectronics обращайтесь к руководителю направления активных компонентов Юрию Емельянову.

Maple Mania: Установил Atollic TrueSTUDIO.


Постоянно были зависания дебага в IAR. Решил попробовать что-нибудь другое. Над выбором я особо не заморачивался. Чтобы выбирать нужен опыт.


Решил установить Atollic TrueSTUDIO 9.3 - его предлагает производитель STM32 и есть версия под ubuntu. Отзывы не однозначные. По сути это уже настроенный Eclipse.
Порадовало, что с установкой никаких танцев с бубном не было. Установил и все заработало с первого раза. Среда потребовала обновить прошивку моего самодельного ST-Link'a. После обновления я начал работу. Столкнулся с тем, что в TrueSTUDIO время от времени дебаг тоже виснет. Видимо виноват самодельный ST-Link.

После перезагрузки системы TrueSTUDIO перестала загружаться. Решение оказалось простым. В папке текущего workspace'a, нужно удалить/переименовать .metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi. Некоторые советуют вообще удалить полностью папку .plugins.

Для того чтобы пофиксить отображение верхнего toolbar'a (у меня все кнопки были смещены в право) нужно в директории где установлена IDE, в файле ide/TrueSTUDIO.ini, после строк:

-name
Atollic TrueSTUDIO for STM32

добавить:

--launcher.GTK_version
2

и сохранить.

Новый проект.

Нажимаем File->New->C Project. В новом окне указываем имя проекта выбираем Executable->Embedded C Project. Нажимаем Next. В списке выбираем STM32F1->MCUs->STM32F103CB. Нажимаем Next. Library->NewLib Standard. И убираем галочки с оптимизации, она нам не нужна. Нажимаем Next. Выбираем ST-Link. Нажимаем Next и Finish.

Дебаг.

Настраивать уже ничего не нужно. Просто нажимаем F11.

Прошивка МК.

Чтобы заливать прошивку без дебага нужно нажать Run->Debug Configurations... В новом окошке, слева в группе Embedded C/C++ Application правой клавишей нажать на (имя_проекта).elf и нажать Duplicate. Выбираем дублированный (имя_проекта).elf. Переименовываем его по смыслу и открываем вкладку Startup Scripts. Удаляем все что ниже:

# Set flash parallelism mode to 32, 16, or 8 bit when using STM32 F2/F4 microcontrollers

# Uncomment next line, 2=32 bit, 1=16 bit and 0=8 bit parallelism mode

#monitor flash set_parallelism_mode 2

# Set character encoding

set host-charset CP1252

set target-charset CP1252

# Reset to known state

monitor reset

# Load the program executable

load

А в самый конец добавляем quit.
Применяем и нажимаем Debug.
Обе конфигурации можно быстро выбрать в Run->Debug History.

TrueSTUDIO - мощный интегрированный инструмент разработки C / C ++ на основе eclipse для ваших проектов STM32

Это юридически обязательный контракт (соглашение) между STMicroelectronics International NV, швейцарским филиалом и / или его дочерними компаниями (STMicroelectronics или ST) и вами, от своего имени или от имени организации, в которой вы работаете и / или нанимаете (Вы).

Пожалуйста, укажите свое согласие с этим контрактом, выбрав «Я ПРИНИМАЮ», или укажите свой отказ от этого контракта, выбрав «Я НЕ ПРИНИМАЮ», как указано ниже в средствах массовой информации,

И / ИЛИ

ПУТЕМ УСТАНОВКИ КОПИРОВАНИЯ, ЗАГРУЗКИ, ДОСТУП ИЛИ Иное ИСПОЛЬЗОВАНИЕ ДАННОГО ЛИЦЕНЗИОННОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ (ВКЛЮЧАЯ БЕЗ ОГРАНИЧЕНИЙ ЛЮБУЮ ДОКУМЕНТАЦИЮ И ИХ ДРУГИЕ ЧАСТИ) ВЫ СОГЛАШАЕТЕСЬ С ДАННЫМ ЛИЦЕНЗИОННЫМ СОГЛАШЕНИЕМ НА ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.

ОПРЕДЕЛЕНИЯ Лицензионное программное обеспечение

: означает программное обеспечение / микропрограммное обеспечение, примеры, шаблон проекта и всю сопутствующую документацию и средства проектирования, лицензированные и поставляемые в форме объекта и / или исходного кода, в зависимости от обстоятельств.

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

ЛИЦЕНЗИЯ

STMicroelectronics предоставляет Вам неисключительную, всемирную, непередаваемую (посредством переуступки или иным образом, если иное прямо не разрешено ST), не подлежащую сублицензированию, отзывную, бесплатную ограниченную лицензию на Лицензионное программное обеспечение по адресу:

(i ) использовать, копировать и подготавливать производные работы от Лицензионного программного обеспечения, поставляемого ST в формате исходного кода, с единственной целью проектирования, разработки и производства Ваших Продуктов;

(ii) использовать, делать копии и готовить производные работы (без обратного проектирования) Лицензионного программного обеспечения, которое поставляется ST в формате объектного кода с единственной целью проектирования, разработки и производства Ваших Продуктов;

(iii) делать копии и готовить производные работы части документации Лицензионного программного обеспечения с единственной целью предоставления документации для Ваших Продуктов и их использования;

(iv) создавать, производить, импортировать, экспортировать и иным образом распространять Лицензионное программное обеспечение или производные от Лицензионного программного обеспечения, как это разрешено настоящим Соглашением, исключительно в формате объектного кода, как это включено в Ваши Продукты, или для исполнения на Ваших Продуктах, при условии, что такое распространение регулируется условиями лицензии для защиты Лицензионного программного обеспечения и прав ST на Лицензионное программное обеспечение, таких как настоящее Соглашение (включая, помимо прочего, отказ от гарантий и ограничение ответственности в качестве защиты ST, как те, которые содержатся в настоящем Соглашении).

СОБСТВЕННОСТЬ И АВТОРСКИЕ ПРАВА

Право собственности на Лицензионное программное обеспечение, сопутствующую документацию и все ее копии остается за ST и / или ее лицензиарами. Вы не можете удалять какие-либо уведомления об авторских правах, отказ от гарантий или другие уведомления о правах собственности из Лицензионного программного обеспечения или любых разрешенных копий Лицензионного программного обеспечения. Вы должны предотвратить любое несанкционированное копирование Лицензионного программного обеспечения, включая, помимо прочего, любые части документации.

ОГРАНИЧЕНИЯ

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

Вы признаете и соглашаетесь с тем, что любое использование, адаптационный перевод или транскрипция Лицензионного программного обеспечения или любой его части или производной от него для использования с процессорами, произведенными или для любой организации, кроме ST, является существенным нарушением настоящего Соглашения.

Вы не имеете права декомпилировать объектный код Лицензионного программного обеспечения или иным образом осуществлять реконструирование Лицензионного программного обеспечения. Вы не должны использовать Лицензионное программное обеспечение в качестве основы для создания аналогичного или конкурирующего программного обеспечения или продуктов.

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

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

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

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ С ОТКРЫТЫМ ИСТОЧНИКОМ

Лицензионное программное обеспечение может содержать программное обеспечение в соответствии с Условиями открытого исходного кода (как определено ниже), применимыми для каждой такой части (Программное обеспечение с открытым исходным кодом), как дополнительно указано в Лицензионном программном обеспечении. Такое программное обеспечение с открытым исходным кодом предоставляется в соответствии с применимыми Условиями использования открытого исходного кода и не регулируется условиями лицензии, приведенной ниже. Устанавливая копирование, загрузку, доступ или иным образом используя Лицензионное программное обеспечение, вы соглашаетесь соблюдать такие Условия с открытым исходным кодом в отношении такого программного обеспечения с открытым исходным кодом.Условия открытого исходного кода: означают любую лицензию с открытым исходным кодом, которая требует в рамках распространения программного обеспечения, чтобы исходный код такого программного обеспечения распространялся вместе с ним или иным образом предоставлялся доступным, или лицензия с открытым исходным кодом, которая в основном соответствует определению открытого исходного кода, указанному на www.opensource. org и любую другую сопоставимую лицензию с открытым исходным кодом, такую ​​как, например, Стандартная общественная лицензия GNU (GPL), Общественная лицензия Eclipse (EPL), Лицензия на программное обеспечение Apache, лицензия BSD и лицензия MIT.

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ СТОРОННИХ СТОРОН

Некоторые части Лицензионного программного обеспечения могут подпадать под действие условий лицензии третьих сторон, как это явно указано в Лицензионном программном обеспечении.В таком случае эти части поставляются в соответствии с указанными условиями лицензии третьей стороны и не подпадают под условия лицензии по настоящему Соглашению. Устанавливая копирование, загрузку, доступ или иным образом используя Лицензионное программное обеспечение, вы соглашаетесь соблюдать такие условия лицензии третьей стороны в отношении этих частей.

ОТСУТСТВИЕ ДРУГИХ ПРАВ ИЛИ ЛИЦЕНЗИЙ

Вам не предоставляются никакие права или лицензии, за исключением случаев, прямо указанных в настоящем Соглашении. Без ограничения общего характера вышеизложенного, никакие права или лицензии не предоставляются в отношении каких-либо продуктов, технологий или прав интеллектуальной собственности ST, кроме тех, которые воплощены в Лицензионном программном обеспечении.

ОТСУТСТВИЕ ГАРАНТИЙ

Лицензионное программное обеспечение предоставляется «как есть» и «со всеми ошибками» без каких-либо явных или подразумеваемых гарантий. Компания ST и ее лицензиары прямо отказываются от всех гарантий, явных, подразумеваемых или иных, включая, помимо прочего, гарантии товарной пригодности, пригодности для определенной цели и ненарушения прав интеллектуальной собственности. ST не гарантирует, что использование Лицензионного программного обеспечения полностью или частично будет прервано или без ошибок, будет соответствовать Вашим требованиям или будет работать с выбранной Вами комбинацией аппаратного и программного обеспечения.

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

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

Ничто, содержащееся в настоящем Соглашении, не будет истолковано как:

(i) гарантия или заверение со стороны ST для поддержания производства любого устройства ST или другого оборудования или программного обеспечения, с которым может использоваться Лицензионное программное обеспечение, или для иного обслуживания или поддержки Лицензионное программное обеспечение любым способом; или

(ii) обязательство ST и / или его лицензиаров возбуждать или преследовать в судебном порядке действия или иски против третьих лиц за нарушение любого из прав, лицензированных настоящим, или предоставление любых прав на возбуждение или судебное преследование действий или исков против третьих лиц за нарушение.Однако ST имеет право немедленно прекратить действие настоящего Соглашения после получения уведомления о любых претензиях, исках или судебных разбирательствах, в которых утверждается, что Лицензионное программное обеспечение или использование или распространение вами Лицензионного программного обеспечения нарушает права интеллектуальной собственности третьих лиц.

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

ОГРАНИЧЕНИЕ ОБЯЗАТЕЛЬСТВ

Ни при каких обстоятельствах компания ST или ее лицензиары не несут ответственности перед Вами или любой третьей стороной за любые косвенные, особые, побочные, случайные, штрафные убытки или другие убытки (включая, помимо прочего, затраты на рабочую силу, повторные убытки). квалификация, задержка, упущенная выгода, упущенная выгода, потеря данных, затраты на закупку заменяющих товаров или услуг и т. , документацию или настоящее Соглашение, даже если ST было уведомлено о возможности такого ущерба.

Ни при каких обстоятельствах ответственность ST перед Вами или любой третьей стороной по настоящему Соглашению, включая любые претензии в отношении прав интеллектуальной собственности третьих лиц, по любой причине иска, не превышает 100 долларов США. Этот раздел не применяется в случаях, запрещенных законом. Для целей этого раздела любая ответственность ST рассматривается в совокупности.

ПРЕКРАЩЕНИЕ

ST может прекратить действие настоящего Соглашения, включая его лицензии, в любое время, если Вы существенно нарушаете какое-либо из его условий и не устранили такое нарушение в течение 30 (тридцати) дней после получения уведомления от ST о таком нарушении. нарушение.После прекращения действия Вы немедленно уничтожите или вернете все копии Лицензионного программного обеспечения (включая, помимо прочего, любую документацию) компании ST. После расторжения ваше единственное оставшееся право будет заключаться в продолжении использования Лицензионного программного обеспечения исключительно в той степени, в которой оно уже было включено до вашего существенного нарушения настоящего Соглашения в ваши Продукты, которые были проданы вами до даты вашего существенного нарушения.

ПРИМЕНИМОЕ ЗАКОНОДАТЕЛЬСТВО И ЮРИСДИКЦИЯ

Настоящее Соглашение и вопросы, связанные с его действительностью, толкованием или исполнением, должны регулироваться, толковаться, толковаться и применяться во всех отношениях в соответствии с действующим законодательством Швейцарии без обращения к принципам коллизионного права.Стороны прямо соглашаются с тем, что Конвенция Организации Объединенных Наций о договорах международной купли-продажи товаров не применяется к настоящему Соглашению или к их отношениям.

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

РАЗДЕЛЕНИЕ

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

ОТКАЗ

Неспособность или задержка выполнения любой из сторон какого-либо положения настоящего Соглашения не должно действовать и не истолковываться как отказ от любого другого или последующее нарушение того же или другого положения.

ПЕРЕДАЧА

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

ВЗАИМООТНОШЕНИЯ СТОРОН

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


BLavery / STM32-Cube-TrueStudio: простейшее программирование STM32 с использованием Cube и TrueStudio

Простейшее программирование STM32 с использованием Cube и TrueStudio

2019 - Это больше не поддерживается первоначальным автором.

Пожалуйста, не стесняйтесь разветвлять, копировать, адаптировать, если вы сочтете это полезным

ТОЛЬКО СВОДКА

Использование дешевых плат STM32 с бесплатным программным обеспечением, кодом C / C ++, конфигуратором ST CubeMX, Eclipse IDE и CubeProgrammer.

Протестировано плат:

  • STM32F030F4P6
  • STM32F103 BluePill
  • STM32F407VG

После опробования нескольких версий eclipse я остановился на ST / Atollic / TrueStudio в качестве текущей поддержки, бесплатной, самой простой для интеграции с Cube.

CubeMX генерирует установочный код на основе HAL на C, а не на C ++. TrueStudio / Eclipse можно настроить, чтобы использовать C ++ для пользовательского кода. Код C подходит для F030, поскольку код C ++ слишком велик для ограниченного места на флеш-памяти. Смесь C ++ или C / C ++ очень хорошо работает с другими платами.

Объединение пользовательского кода C и C ++ для ...

  • printf и несколько небольших дисплеев,
  • - некоторые примитивы GPIO, готовые к работе с Arduino,
  • и миллис () микросекунды () sleep () и delayMicroseconds ()

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

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

Теперь у нас есть рабочие основы.

Но для большего контроля нам нужно будет заняться более серьезным кодированием / вырезанием / портированием / отладкой, потому что готовые к использованию библиотеки (а-ля ардуино) не просто ждут где-то!

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

Вам понадобится устройство STlink.

Создайте папку для вашего проекта «рабочее пространство» в вашей пользовательской области.(например, для меня подойдет ... / brian / stm32projects.) Вы собираетесь использовать эту папку для каждого проекта:

  • Cubemx для записи файлов запуска и конфигурации.
  • TrueStudio для создания и компиляции ваших проектов
  • CubeProgrammer для прошивки вашего MCU из

Зарегистрируйтесь на сайте www.st.com. Зайдя на сайт www.st.com, выполните поиск в браузере по запросу "stm32 cubemx". Скачиваем stm32cubemx, устанавливаем и запускаем. «Установить / удалить встроенные пакеты» - установить для F0 F1 F4 или на ваш выбор для ваших семейств плат.У вас есть возможность выбрать папку для этого «репозитория». См. Раздел «Настройки средства обновления справки».

По-прежнему на www.st.com найдите и загрузите stm32Programmer. Установить. Драйверы STlink включены. Подключите ваш STlink и запустите программатор. Попробуйте подключиться к STlink с помощью программатора. Вероятно, вам будет предложено выполнить обновление прошивки для STlink. Вы можете прикрепить свою плату STM32 к 4 проводам SWD. У STM32 больше ничего нет. Программист должен иметь возможность (через STlink) подключиться к плате и идентифицировать ее.

Загрузите TrueStudio (теперь спонсируется ST) с https://atollic.com/truestudio/ Установить.

Пора начинать. Запустите CubeMX. «Начать мой проект с селектора MCU». Выберите свой MCU. CubeMX - это целый мир. Однако, как только вы к этому привыкнете, десять минут должны помочь вам изначально настроиться на новый проект. Вы можете легко вернуться, чтобы внести изменения. Ниже приведена неадекватная информация для настройки. Найдите документацию или информацию HOWTO в Интернете.

4 таб. Начните с распиновки и конфигурации.Проработайте все необходимые варианты. Убедитесь, что RCC выбрал тактовые кристаллы, используемые на вашей плате. Tab2: Конфигурация часов. Убедитесь, что ваши кристаллы (LSE HSE) активны. Отрегулируйте настройки, чтобы получить полную тактовую частоту на индикаторах справа, без ошибок. При необходимости используйте «решимость». Tab3: Менеджер проекта. Местоположение проекта, папка, которую вы создали выше. Дайте название проекту. Набор инструментов TrueStudio, структура Basic. Все готово? «Сгенерировать код» вверху справа.

TrueStudio, возможно, запускается самостоятельно. Если нет, запустите и «Импортируйте» то, что вы только что написали, в свое рабочее пространство.Идти ва-банк? Теперь, когда ваш проект открыт, «Project - Build Project». Получите вкладку Console в низком центре, и вы должны увидеть строку для каждого шага компиляции или ошибки, если таковые имеются. Вы хотите, чтобы «Сборка завершилась» без ошибок.

Запустите CubeProgrammer. Убедитесь, что вы подключаетесь к своей плате. "Открыть файл". На рабочем месте в папке с именем проекта найдите изображение .elf. Щелкните Загрузить. Ваша доска обновлена. Жаль, что у него нет кода, чтобы что-то показать. Но ваша система IDE работает.

Так что вернемся к основному.c в своем проекте добавьте пару строк из C, чтобы загорелся светодиод. (Вам нужно будет проконсультироваться с документом HAL для вашего семейства MCU от ST. Google для «Описание STM32F1 HAL pdf», или F0 или F4, чтобы подойти. Ожидайте более тысячи страниц!) Поместите свой код между подходящей парой комментариев USER CODE BEGIN и USER CODE END. Таким образом, CubeMX не будет стирать строки кода при следующем действии «Создать код».

ПОДРОБНЕЕ? ИЗВИНИТЕ, ЕЩЕ ПРИХОДИТ. МОЖЕТ БЫТЬ ПОКА

Дополнительные рекомендации по stm32CubeMX
Настройка TrueStudio для включения C ++ в дополнение к C
Помещение вашего пользовательского кода в карантин вдали от основного.c и код запуска, сгенерированный (и изменяемый) с помощью stm32CubeMX.
Примеры простых кодов пользователя:

  • серийный printf (C)
  • OLED-дисплей
  • TFT-дисплей
  • GPIO примитивы, такие как arduino
  • микросхемы ()

Импорт проектов TrueSTUDIO в STM32CubeIDE

В будущем выпуске загрузчика OpenBLT будет полностью поддерживаться относительно новый STM32CubeIDE. Для тех, кто хотел бы использовать STM32CubeIDE раньше, есть функция импорта проекта TrueSTUDIO.Таким образом, вы можете взять уже существующие демонстрационные программы OpenBLT для TrueSTUDIO и импортировать их в STM32CubeIDE. Цель этой статьи - показать вам шаг за шагом, как импортировать демонстрационные программы OpenBLT, настроенные для TrueSTUDIO, в STM32CubeIDE.

Фон

Относительно новый STM32CubeIDE был выпущен ST около года назад. Это полнофункциональная интегрированная среда разработки на основе Eclipse. Он даже интегрирует инструмент CubeMX для настройки микроконтроллера STM32 и соответствующей автоматической генерации кода.Идеальный инструмент для быстрой разработки приложений для вашего проекта STM32. Он работает не только под Windows, но и под MacOS и Linux. Как я большой поклонник Linux, я лично очень рад этой мультиплатформенной поддержке.

Мне кажется, что STM32CubeIDE заменит Atollic TrueSTUDIO в ближайшем будущем. По этой причине я намерен добавить поддержку STM32CubeIDE во все демонстрационные программы OpenBLT, предназначенные для микроконтроллера STM32. Если все пойдет по плану, полная поддержка STM32CubeIDE будет доступна в следующем выпуске OpenBLT, срок которого намечен на начало января 2021 года.Для тех, кто хотел бы использовать STM32CubeIDE раньше, есть функция импорта проекта TrueSTUDIO. Таким образом, вы можете взять уже существующие демонстрационные программы OpenBLT для TrueSTUDIO и импортировать их в STM32CubeIDE.

Поэкспериментировав с функцией импорта STM32CubeIDE для проектов TrueSTUDIO, я могу подтвердить, что она определенно работает. Однако после операции импорта вам все равно необходимо внести несколько незначительных изменений в проект. Поэтому цель этой статьи - показать вам шаг за шагом, как импортировать демонстрационные программы OpenBLT, настроенные для TrueSTUDIO, в STM32CubeIDE.В качестве примера в этой статье я возьму демонстрационные программы для платы Nucleo-F767ZI.

В качестве отправной точки загрузите последнюю стабильную версию загрузчика OpenBLT. На момент написания последней стабильной версии была версия 1.10.0. После загрузки распакуйте zip-архив. В моем случае извлеченные файлы находятся по адресу C: \ Work \ software \ OpenBLT .

Импорт проектов TrueSTUDIO

Демонстрационные программы TrueSTUDIO для платы Nucleo-F767ZI находятся в подкаталоге: .\ Target \ Demo \ ARMCM7_STM32F7_Nucleo_F767ZI_TrueStudio . Запустите STM32CubeIDE и создайте новое рабочее пространство в этом каталоге:

После запуска STM32CubeIDE и открытия вновь созданного рабочего пространства выберите Файл Импорт в меню программы. После появившегося диалогового окна импорта выберите General Import Atollic TrueSTUDIO Project :

.

В первом поле редактирования, которое называется Источник импорта , введите каталог демонстрационных программ, поэтому .\ Target \ Demo \ ARMCM7_STM32F7_Nucleo_F767ZI_TrueStudio . Мастер импорта автоматически обнаруживает и выбирает проекты Boot и Prog . Это проекты для демонстрационного загрузчика и демонстрационной пользовательской программы соответственно. Нажмите Finish , чтобы начать процесс импорта. Мастер импорта предложит вам подтвердить преобразование проекта. Нажмите OK в этих диалоговых окнах.

Очистка импортированных проектов

После импорта проектов необходимо внести в проект несколько незначительных изменений, прежде чем их можно будет скомпилировать и связать.Эти изменения одинаковы для загрузки проекта Boot и проекта Prog , поэтому здесь будет описан только проект Boot .

  • Щелкните правой кнопкой мыши проект Boot в обозревателе проектов и выберите Properties во всплывающем меню. Настройте пути включения компилятора, поскольку рабочий каталог по умолчанию кажется другим:
  • В том же диалоговом окне свойств проекта настройте модуль с плавающей запятой.Это может быть необязательно для семейств STM32, в которых нет аппаратного обеспечения с плавающей запятой.
  • В качестве последнего шага удалите файл openblt_stm32f767.elf для принудительной перестройки. Файл находится в каталоге . \ Target \ Demo \ ARMCM7_STM32F7_Nucleo_F767ZI_TrueStudio \ Boot \ Debug .

На этом этапе вы завершили все необходимые исправления для импортированного проекта. В качестве следующего шага вы можете попытаться построить проект. Щелкните правой кнопкой мыши проект Boot в обозревателе проектов и выберите Build Project во всплывающем меню.Вы можете следить за прогрессом в окне Console . Если все прошло хорошо, это должно выглядеть примерно так:

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

Заключение

Вы успешно импортировали демонстрационные программы TrueSTUDIO для платы Nucleo-F767ZI в STM32CubeIDE. Затем вы можете использовать встроенный отладчик STM32CubeIDE для программирования и запуска загрузчика на этой плате. После запуска загрузчика на плате вы можете запустить инструмент MicroBoot или BootCommander для ПК, чтобы выполнить обновления прошивки с помощью загрузчика.Например с помощью RS232. Надеюсь, вам понравилось читать эту статью, и что у вас все получилось.

Программирование STM32 из TrueSTUDIO с использованием ST-LINK clone

В этой статье я объясню, как программировать микроконтроллер STM32 прямо из TrueSTUDIO, используя клон ST-LINK, который мы создали в предыдущей статье.

Если вы используете клон ST-LINK или просто используете SWDIO и SWDCLK для программирования микроконтроллера STM32, вам необходимо использовать утилиту ST-LINK. И каждый раз вам нужно загрузить новую программу в утилиту, подключиться к цели и запрограммировать ее.Но недавно я нашел для этого новое, более короткое решение. CLI (интерфейс командной строки) для утилиты ST-LINK. С помощью этой программы мы можем программировать наш микроконтроллер прямо из TrueSTUDIO. Позвольте мне объяснить, как это сделать.

В TrueSTUDIO в меню выберите: Выполнить -> Внешние инструменты -> Конфигурация внешних инструментов…

Здесь нам нужно добавить новую конфигурацию для каждого проекта, в котором мы хотим использовать CLI (возможно, есть какие-то ярлыки, но я этого еще не знаю):

Сначала выбираем Новая конфигурация (отмечена красным).

Затем мы вводим данные во все четыре отмеченных места. Имя - это все, что мы хотим, чтобы мы знали, к какой конфигурации программы принадлежит. Расположение и Рабочий каталог - это расположение интерфейса командной строки ST-LINK, и оно всегда остается неизменным. Аргументы - это данные, которые CLI должны знать, где найти нашу программу и что с ней делать.

  • c SWD -> указывает ST-LINK CLI использовать интерфейс SWD для программирования
  • -p… -> сообщает ST-LINK CLI, где найти шестнадцатеричный файл нашей программы
  • -Rst -> указывает ST-LINK CLI перезагрузить наш микроконтроллер после программирования
  • существует также -Run, но он здесь не работает, на самом деле он блокирует TrueSTUDIO, потому что наш клон ST-LINK не может выполнить эту операцию.

Когда вы закончите, нажмите Применить и Закрыть .Вы также можете запустить эту конфигурацию здесь перед закрытием.

Теперь, чтобы запрограммировать наш микроконтроллер из TrueSTUDIO с использованием этой конфигурации, нам нужно нажать Run -> External Tools -> выбрать одну из конфигураций (в приведенном ниже примере это RFM12B_BluPil_001):

И нажмите на конфигурацию, которую мы хотим запустить. Если все в порядке, вы должны увидеть вывод в окне консоли внизу TrueSTUDIO:

.

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

’до следующего раза!

Slemi

STM32 Программирование, Электронные проекты. постоянная ссылка.

Начните использовать STM32 Blue Pill с Atollic TrueStudio - напишите одно слово

После начала использования Atollic TrueStudio в качестве IDE для редактирования исходного кода, компиляции и отладки с помощью STM32F4 Discovery Board. Я хочу начать использовать Atollic для создания проекта с помощью STM32 Blue Pill! Эта плата такая дешевая и маленькая, но такая мощная!

Изображение взято из stm32duino [1]

Вот как мы можем начать новый проект внутри Atollic для Blue Pill:

  1. Сначала создайте новый проект, выбрав File -> New -> C Project:

2.Затем появится окно, Выберите Embedded C Project в типе проекта, и для Toolchains есть только один выбор:
Не забудьте указать репрезентативное имя для вашего «Project name», как для меня я выбираю «Robiola».

3. Нажмите «Далее>». Затем нам нужно будет выбрать серию микросхем, которая в соответствии с этим является STM32F103C8:
Поскольку этот чип не имеет FPU, поэтому для плавающей точки мы должны выбрать программную реализацию.

4. Следующее окно должно выбрать библиотеку и ее конфигурацию:
Мы можем выбирать между Newlib-nano между сокращенной и полностью реализованной.На данный момент мы реализуем только простое включение и выключение светодиода, поэтому мы выбираем уменьшенный!

5. Наконец, последний шаг настройки - выбор отладчика:
По умолчанию используется J link, так как у меня есть плата Discovery и отладчик ST-LINK. Тогда почему бы не использовать его как отладчик! наконец, нажмите «Готово»

6. Подключение ST-LINK к синей таблетке
Вот конфигурация:
Discovery Board -> Blue Pill
1. 3v -> 3v3
2. SWCLK -> SWCLK
3.GND -> GND
4. SWDIO -> SWDIO
этот вывод последовательного отладчика расположен в нижней части синей платы, как вы можете видеть на первом рисунке выше. Вывод для ST-LINK от STM32F4 Discovery Board можно увидеть ниже, взятый из руководства пользователя [2].

После подключения ST-LINK на плате открытия к синей таблетке, теперь мы можем начать писать код!

Ссылка:
[1] https://wiki.stm32duino.com/index.php?title=Blue_Pill
[2] UM1472 User Manual Discovery kit with STM32F407VG mcu

Atollic TrueSTUDIO-STM32L100 PWM Учебное пособие - Hackster.io

Используемое программное обеспечение:

Это программное обеспечение, которое мы использовали в этом проекте:

1. Atollic TrueSTUDIO: Atollic® TrueSTUDIO® для STM32 - это гибкая и расширяемая среда разработки и отладки для разработчиков микроконтроллеров STM32, которым нужны чрезвычайно мощные инструменты, помогающие в разработке высококачественного встроенного программного обеспечения. TrueSTUDIO® основан на открытых стандартах (ECLIPSE и GNU) и расширен профессиональными функциями для управления кодом и расширенного системного анализа. Это дает уникальное представление о структуре и динамическом поведении системы.

Вы можете скачать это программное обеспечение по этой ссылке

2. STM32CubeMX: STM32CubeMX - это графический инструмент, который позволяет очень легко настраивать микроконтроллеры и микропроцессоры STM32, а также генерировать соответствующий код инициализации C для ядра Arm® Cortex®-M или частичного устройства Linux® Tree for Arm® Cortex®-A core), используя пошаговый процесс.

Вы можете скачать это программное обеспечение по этой ссылке

Используемых компонентов:

В этом руководстве мы использовали только одно оборудование:

1.32L100CDISCOVERY: 32L100CDISCOVERY поможет вам открыть для себя возможности 32-битных микроконтроллеров Cortex®-M3 STM32L100 Value Line и легко разрабатывать ваши приложения. Он включает в себя все необходимое для начинающих и опытных пользователей, чтобы быстро приступить к работе.

Основанный на STM32L100RCT6, он включает встроенный инструмент отладки ST-LINK / V2, светодиоды, кнопки для простого подключения дополнительных компонентов и модулей.

Код:

Поскольку мы создали код с помощью STM32CubeMX, здесь я делюсь с вами основным.c файл.

, вы можете получить файл main.c из раздела Code .

Принцип работы и видео:

Здесь сначала вам нужно открыть STM32CubeMX, затем вам нужно выбрать правильную плату или микроконтроллер, если вы используете настраиваемую плату.

Чтобы увидеть весь процесс, посмотрите наше встроенное видео.

Полное описание проекта дано в выше видео Если у вас есть какие-либо сомнения относительно этого проекта, не стесняйтесь комментировать нас ниже. А если вы хотите узнать больше о встроенной системе, вы можете посетить наш канал на YouTube. Посетите нашу страницу в Facebook, чтобы получать частые обновления.

С уважением и уважением,

Embedotronics Technologies

Как использовать проект TrueSTUDIO с STM32CubeIDE?

Привет Фридолин,

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

К сожалению, функция импорта, встроенная в новый STM32CubeIDE, меняет некоторые элементарные вещи в нашем проекте Embedded Wizard, созданном для TrueSTUDIO.Чтобы использовать наш проект Eclipse Embedded Wizard с STM32CubeIDE, выполните следующие действия.

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

Я сделал это руководство для STM32CubeIDE v1.0.0 , Embedded Wizard 9.20 и STM32F746-Discovery . Шаги одинаковы для всех плат ST, возможно, с некоторыми небольшими отличиями, такими как выбор MCU или имена путей и библиотек.Если у вас возникли проблемы с выполнением шагов с другой платой ST, задайте вопрос здесь, в этой ветке.

1. Загрузите новую среду сборки для своей платы ST, создайте папку в « / Application / Project» и переименуйте ее в «STM32CubeIDE».

2. Скопируйте папку «» из « / Application / Project / TrueSTUDIO» в « / Application / Project / STM32CubeIDE».

3.Перейдите в « / Application / Project / STM32CubeIDE» и удалите «TrueSTUDIO_ew_post_process.cmd» и «TrueSTUDIO_ew_post_process_power_shell_script.ps1». Пост-процесс, упомянутый в статьях «Начало работы», не может использоваться с STM32CubeIDE. То, что делает этот пост-процесс, также легко настроить вручную. Как это работает, описано позже в этой теме.

4. Теперь откройте свой STM32CubeIDE v1.0.0 и выберите созданную папку в качестве рабочей области.

5. Затем запустите функцию импорта, расположенную в «Файл-> Импорт».

6. Тем не менее, функция импорта приведет к невозможности сборки проекта, выберите «Импортировать проект Atollic TrueSTUDIO» и нажмите «Далее».

7. Выберите « / Application / Project / STM32CubeIDE / » с функцией «Directory…» и нажмите «Finish».

8.Нажмите «ОК».

9. STM32CubeIDE необходимо точно знать MCU, который установлен на вашей плате. Поэтому используйте ссылку на соответствующий продукт, которую можно найти на домашней странице ST. Обычно вам нужно выбрать только один MCU. Убедитесь, что этот выбор правильный, иначе проект может быть построен правильно, но процесс флэш-памяти не будет делать то, что должен. Если это сделано, нажмите «ОК».

10. Нажмите «ОК».

11.Снова нажмите «ОК».

12. И снова нажмите «ОК».

13. Если вы попытаетесь собрать проект с помощью «Build-> Build Project», вы получите эту ошибку. Это означает, что автоматически сгенерированный код Embedded Wizard отсутствует.

14. Это легко решить. Просто перейдите к любому примеру, например « / Examples / HelloWorld», и сгенерируйте код пользовательского интерфейса с помощью Embedded Wizard Studio (3.).

15.Обновите проводник проекта, нажав «Щелкните правой кнопкой мыши проект-> Обновить».

16. Затем перейдите в свойства проекта, нажав «Щелкните правой кнопкой мыши проект-> Свойства».

17. Перейдите на вкладку «Включить», которая находится в разделе «Общие C / C ++ -> Пути и символы -> Включает». И здесь вы можете понять, почему проект не может правильно построить. Функция импорта изменяет пути, которые мы определили в «Включает» и «Пути к библиотекам».Слева показаны пути после импорта в STM32CubeIDE, а с правой стороны - как это выглядит в Atollic TrueSTUDIO.

18. Итак, используйте кнопку «Изменить…», чтобы исправить пути, поэтому замените «../../» на «$ {ProjDirPath} /../../../ .. / '.

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

20. Нажмите «Да».

21.Если это сделано, обычно проект следует компилировать, как обычно, с помощью «Build-> Build Project». Сделать обновление проекта (шаг 15) раньше никогда не ошибается.

22. В новый STM32CubeIDE встроен действительно интеллектуальный инструмент для работы с флэш-памятью, который позволяет настроить процесс флэш-памяти всего за несколько шагов. Таким образом, начните с нажатия кнопки «Ошибка-> Отладка как-> 2 STM32 MCU C / C ++ Application».

23. В появившемся окне переключитесь на вкладку «Отладчик».

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

Внимание: шаги 24 и 25 необходимы только в том случае, если вы используете внешнюю вспышку. Не на всех поддерживаемых нами платах ST установлена ​​внешняя вспышка.Чтобы узнать, поддерживается ли внешняя флэш-память, вы можете проверить вкладку «Символ» в том же меню, что описано в шаге 15. Если есть определение с именем «EW_USE_EXTERNAL_FLASH», значит, на вашей плате он есть. В противном случае пропустите шаг выбора флеш-загрузчика.

25. В противном случае выберите загрузчик флэш-памяти для своей платы. Эту информацию вы легко можете найти в « /StartGccBuildEnvironment.bat» за переменной «ExternalLoader». Этот командный файл можно открыть в любом текстовом редакторе.В любом случае выберите правильный загрузчик флеш-памяти и нажмите «Отладка». В идеале приложение должно начать мигать.

26. (Необязательно) Чтобы повторить процесс прошивки, не открывая диалоговое окно, вы можете использовать запись «История запуска», нажав кнопку «Ошибка». Этот выбор появится после того, как вы впервые прошили плату, как на шаге 25.

27. Нажмите «Нет»… или «Переключить», как хотите, после завершения процесса прошивки.

28. В качестве последнего шага вам необходимо запустить приложение, нажав кнопку «Play». Убедитесь, что процесс прошивки прошел успешно.

29. Теперь вы сможете создавать, прошивать и отлаживать свое приложение Embedded Wizard с новым STM32CubeIDE.

Надеюсь, это руководство поможет всем пользователям STM32CubeIDE до тех пор, пока мы не поддержим эту IDE с помощью предопределенного проекта.

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

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