Just another linux+STM32F4 toolchain

Примерно полгода назад я пытался заставить работать в Ubuntu связку gcc + eclipse. Не осилил, умыл руки и пошел дальше работать в Keil. Однако Новый год, новый ноутбук взамен разбитого со свежим Linux Mint — заставили меня вспомнить былое, запастись терпением и вбить в гугл заветную фразу «STM32F4 linux developing». Спустя примерно 6 часов неудачных сборок, моя отладочная плата весело мигает светодиодом. Как оно было — читайте под катом.


Читать дальше
  • +4
  • 09 января 2014, 04:49
  • anper
  • 3

ATOMIC-макросы для ARM

Поклонникам контроллеров AVR и компилятора WinAVR хорошо знаком макрос
ATOMIC_BLOCK(SOMETHING),
с помощью которого обычно реализуется атомарный доступ. При переходе на контроллеры ARM возникает вопрос: а где мой любимый ATOMIC_BLOCK? А нету. Восполним этот пробел.


Читать дальше

Спариваем CoIDE и российский Cortex M3

Микроконтроллеры серии 1986ВЕ9х производства ЗАО «ПКК Миландр» приятно удивляют своими характеристиками, но к сожалению поддерживаются только коммерческими средствами разработки! Уважающим старый добрый GCC посвящается!


Читать дальше
  • +13
  • 27 ноября 2013, 13:19
  • Direct
  • 2

Указатель на икс

Вопрос экспертам: что лучше (и в каких случаях) использовать союз типа

union
{
    uint8  *u8;
    uint16 *u16;
    uint32 *u32;
};


или
void *DataPtr


с явным приведением типа (естественно в применение к эмбеддед системс)? Точнее что безопаснее или какой вариант компилятору (ГЦЦ) больше по вкусу?
ЗЫ… форумы мне не интересны

Это-ж open source!

Хороши продукты с открытым исходным кодом — бесплатны, свободны, сообщество и всё такое. Да вот ошибки в ни, к сожалению не редкость. Но это-ж open source! Нашел ошибку, исходный код есть — возьми и почини. Сказать легко. Дальше маленькое расследование одной редкой, но неприятной ошибки в пакете binutils для ARM.


История одной ошибки

Шаблоны проектов на C++ для AVR [GCC, IAR]

Шаблоны проектов для микроконтроллеров: ATmega48, ATmega16, ATmega32, ATmega128.

Хотел оформить в виде ссылки, да забыл стиль поста выбрать. Подробности и обсуждение на форуме тут: Шаблоны проектов на C++ для AVR [GCC, IAR]
  • -1
  • 21 ноября 2012, 22:35
  • uni

Особенности выбора и установки STM32F4 тулчейна на MacOS X 10.7.5

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

По ряду причин даже не стал смотреть YAGARTO, CooIDE под mac нет, поэтому выбрал путь Eclipse CDT + GRNUARM + arm-none-eabi тулчейн. Достойных внимания тулчейнов на этот момент два — Mentor Graphics CodeBench Lite (бывший Sourcery G++ Lite) и summon-arm-toolchain.

Читать дальше

Преобразуем в строку. Часть 1. Целые числа.

Задача преобразования числа в строку стоит всегда, когда нужно отобразить числовые результаты работы программы. Процессоры у нас оперируют двоичными данными, человеку-же подавай десятичные числа. Собственно задача состоит в преобразовании базы числа. Какие для этого есть способы? Целью данной статьи является описание и сравнение максимального количества способов преобразования числа в строку. Задачу, естественно, рассматриваем с точки зрения реализации на микроконтроллерах, по этому размер и скорость имеют значение. Для простоты рассматриваем только без-знаковые 32-х и 16-ти разрядные числа (со знаком не намного сложнее).


Читать дальше

Заминированный retarget printf в CooCox/CoIDE

Стал разбираться в последнем CoIDE с semihosting (возможность делать вывод в консоль через JTAG/SWD) и обнаружил интересный баг, на разбор которого убил некоторое время. Поскольку мина уже обезврежена, то делюсь с теми, кто ещё не успел на ней подорваться.


Читать дальше

Обезвреженный шаблон для STM32

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

Речь пойдет о том как написать минимальной код для STM32 (тестил только на F103xx), запустить его и отладить без JTAG/SWD. Когда-то я читал, что-то подобное для AVR, а вот для STM32 не нашел, все примеры обмазаны CMSIS и JTAG.

Читать дальше