Сборка прошивки STM32 компилятором IAR при помощи GNU Make скрипта (IAR+Make=CI/CD)

В этом тексте я покажу как собрать прошивку при помощи компилятора IAR и GNU Make файлов. Собрать прошивку компилятором IAR с помощью GNU Make — это не просто возможно, это стандартный подход для автоматизации сборки, например, на CI/CD серверах, где использование IDE неудобно. IAR поставляется с набором консольных утилит, которые делают этот процесс вполне прямолинейным.

https://habr.com/ru/articles/1010484/

#IAR #Make #gnu_make #iccarm #ilinkarm #ielftool #CortexM #devops #IAR_Embedded_Workbench #Eclipse_IDE

Сборка прошивки STM32 компилятором IAR при помощи GNU Make скрипта (IAR+Make=CI/CD)

Собрать прошивку компилятором IAR с помощью GNU Make — это не просто возможно, это стандартный подход для автоматизации сборки, например, на CI/CD серверах, где использование IDE неудобно. IAR...

Хабр

Размещение глобальный констант по фиксированным адресам

В программировании микроконтроллеров порой надо сделать так, чтобы после сборки артефактов в прошивке глобальные константы оказались в строго заданных адресах NOR Flash памяти. Причем при пересборке проекта эти адреса оставались прежними. Это особенно полезно? если вы решили выделить конфигурационные и калибровочные выделить в отдельный интервал Flash памяти. Потом это требование международного стандарта программирования ISO-26262. Делается это для того, чтобы появилась возможность менять значения в этом интервале утилитой TunerPRO перед прошивкой бинаря. Фиксированные адреса позволят вам всегда иметь один и тот же *.xdf файл для утилиты TunerPRO.

https://habr.com/ru/articles/966862/

#компоновщик #iso26262 #GCC #tunerpro #tuner_pro #cortexm #arm_cortexm #ld #linker #iso26262

Размещение глобальный констант по фиксированным адресам

"Код отдельно, конфиги -отдельно " В чем проблема? В программировании микроконтроллеров при каждой новой компиляции адреса глобальных констант всегда оказываются в новых ячейках NOR Flash памяти....

Хабр
When I first tested STOP mode on the MCU (before adding any features), power consumption matched the documentation. But once I added peripherals and some functionality, it jumped to 370 µA.
#CortexM #STM32 #LowPower #Firmware
I chose an ultra-low power Cortex-M3 80 MHz from STM. It offers several sleep modes to save energy when idle. In my real-life tests, it showed just 3.35 µA in STOP mode and 10.18 mA in RUN mode—excellent results for this project.
#LowPower #EmbeddedSystems #CortexM #MCU #STM32
The processor is another big energy consumer. It must be efficient, yet still strong enough for smartwatch tasks. I realise that w/ good software architecture & optimisation, a powerful CPU isn’t needed. Even a Cortex-M <100 MHz can be enough. #Smartwatch #LowPower #CortexM #MCU

Bueno, oficialmente estoy lanzando mi curso online de programación de #ARM #CortexM con #SoftwareLibre utilizando 100% herramientas libres. 8 Clases sincrónicas, donde podés participar y preguntar en el momento, quedan las clases grabadas también para futuras consultas o te perdiste la clase.

¡Les espero!

Inscripciones en:
https://cursos.tute-avalos.com/cortex-m-sl

#libOpenCM3 #vscode #platformio #stm32 #linux

Prof. Tute Ávalos

Curso de Programación de ARM Cortex-M con Software Libre

Prof. Tute Ávalos
One of the better guides to Cortex-M / stm32 that I've read! https://www.hitex.com/fileadmin/assets/download/insiders-guides/stm32/isg-stm32-v18d-scr.pdf - not too high level nor too low level. Not overly long, Way more concise than a textbook and much more clear than a datasheet. It had no business being such a good read! #stm32 #cortexm

C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M

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

https://habr.com/ru/articles/819499/

#c++20 ++17 ++ #arm #cortexm #cortexm3 #cortexm4 #baremetal #microcontrollers #stm32

C++20 в bare-metal программировании, работа с регистрами микроконтроллеров Cortex-M

RP2040 peripheral registers Сегодня я хотел бы обсудить тему, с которой так или иначе сталкивался  почти  каждый программист встраиваемых устройств без использования  настоящих...

Хабр

[Перевод] Расшифровка startup файла Arm Cortex-M

В статье предпринята попытка разобраться в содержимое startup файла микроконтроллера STM32F4, построенного на базе ядра Arm Cortex M4. Для запуска ядра используется ассемблерный код, который и предстоит изучить. Для лучшего понимания материала необходимо иметь представление об архитектуре ядра Cortex M4. Сразу отмечу, что замечания и уточнения приветствуются, т. к. они позволят дополнить представленную информацию.

https://habr.com/ru/articles/817629/

#ARM #assembler #startup #cortexm #stm32

Расшифровка startup файла Arm Cortex-M

В статье предпринята попытка разобраться в содержимом startup файла микроконтроллера STM32F4, построенного на базе ядра Arm Cortex M4. Для запуска ядра используется ассемблерный код, который и...

Хабр