目次

組み込み

一読しとこう
組み込みの門

アーキテクチャ

Cortex-M
Cortex-A

マイクロコントローラ

通称マイコン
stm32

言語

組み込みC/C++

ツール郡

主にCortex-Mマイコンが対象
CrashCatcher
bloaty
puncover
checkStackUsage
linkermapviz

Corex-M4で開発するときに用意するものメモ

シェル環境

https://github.com/funbiscuit/embedded-cli

プログラミング

初期化されないRAM領域を作る

組み込みシステムにおいて、プログラム本体はFlashメモリに、変数はRAMに格納される事が多い。標準的なマイコンではRAM領域は起動時に0クリアするようなコードが記載されている。stm32の場合はアセンブリファイルに記載されている。
ここでデバッグのためにわざと0クリアしない領域を確保することが便利なこともある。
例えば、致命的なエラーやウォッチドッグなどに再起動をしたとき、何が原因だったかを保存しておいたものを出力するなど。
Pocket article: How to implement and use `.noinit` RAM

参考文献

A Strategy for Reporting Version Information from Bootloaders