このドキュメントでは、RW61x DevHSM Loader アプリケーションを OEM 製造ファームウェア (OEM MFW) と組み合わせて使用し、安全なデバイス プロビジョニングを実行する方法について説明します。ブート フローに応じて、2 つの DevHSM ローダー イメージが利用可能です。
どちらのフローも、最終的にはOEM製造ファームウェア(OEM_MFW.sb3)をロードして実行します。デバイスをプロビジョニングするもの(例:安全なキー、ID、証明書など)。このファームウェアはSEC ツールを使用して生成できます。
DevHSM Loader ファームウェアは、ダウンロードすると SEC ツール パッケージで提供されます。SEC ツールはデフォルトで ISP ローダー アプリケーションを使用します。
この方法では、ブート ROM ISP プロトコルを使用します。これは通常、開発中、工場立ち上げ時、またはフラッシュが構成される前の初期プログラミング中に使用されます。
デバイスをISPブートモードで起動する
デバイスが ISP モードに入り、 blhostと通信できるように、正しいブート ピンが設定されていることを確認します。
DevHSMローダーファームウェアをダウンロードするreceive-sb-fileコマンドを使用して、シリアル インターフェース経由でRW61x_DevHSM_Loader_FW.sb3を送信します。
更新されたデバイスの状態を確認するget-property 0x1を使用して、ファームウェアが受け入れられ、それに応じてブート状態が変更されたことを確認します。
OEM MFW (OEM_MFW.sb3) をダウンロードして実行します。
DevHSM Loader がアクティブになったら、プロビジョニング ファームウェア SB3 ファイルを送信します。
OEM MFW がロード、実行し、プロビジョニング操作を開始します。
スクリプト例:
set blhost=blhost.exe
set comport=COMxx,115200
set timeout=-t 100000
%blhost% -p %comport% -- get-property 0x1
pause
blhost.exe -p %comport% %timeout% -- receive-sb-file RW61x_DevHSM_Loader_ISP_Boot_FW.sb3
pause
%blhost% -p %comport% -- get-property 0x1
pause
blhost.exe -p %comport% %timeout% -- receive-sb-file OEM_MFW.sb3
このフローでは、デバイスは外部フラッシュ (FlexSPI) から直接起動します。これは、デバイスが最初の起動時に自動的にセルフプロビジョニングする必要がある工場のラインなどのゼロタッチ プロビジョニング シナリオを対象としています。
OEM 製造ファームウェア (OEM MFW) をフラッシュに配置するには、 2 つのオプションがあります。
オプション1: 固定OEM MFWアドレス(0x08010000)
| アドレス | 目的 |
|---|---|
| 0x08000400 | フラッシュ構成ブロック (FCB) |
| 0x08001000 | DevHSMローダーFlexSPIブートファームウェア |
| 0x08010000 | OEM_MFW.sb3 |
FCBを0x08000400にプログラムする
使用中の外部フラッシュ デバイス (サイズ、タイミング、SPI モードなど) と一致する必要があります。
RW61x_DevHSM_Loader_FlexSpi_Boot_FW.sb3 を 0x08001000 にプログラムします。
OEM_MFW.sb3を0x08010000にプログラムする
次回の起動時に、DevHSM Loader は 0x08010000 にある OEM MFW を自動的に検索して実行します。
オプション 2: カスタム アドレスの OEM MFW
OEM_MFW.sb3 を別のアドレスに配置する場合は、固定の場所に構成ブロックを提供する必要があります。
Magic word (0x4448534D) || OEM_MFW target address
Example @0x08020000: 4448534D00000208
これは、OEM MFW が保存されている場所を DevHSM Loader に通知します。
0x4448534Dデバイスの電源がオンになると、次のようになります。
OEM_MFW.sb3 は、プロビジョニング後にデバイスの運用アプリケーションをインストールまたは更新する役割を担います。構成されたオフセットで新しいアプリをロードするか、デフォルトのアプリケーションの場所 (0x08001000) を再プログラムする必要があります。