メディア

基板にあわせて必要なソフトウェアのカスタマイズ項目マイクロプロセッサQ&Aハンドブック(5)(2/3 ページ)

» 2025年02月11日 12時00分 公開

 基板にあわせて必要なソフトウェアのカスタマイズ項目について、比較的回路構成がシンプルなSTマイクロエレクトロニクスのエントリー向けマイクロプロセッサSTM32MP13シリーズを例に説明します。

ブートプロセスの基礎知識

 プロセッサに電源が投入されてから、OS上のユーザープログラムが実行されるまでには、いくつかの過程があります。これらをブートプロセスと呼びます。

 まず、初めに起動するプログラムはROMコードです。ROMコードはブートピンの設定もしくはOTPの設定に従って、起動するブートソースを決定します。代表的なブートソースとブートピンの設定を示します(表1

ブートソース1 ブートソース2 ブートピン(BOOT0-2)の設定
シリアル/USB - 000
QSPI NORフラッシュメモリ シリアル/USB 001
eMMC シリアル/USB 010
パラレルNANDフラッシュメモリ シリアル/USB 011
なし(開発者モード) - 100
SDカード シリアル/USB 101
シリアル/USB シリアル/USB 110
QSPI NANDフラッシュメモリ シリアル/USB 111
表1:代表的なブートソースとブートピンの設定例

 ROMコードはブートピンの設定に従い、ブートソース1からのブートを試みます。ブートソース1からのブートが失敗すると、ブートソース2からのブートを試みます。ROMコードからの起動からユーザープログラムが立ち上がるまでは、多段階になっており、表2に示す順番で起動します。ROMコードはブートローダ―と呼ばれる起動プログラムをロードし、実行します。ブートローダ―は電源やクロック、ブートデバイスのメモリ設定など、ブートに必要な初期化処理を行います。

順番 名称 プログラム実行領域 代表的なソフトウェア 起動時の主な初期化処理 ボードに依存した部分の
カスタマイズ方法
起動の確認方法
(STM32MP13シリーズ)
1 ROMコード プロセッサ内蔵
のROM
半導体ベンダーに依存 ブートソースの選択 OTP エンジニアリング
モード時にデバッグ用
LED(PA13)が点滅
2 ファースト
ステージ
ブートローダ―
(FSBL)
プロセッサ内蔵
のSRAM(SYSRAM)
TF-A ピン設定
シリアルコンソール
電源
システム時間
クロックツリー
DDRメモリ
ブートデバイス
ファイアウォール
TF-Aの
デバイスツリー
デバッグ用
LED(PA13)が消灯
3 セキュアモニター 外部DDRメモリ OPTEE ファイアウォール OPTEEの
デバイスツリー
 
4 セカンド
ステージ
ブートローダ―
(SSBL)
外部DDRメモリ U-Boot   U-Bootの
デバイスツリー
 
5 OS
カーネル空間
外部DDRメモリ Linux   Linuxの
デバイスツリー
 
6 OS
ユーザー空間
外部DDRメモリ Systemd等   -  
表2:ブートの順番とソフトウェア

Copyright © ITmedia, Inc. All Rights Reserved.

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.