GCC 4.6 и CMSIS: исправляем ошибку компиляции
В процессе изучения STM32 решил я обновить компилятор. Сказано — сделано. Свеженький Sourcery G++ Lite с GCC 4.6.1 на борту был скачен и установлен. Вот только проекты, использующие CMSIS дружно перестали компилироваться выдавая ошибки:
Способы решения проблемы под катом
Error: registers may not be the same -- `strexh r0,r0,[r1]'
Error: registers may not be the same -- `strexb r0,r0,[r1]'
Способы решения проблемы под катом
- +2
- 12 марта 2012, 23:28
- PahanMenski
- 14
Обзор «вспомогательных» утилит из GCC toolchain. Часть 2.

Данная статья является продолжением этой статьи. Предлагаю без лишних слов перейти к обзору оставшихся утилит.
Читать дальше
Обзор «вспомогательных» утилит из GCC toolchain. Часть 1.

Думаю каждый, кто использует GCC, знает, что представляет из себя GCC toolchain. В данный комплект, помимо собственно компиляторов и линкера, входит ряд «вспомогательных» утилит из пакета GNU binutils. Эти утилиты отлично описаны в контексте применения в UNIX системах. А вот о «тонкостях» применения этих утилит при корос-компиляции под МК — информации немного. Предлагаю восполнить данный пробел.
Читать дальше
Тайна AVR GCC
Всем известно, что, даже если проект содержит только while (1), сгенерированный компилятором код имеет довольно существенный размер (около пары сотен байт). Собственно, меня давно интересовало назначение этих инструкций. И сегодня я наконец-то от нечего делать взял дизассемблер, проанализировал содержимое стандартного кода, генерируемого AVR-GCC для каждого проекта, и на случай, если упомянутый вопрос мучал не только меня, решил написать статью, посвященную его полному разбору.
Читать дальше
Читать дальше
Новый mspgcc
Ключевые компоненты:
Как изменилось качество генерируемого кода не знаю, еще не проверял. Библиотека осталась практически без изменений.
- msp430-gcc 4.5.3
- Binutils 2.21.1
- gdb 7.2
Как изменилось качество генерируемого кода не знаю, еще не проверял. Библиотека осталась практически без изменений.
ARM gcc и стандарт c++0x

Захотелось мне странного – проверить, как обстоят дела с поддержкой новых фич стандарта c++0x компилятором GCC для ARM.
Для тестов использовался toolchain YAGARTO с GCC-4.6.0. Судя по официальным данным данная версия компилятора поддерживает стандарт не полностью, но большинство нововведений поддерживаются. Тестовая платформа — микроконтроллер AT91SAM7X512.
Читать дальше
Разработка под stm32 в Linux (GCC + CMake + Eclipse + openocd)
Ко мне наконец-то пришли посылки c отладочной платой и JTAG-адаптером из Китая, и я решил продолжить свои изыскания.
В результате получилась рабочая и вполне удобная среда для разработки под армы в Linux.
UPD: Теперь всё лежит на github'е — https://github.com/ObKo/stm32-cmake
Читать дальше
В результате получилась рабочая и вполне удобная среда для разработки под армы в Linux.
UPD: Теперь всё лежит на github'е — https://github.com/ObKo/stm32-cmake
Читать дальше
Отладочная плата для STM32 aka B.M.O.W.
B.M.O.W.
Я по роду основной деятельности программист, очень много работал на ARM платформе (Symbian, Windows Mobile, Linux, you name it ;)) и вот недавно решил приложить свои профессиональные навыки к хобби — завестиВид сверху: все вроде прилично ;), окромя рабочего бардака на столе…

Читать дальше
Используем CMake и GCC для программирования uC STM32 в линуксе.
Всё у армов хорошо, одна беда — все рассчитано на работу в определенных пропиетарных м платных IDE, которые, естественно, никто портировать на linux не собирается. Для линукса есть такая хорошая вещь — ODeV Idea используются make + gcc + eclipse + openocd. Однако, я решил пойти немного другим путем — разобратся, из чего состоит проект для stm32 и использовать cmake для сборки проектов.
UPD: Теперь всё лежит на github'е — https://github.com/ObKo/stm32-cmake
UPD2: Данный текст слегка устарел (но общий принцип сохранился), актуальные доки на github'е
Читать дальше
UPD: Теперь всё лежит на github'е — https://github.com/ObKo/stm32-cmake
UPD2: Данный текст слегка устарел (но общий принцип сохранился), актуальные доки на github'е
Читать дальше