Pull to refresh

Comments 19

Нужно быть внимательным к версии arm-none-eabi-gcc.(весь toolchain )
Та что стоит в Ububtu 16.xx по умолчанию продуцирует некорректный код.
Пока не поменял на arm-none-eabi-gcc(15:4.9.3+svn231177-1) 4.9.3 20150529 результат зависел от порядка линковки.
А разве для gcc результат может не зависеть от порядка передачи объектных файлов компановщику?!
Должен зависеть. Однако результат падать не должен.Обычно компилятор винишь последним если простая программа не работает

Спасибо за совет. Проверил только что у себя на основной машине и на тестовой, по которой писал статью.


Вместе с SW4 идёт последняя версия тулчейна:


$ ./arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors 6-2017-q2-update) 6.3.1 20170620 (release) [ARM/embedded-6-branch revision 249437]
$ ./arm-none-eabi-as --version
GNU assembler (GNU Tools for ARM Embedded Processors 6-2017-q2-update) 2.28.0.20170620

На рабочей же машине отдельно ставил тулчейн из PPA, он старее, конечно:


$ ./arm-none-eabi-gcc --version
arm-none-eabi-gcc (GNU Tools for ARM Embedded Processors) 5.4.1 20160609 (release) [ARM/embedded-5-branch revision 237715]
$ ./arm-none-eabi-as --version
GNU assembler (GNU Tools for ARM Embedded Processors) 2.26.0.20160616
Copyright (C) 2015 Free Software Foundation, Inc.

Но в любом случае, это надо иметь ввиду, конечно же. Спасибо!

Вместе с SW4 идёт последняя версия тулчейна

Это хорошо. Я просто на работе ставил, без SW4 (сложно было регистрироваться, firewall злобный и лицензия не подходит), только STM32Cube который генерировал makefile. Вот тут я и попал :(
Всё-таки он тяжеловат. Плюс я люблю тёмную тему, у него тёмная просто ужасная. Да и вообще, мне некомфортно в нём работать. Не хватает множества фишек, котором я привык в ST3 за 7 лет работы в нём.

Конечно, ST3 никогда не станет полноценной IDE. Да и не нужно. Он легкий, очень быстрый, удобный и глаза от него никогда не устают.

У меня стоят два больших широкоформатных монитора. На основном ST3, на втором SW4. Ну и 4 виртуальных рабочих места. Мне так очень удобно.
А QtCreator не пробовали? Сам по себе весьма шустрая IDE. Правда у самого пока руки не дошили попробовать его под задачи Embedded-разработки. Но в сети достаточно статей на эту тему.
Я сам не пробовал. Судя по статьям, уж больно хиленький там дебаггер для STM32. Да и в принципе непотребное количество телодвижений, чтоб начать проект. В своей текущей связке я начинаю проект за 20 секунд без танцев с бубном. Хотя, конечно, чисто для работы QtCreator гораздо приятнее (для меня) в работе, чем Eclipse.
Вы так часто начинаете новые проекты?
Скажем так. Если ставить часто, то однозначно нужно больше автоматической генерации. Если ставить редко и с достаточно большим количеством дополнительных телодвижений, то будешь косячить частенько. Обязательно будешь забывать поставить какую-нибудь галку и прописать какой-нибудь путь.

И главное, ради чего? Каждый волен сам выбирать удобный рабочий инструмент.
Можно вместо ST3 использовать VS Code, туда можно добавить сборку и отладку и не надо тянуть за собой ws4. Все плюшки с подсветкой синтаксиса и тд там есть. Да и собирать можно мейкфайлом который генерирует куб, всего-то надо добавить путь к gcc.
Кстати, чтобы не качать 32 битные либы можно запустить установщик куба: java -jar SetupSTM32CubeUpdater-4.10.0.exe
Вроде ставится без 32 битных либ, но могу ошибаться, тк давно ставил с нуля, уже точно не помню.

Да, можно. Visual Studio очень мощная и навороченная IDE. Но очень неповоротливая. Я где-то год с ней не работал, но когда я ещё программировал Atmega, мне было очень некомфортно. После Sublime Text или даже Eclipse, дико раздражали тормоза. Хотя машина у меня i5, 24Gb и SSD. Кстати говоря, мне было бы интересно почитать про настройку Visual Studio для STM32 под Linux.


К сожалению, не удалось запустить инсталятор CubeMX без 32-битных либ. Я сейчас не могу воспроизвести ошибку, но даже если запускать инсталятор самой Java, выдавало ошибку.


К тому же, под SW4 эти либы также нужны. Вот что написано на openstm32.org:


Also, for reliability reasons, we use Linaro GCC releases that are intensively tested by the community and would not like to recompile these; however Linaro only release 32-bit binaries, so you may need some 32-bit libraries, and at least ncurses5 tend not to be installed by default on Ubuntu.
Вы не правильно меня поняли, не Visual Studio, а Visual Studio Code, это просто мощный текстовый редактор с плагинами и подсветкой синтаксиса.
Картинка
image

Вчера попробовал на новой, чистой убунте 64-разрядной запустить установку кубика из под жавы, все установилось без 32-битных библиотек.
Странно. Я воевал час, ни в какую без этих либ установка не запускалась.

А как насчёт дебаггинга в нём?
Ставите плагин: Native debug и используете arm-none-eabi-gdb в линук/виндовс/макось. Все настраивается. Прошиваю вот так: st-flash --reset write build/lwtcp.bin 0x8000000 из встроенного терминала. Можно назначить и прошивку при дебаге, если настроить правильно. Там очень гибкая система. Самое удобное то, что у меня дома макос, на работе линукс, а среда получается одна.
Насчет удобства дебажить могу только сказать — дебажит, но я почти не пользуюсь, не потому что не удобно, просто не пользуюсь. Мне проще компильнуть — зашить — посмотреть.
Ой, промахнулся.

Ну вот в SW4 всё работает «из коробки». А как сам дебаггер? realtime есть? Регистры портов, шин?
Да, он работает «из коробки», но тяжелый и не поворотливый. А тут все быстро и удобно. SW4 наверняка сам через gdb сервер работает, как и Native debug, так что все эти плюшки есть, но я уже написал, что с отладкой сильно не разбирался, нужды нет.
Ссылка на описание
Sign up to leave a comment.

Articles