Concept Map
原理・深掘り
組込みとリアルタイムの仕組みを、まず TL;DR で要点をつかみ、そこから原理まで。
CANバス
1本の車内配線に何十ものECUを共存させ、ノイズの海でも通信が壊れない理由が分かる。差動信号とビットアービトレーションという2つの原理から、CANが40年生き残った堅牢さを腑に落とす。
DMA転送
CPUを回さずにデータを運ぶ仕組みが腑に落ちる。DMAコントローラが転送を肩代わりし、CPUは割り込みで完了だけ受け取る——高スループットと低CPU負荷が両立する理由を原理から理解できる。
RTOSのスケジューリング(RMS・EDF)
組込みで「なぜ締切に間に合うのか」を数式レベルで保証できる。RMSとEDFの使い分け、応答時間解析、そして優先度逆転を潰す優先度継承まで、スケジューリングの原理を一本で押さえられる。
ウォッチドッグタイマ
暴走した組み込み機器が自力で復帰する仕組みが原理から分かる。番犬タイマのキックとリセット、ウィンドウ方式、独立クロックが最後の砦になる理由を理解できる。
シリアルバス(I2C・SPI・UART)
基板上のチップ間配線に迷わなくなる。I2C・SPI・UART の信号線・速度・配線数・同期非同期を原理から並べ、どれをいつ選ぶかを判断できるようになる。
センサインタフェース
センサ値が「なぜかふらつく・ずれる」の原因を原理から潰せる。アナログ/デジタル接続の選び方、ADC取り込み、サンプリングとノイズ対策、キャリブレーションまでを一本の筋で押さえられる。
ブートローダとOTA更新
現場に出た機器のファームを、電源が抜けても文鎮化させずに無線更新する仕組みが分かる。多段ブート・A/Bバンク・署名検証・原子的な切替という4つの原理を、なぜそうするかから理解できる。
ベアメタルとファームウェア
OSなしで動くファームウェアの起動から実行までを一気通貫で理解できる。リセット直後にCPUが何を見て、どうやってmain()にたどり着き、なぜ無限ループで回り続けるのか——組込みの土台が原理からつかめる。
マイコン(MCU)のアーキテクチャ
CPU・フラッシュ・SRAM・ペリフェラルが1チップに載る理由が原理から腑に落ちる。ハーバード型バスとNVIC割り込みの仕組みまで押さえれば、なぜ数百円のチップが確定的に動くのか理解できる。
メモリマップドI/O
ペリフェラルを普通のポインタで叩ける理由と、volatile を外すと動かなくなる仕組みが原理から腑に落ちる。レジスタのビット操作と読み書き順序の落とし穴まで、組込みで刺さる勘所を押さえられる。
リアルタイム制約とWCET
組込みの「間に合う」を勘ではなく数値で保証できる。ハードとソフトの違い、最悪実行時間の見積り、スケジュール可能性の判定までを原理から押さえ、締切超過のリスクを設計段階で潰せる。
割り込みとISR
「なぜか反応が遅い」「たまに変数が壊れる」の正体がわかる。割り込みベクタからISR、優先度とネスト、レイテンシ、前半後半の分離、割り込み禁止までを原理から押さえ、確実に動く割り込み設計の勘所が身につく。
組込みLinux と RTOS の使い分け
組込みでLinuxとRTOSのどちらを選ぶか迷いが消える。締め切りを守れるか、割込みに何マイクロ秒で応じられるか、必要なメモリはどれだけか——決定性・フットプリント・開発性の軸で選定基準と併用構成まで原理から掴める。
低電力設計とスリープモード
電池動作の組込み機器を「何年もつか」で語れるようになる。スリープ階層・電源ドメイン・平均電流の見積り・復帰時間のトレードオフを原理から押さえ、無駄な電流を狙って削れる。