U-Boot board_init_f の内部動作:Mini2440 移植における初期化シーケンス
board_init_f の概要
U-Boot の第 1 段階である board_init_f は、リロケーション(RAM へのコード複写)前にグローバルデータ gd を整え、各種周辺機器とメモリ空間を準備する。本稿では Mini2440(S3C2440)を対象に、この関数がどのように U-Boot を DRAM 上へ展開する準備を進めるかを追う。
gd 構造体と初期フラグ
gd_t は U-Boot 全体で共有されるグローバルデータ ...
10月23日 02:56 投稿
STM32用Xmodem-1kシリアル通信ブートローダの実装
本稿では、STM32マイクロコントローラ向けに、Xmodem-1kプロトコルを介したシリアル通信によるファームウェアアップデート機能を実装するブートローダについて解説します。このブートローダは、将来的なリモートアップデートを見据え、外部SPIフラッシュメモリ(W25Qシリーズ)インターフェースもサポートする設計となっています。
機能概要
効率的なファームウェアア ...
8月5日 02:43 投稿
i.MX シリーズ向け U-Boot のビルド環境構築と起動手順解説
ブートローダーの役割と移植アーキテクチャ
ARM ベースの Linux 組み込みシステムにおいて、プロセッサの電源投入直後に実行される最初のソフトウェアはブートローダー(Bootloader)である。その主要な責務はクロック初期化、DRAM コントローラのセットアップ、そしてストレージデバイス(eMMC/NAND/SDカード等)からカーネルイメージをメモリ領域へ展開し、エントリポイ ...
7月26日 22:40 投稿
Android Verified Boot 2.0 の検証メカニズムと実装詳細
Android Verified Boot (AVB) の概要
Android Verified Boot (AVB) は、デバイス上の各パーティションイメージが改ざんされていないことを保証するための仕組みです。もしイメージに不正な変更が加えられた場合、デバイスの起動プロセスは異常として処理され、セキュリティリスクを防ぎます。
起動プロセスにおける検証の連鎖は以下の通り構成されています。
PBL (Pri ...
7月22日 03:26 投稿
省RAM型BootLoaderの設計と実装
省RAM型BootLoaderとは
省RAM型BootLoaderは、外部メモリを使わずにファームウェア更新を完結させる方式である。
更新イメージはアプリケーションフラッシュ領域に直接書き込むため、RAM や外部ストレージを追加する必要がない。
一方で、更新失敗時にアプリケーションが消失するリスクがあり、失敗検知とリカバリ機構が必須となる。
省RAM型と二領域型の比較
観点 ...
7月19日 17:08 投稿