組み込み
一読しとこう
組み込みの門
アーキテクチャ
マイクロコントローラ
通称マイコン
stm32
言語
ツール郡
主にCortex-Mマイコンが対象
CrashCatcher
bloaty
puncover
checkStackUsage
linkermapviz
Corex-M4で開発するときに用意するものメモ
- Hardfaultトラップ
- 用法フォールトトラップ(アンアラインドアクセス、ゼロ割を想定)
- CPPUTest環境
- printf環境
- シェル環境
シェル環境
プログラミング
初期化されないRAM領域を作る
組み込みシステムにおいて、プログラム本体はFlashメモリに、変数はRAMに格納される事が多い。標準的なマイコンではRAM領域は起動時に0クリアするようなコードが記載されている。stm32の場合はアセンブリファイルに記載されている。
ここでデバッグのためにわざと0クリアしない領域を確保することが便利なこともある。
例えば、致命的なエラーやウォッチドッグなどに再起動をしたとき、何が原因だったかを保存しておいたものを出力するなど。
Pocket article: How to implement and use `.noinit` RAM