defmtの仕組みをちょっと掘ってみる
背景 以前Baremetal Raspberry Pi 5の開発を行う際、一番困ったのがログ出力ができないことです。 当時の私はRaspberry Pi 5ではPCIeの初期化をするまでシリアル出力ができないと思っていたのです(なお、後にdebug端子を用いてearly debugができることを知る)。 https://speakerdeck.com/tnishinaga/kernelvm-tokyo17?slide=55 代わりに考えたのは、組み込みRustでよく使われているdefmtとRTTを組み合わせてJTAG/SWDデバッガ経由でログを転送して出力する方法です。 通常この組み...