Переход с TrueSTUDIO на STM32CubeIDE
Здравствуйте.
Среда TrueStudio уже больше года «снята с производства», то есть прекращена поддержка, и на их сайте предлагается переходить на STM32CubeIDE (далее просто CubeIDE). Тем не менее я продолжаю пользоваться TrueStudio по причине «сыроватости» новой IDE (на данный момент это версия 1.3). Попробовал я её отчасти в ознакомительных целях, а отчасти в связи с тем, что TrueStudio не поддерживает новую линейку камней stm32MP1, с которым мне пришлось столкнуться.
CubeIDE представляет из себя среду, в которой разработчики объединили TrueStudio и генератор начального кода CubeMX, слегка подкорректировали интерфейс и некоторые настройки. В целом же, это всё та же TrueStudio, только CubeMX открывается в соседней вкладке…
Итак, идём на сайт и качаем последнюю версию…
У меня Ubuntu, поэтому я скачивал первый вариант — STM32CubeIDE-DEB.
Для Windows скачается архив с exe-файлом, для MAC не знаю (MACоводам виднее), а для Линукса скачается архив, который после распаковки превратится в скрипт .sh с длинным именем. Этому скрипту нужно дать права на выполнение (можно прямо в «проводнике» тыкнуть правой кнопкой ⇨ свойства ⇨ вкладка «Права» ⇨ поставить галочку «Разрешить запуск...»). Открываем терминал и запускаем его с правами рута…
В процессе будет предложено прочесть лицензию и согласиться (промотать пробелом), так же нужно будет согласиться с установкой правил для программатора.
После установки запускаем среду (должен где-то появиться ярлык, у меня он в разделе «Разработка»). Она попросит указать «workspace», и далее откроется с вкладкой «Information Center», которую можно смело закрыть.
Перенос проектов из TrueStudio
Копируем папку с проектом в новый «workspace» и удаляем из неё папки
Далее делаем всё как в TrueStudio…
Выбираем папку с проектом и жмём «Finish»…
Программа предложит конвертировать проект, с чем Вы конечно же соглашаетесь…
После этого она сообщит Вам что конвертация прошла без проблем, и если интересно, то можете посмотреть лог-файл этой операции в папке с проектом…
Далее разворачиваем дерево проекта, клацаем файл
Далее клацаем файл Куба —
Скачается новый пакет Firmware.
Появится окошко с применением изменений…
Может долго висеть.
Программа предложит открывать этот файл в отдельной перспективе (самостоятельное окно) — согласитесь. В правом верхнем углу появиться иконка — переключитесь на неё.
Откроется знакомый интерфейс Куба…
На вкладке перед именем файла стоит звёздочка, говорящая о том, что нужно перегенерировать проект. Делается это кнопкой .
Далее нужно переключиться на вкладку с файлом
Проект готов к работе, можно вносить изменения, и билдить с помощью .
Если вылезли какие-то варнинги, тогда попробуйте собрать ещё раз кнопкой или . Если варнинги не убираются, тогда почитайте в чём там дело, так как в новой среде компилятор немного «поумнел» (в конце приведу пример).
Очистка проекта и прочее в меню Project…
Отладка выполняется кнопкой , при этом выскочит окошко с конфигурацией…
Проверьте что правильно указан программатор и жмите ОК.
После этого откроется перспектива с отладкой, там особо ничего нового.
Чтобы просто залить код в камень, минуя отладку, нужно нажать кнопочку
Да, скорее всего среда попросит обновить программатор, поэтому придётся это сделать. Если захотите вернуться к TrueStudio, то это обновление никак не повлияет.
ещё кое-что про обновление
Обычно при первой попытке обновиться, выскакивает сообщение что что-то там с DFU режимом. Решается это отключением-включением программатора в ЮСБ, однако здесь есть один нюанс. Однажды у меня целевой камень был запитан от стороннего источника и таким образом подпитывал программатор. Так вот, из-за этого доп. питания, отключение от ЮСБ не помогало, и программатор отказывался обновляться. В общем суть в том, что нужно не просто отключить программатор от ЮСБ, а полностью его обесточить.
Если внесли какие-то изменения в «Кубе» (буду по старинке называть), тогда не обязательно нажимать , можно , либо , без разницы, все изменения применятся автоматически.
В общем ничего сложного в новой среде нет, нужно только привыкнуть переключать перспективы между кодом и «Кубом».
Создание нового проекта
В меню File ⇨ New выбираем STM32 Project…
Появится окно с выбором микроконтроллера как в обычном Кубе. После выбора и нажатия «Next >», появится окно, в котором нужно дать имя проекту и нажать «Finish»…
Да, теперь не нужно задавать имя проекта и выбирать среду разработки в разделе «Project Manager».
Через некоторое время откроется перспектива с «Кубом». Далее делаем всё по старинке, настраиваем камень, генерируем, и переходим к коду.
В отличии от TrueStudio, здесь папки
Дальше можно работать как обычно.
Некоторые настройки
Чтоб включить вывод на печать переменных типа float, нужно в настройках проекта просто поставить галочку…
Выбор компилятора…
Оптимизация…
По умолчанию отключена. В TrueStudio по умолчанию оптимизация по размеру -Os.
Ну и напоследок про «поумневший» компилятор. В старом проекте у меня были такие строки…
char str[16] = {0,};
snprintf(str, 16, "Temperatura %d\n", temp);
Я знал что значение «temp» будет не больше двух символов, и я чётко умещаюсь в массив. Однако компилятор выкинул варнинг сообщая о том, что мол шестнадцатибитное значение «temp» может содержать от 1 до 6 символов, и есть опасность что вы выйдите за границы массива…
Не знаю, может кому-то это покажется нормальным явлением, но я первый раз столкнулся с такой «заботой».
Ну и в довершение пару слов о «сыроватости». Первые версии показались мне совсем никудышными (работало медленно, и ещё много чего), однако версия 1.3.0 порадовала — работать стала быстрее чем TrueStudio (я имею в виду интерфейс), и сам код компилируется тоже быстрее. Тем не менее недоработок ещё не мало, например я обнаружил что когда в разделе «Куба» меняешь настройку какого-то из таймеров, она не меняется в коде. Так же есть проблемы с отображением неправильных значений в регистрах при отладке. Однако всё это не мешает вам начать изучать новую среду, так как рано или поздно придётся переходить на неё (или на что-то другое) в связи с тем, что некоторые новые камни TrueStudio уже не поддерживает.
Это всё, всем спасибо
Телеграм-чат istarik
Телеграм-чат STM32
- 0
- stD
19630
Поддержать автора
Комментарии (0)