2019の22日目の記事です!!こんにちは。今日は普段の開発メモということで最近やったLPC812のブートROMAPIをZigで書いたファームウェアから呼び出した話を書こうと思います。今年の10月ぐらいからマイコンを使ったバッジ+目覚まし時計を作っています(以下全体図)。作ったもの秋月で買えるリアルタイムクロックとOLEDなどを組み合わせた構成で、制御にはLPC812を使っています。ROMが足りない!ハードウェアを作るところまでは順調でしたがソフトを書いているところで問題にぶち当たりました。開発にはmbedを使っていたのですが、mbedのライブラリサイズが大きいらしくLEDを点滅させるだけでもフラッシュメモリの半分を使ってしまい、ディスプレイに文字を表示させるところまで書くとほぼいっぱいになってしまいました。食い尽くされるメモリの図そこでファームウェアは最近知った言語のZigで1から書くことにしました。ベアメタル開発のためのビルド設定Zigでのベアメタル開発の方法は次のリポジトリを参考にさせていただきました。指定します(9行目)。次にビルドターゲットを指定する必要があります(14行目)。