2199133_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2199133_ja-JP

2199133_ja-JP

小さな非セキュアパーティションとセキュアパーティションを持つmcuboot用のファームウェアを生成する

こんにちは、

このテストには frdm_rw612 ボードを使用しています。私の IDE は、MCUxpresso プラグインを備えた vscode です。私はファームウェアを「mcuboot 対応」になるようにコンパイルしようとしています。つまり、それを使用して OTA を実行できるようにしたいと考えています。

まず、このチュートリアルに従いました: https://community.nxp.com/t5/Zephyr-Project-Knowledge-Base/Zephyr-app-with-MCUboot-in-VS-Code/ta-p/2...

期待通りに動作しています。現在のパーティション構成は、boards\nxp\frdm_rw612\frdm_rw612_common.dtsi ファイルで確認したとおりです。

partitions {
			compatible = "fixed-partitions";
			#address-cells = <1>;
			#size-cells = <1>;

			/*
			 * Partition sizes must be aligned
			 * to the flash security sub-region size of 128KB.
			 */
			boot_partition: partition@0 {
				label = "mcuboot";
				reg = <0x00000000 DT_SIZE_K(128)>;
			};
			slot0_partition: partition@20000 {
				label = "image-0";
				reg = <0x00020000 DT_SIZE_K(640)>;
			};
			slot0_ns_partition: partition@C0000 {
				label = "image-0-non-secure";
				reg = <0x000C0000 DT_SIZE_M(3)>;
			};
			slot1_partition: partition@3C0000 {
				label = "image-1";
				reg = <0x003C0000 DT_SIZE_K(640)>;
			};
			slot1_ns_partition: partition@460000 {
				label = "image-1-non-secure";
				reg = <0x00460000 DT_SIZE_M(3)>;
			};
			storage_partition: partition@760000 {
				label = "storage";
				reg = <0x00760000 (DT_SIZE_M(57) - DT_SIZE_K(384))>; 
			};
		};

私の理解では、hello-world の例は非常に小さいSO、小さな (640kB) セキュア パーティション内に収まります。

残念ながら、現在のファームウェア (Wi-Fi、Bluetooth など) で同じことを実行すると、パーティションがオーバーロードされるというメッセージが表示され、コンパイルできません。

[...]/arm-zephyr-eabi/bin/ld.bfd.exe: zephyr\zephyr_pre0.elf section `rodata' will not fit in region `FLASH'
[...]/arm-zephyr-eabi/bin/ld.bfd.exe: region `FLASH' overflowed by 1682828 bytes

総括する:

mcuboot をコンパイルしてフラッシュCAN。また、hello-world の例を正しくフラッシュすることもCAN (UART からこの hello-world アプリを正しくロードできることを確認できます)。一方、「大きな」ファームウェアをコンパイルすることはできません。

メインファームウェアが配置される非セキュア領域にのみジャンプする、最小限のセキュアパーティションを持つイメージを生成するにはどうすればよいでしょうか?

FUTUREこの安全なパーティションを使用する予定なので、現在のパーティション構造を維持したいと考えています。

ありがとうございました。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは@_arthur_ さん、お元気ですか。

パーティションのサイズを変更する場合は、パーティションの場合と同様にオーバーレイ ファイルで行うことができますが、MCUboot が対象のパーティション内のイメージを認識できるように構造を維持する必要があります。

さらに、フラッシュ パーティションを共有して使用する場合、これは TF-M スタックで使用することを意図しており、TF-M スタックでも MCUboot をセキュア ブートローダーとして使用して、安全な環境でイメージを検証およびロードすることになるため、注意してください。

保護されたストレージの詳細については、Zephyr リファレンス ドキュメントの「Secure Storage」を参照してください。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

少しは進歩しました。短期的な解決策として、frdm_rw612_common.dtsi ファイル内の slotx_partition を slotx_ns_partition と反転し、より大きなセキュア パーティションをコンパイルしてCAN使用します。

オーバーレイ ファイルでこれを変更すると、コンパイルはCANますが、実行時に mcuboot はイメージにジャンプできなくなります。mcuboot が生成されると、現在のプロジェクトではオーバーレイ ファイルが使用されないと思われます。

とにかく、セキュアなパーティションと非セキュアなパーティションの違いがよく分かりません。ファームウェア全体をセキュアパーティションに格納することには、何か欠点がありますか?

このプロジェクトに PSA_protected_storage を追加する方法がまだわかりません。この機能を追加すると、どのパーティションがこの機能に使用されますか?

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

問題はあなたのサンプルと同じです。フラッシュ サイズ 640kB (デフォルトのセキュア パーティション サイズ) を超えるとすぐに、コンパイル時に次のエラーが発生します。

領域「FLASH」が15872バイトオーバーフローしました

このsmp_svrサンプルにBTとUDPのサポートを追加すると、エラーが表示されます。

SO、私のこれまでの質問はすべて、私の問題を理解し解決するために残っています。

メインファームウェアが配置される非セキュア領域にのみジャンプする、最小限のセキュアパーティションを持つイメージを生成するにはどうすればよいでしょうか?

これら両方のパーティションを処理するファームウェアを生成するにはどうすればよいでしょうか?

psa_protected_storage を使用する場合、暗号化されたデータはどこに保存されますか?この機能を使いたいです。

さらに、ファイル用のカスタムの不揮発性パーティションが必要になりますが、これは common.dtsi のパーティション テーブル定義の現在の storage_partition ですか?

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは@_arthur_

MCUboot を使用して OTA を実行する必要がある場合は、「smp_svr」サンプルを使用することをお勧めします。このサンプルの主な目的は、MCUmgr プロトコルで使用するファームウェアの更新を行い、Bluetooth、UDP、UART などを介して更新を可能にすることです。このサンプルは MCUboot と連携して、適切に署名されたバイナリを確認し、MCU に更新します。

サンプルをテストするには、ファームウェアのアップデートを行うために MCUmgr クライアントをダウンロードする必要があり、最初に MCUboot を個別にビルドしてフラッシュし、次に smp_svr サンプルの prj.conf ファイルに必要なマクロを追加して smp_svr サンプルをビルドしてフラッシュする必要があります (これは、使用する OTA トランスポートによって異なります)。これが完了すると、システムは MCUmgr クライアントと適切に通信して、アップロードされたイメージのリストを確認し、新しいイメージをロードできるようになります。

MCUboot の新しい有効なイメージをロードするには、ロードするサンプルの prj.conf ファイルに次の構成を追加することをお勧めします。

CONFIG_HEAP_MEM_POOL_SIZE=2048

次のようにすると、サンプルをビルディングするだけで、MCUboot の有効な署名付きイメージを生成できます。

CONFIG_MCUBOOT_SIGNATURE_KEY_FILE=" /root-rsa-2048.pem"

CONFIG_MCUBOOT_GENERATE_CONFIRMED_IMAGE=y

CONFIG_BOOTLOADER_MCUBOOT=y


これがあなたにとって有効であり、あなたの要件を満たしているかどうかを教えてください。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こちらの投稿を読みました: https://community.nxp.com/t5/Wi-Fi-Bluetooth-802-15-4/Zephyr-MCUBoot-TFM-Demo-using-RW612/ta-p/20475...

tfm 構造をより深く理解するために、「psa_protected_storage」サンプルもダウンロードしましたが、イメージをどのようにパーティション分割するかはまだよくわかりません。

たとえば、psa_protected_storage の場合、暗号化されたデータを保存するために使用されるパーティションはどれですか?それは「storage_partition」にありますか?

上記の投稿では、fw_storage パーティションについて言及しています。このパーティションはありませんが、Wi-Fi は使用できます。

最新のドキュメントはどこにありますか?何か特別なことをしようとしているわけではなく、mcuboot を使用して OTA を実行できるようにしたいだけですが、その方法を理解するための正しいドキュメントを見つけるのに苦労しています。

ご回答をよろしくお願いします。

アーサー

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

正直に言うと、分かりません。最初の投稿で述べたように、frdm_rw612 パーティション分散が推奨される方法であると思われるため、それに従うことにしました。

まだプロトタイプなので、現時点では安全な機能は使用していませんが、間もなく製品版に取り組む予定であり、後で問題になるような選択を今日はしたくありません。

FRDM_RW612 には、640kB のセキュア パーティションと 3MB の非セキュア パーティションがあります。

現在のアプリケーションのサイズは 2.3 MB です (最適化はまったく行われていません)。

これら両方のパーティションを処理するファームウェアを生成するにはどうすればよいでしょうか?

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは@_arthur_ さん、お元気ですか。

ご希望のパーティション配分をご確認ください。小さくて安全でないパーティションと大きくて安全なパーティションですか、それともその逆ですか?さらに、アプリケーションのサイズも共有していただけますか?

いずれのCASEでも、各パーティション サイズ 128kB の配置を考慮して、オーバーレイ ファイルを使用してパーティション サイズを変更できるはずです。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

親愛なるローマンへ

私の質問に答えてくれないので、完全に理解するのは困難です。

ただし、構造を維持する必要があります」と言うとき、最初にセキュアなパーティションがあり、その後に非セキュアなパーティションがあることを意味しますか?

このプロジェクトに PSA_protected_storage を追加する方法がまだわかりません。この機能を追加すると、どのパーティションがこの機能に使用されますか?

メインファームウェアが配置される非セキュア領域にのみジャンプする、最小限のセキュアパーティションを持つイメージを生成するにはどうすればよいでしょうか?

これら両方のパーティションを処理するファームウェアを生成するにはどうすればよいでしょうか?

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

ありがとう、よく理解できました。

このリンクはエンジニアリング チームによって作成されたものですか?https://community.nxp.com/t5/Wi-Fi-Bluetooth-802-15-4/Zephyr-MCUBoot-TFM-Demo-using-RW612/ta-p/20475...

それでも SDK をこのように変更する必要がありますか?「非セキュア イメージの変更」セクションで説明されているように、非セキュア イメージを変更できないためです。nxp_zephyr\zephyr\に「build」フォルダが存在しません

さらに、frdm_rw612_rw612_ns.dts ファイルには、frdm_rw612_common.dtsi ですでに構成されているすべてのパーティションを削除する行があります。パーティション構造を維持するというアイデアには従いません。

とにかく、非セキュアボードを使用すると、ストレージパーティションを使用しているためコンパイルされず、/delete-node/行でストレージパーティションが存在しなくなります。

&w25q512jvfiq {
	/delete-node/ partitions;

	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		slot0_ns_partition: partition@080C0000 {
			label = "image-0-non-secure";
			reg = <0x080C0000 DT_SIZE_M(3)>;
		};

		/* This partition is reserved for connectivity firmwares storage
		 * and shouldn't be moved.
		 */
		fw_storage: partition@400000 {
			label = "fw_storage";
			reg = <0x400000 0x280000>;
			read-only;
		};
	};
};

「開発は独自で行う必要がある」とおっしゃるのは、TF-M を公式にサポートしていないということですか?それで、SDK を手動で変更する必要があるのですか?

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは@_arthur_

はい、そのガイドは当社のエンジニアリングチームによってZephyrバージョン4.0.0で使用するために作成されました。ただし、おっしゃるとおり、それ以降のバージョン (現時点では 4.2.0 および 4.3.0) では、ガイドに示されている TFM の例に BL2 統合 (セキュア ブートローダとしての MCUboot) がデフォルトで含まれているため、このガイドは必要ありません。したがって、バージョン 4.2.0 ダウンストリームおよびアップストリーム、および 4.3.0 では、この機能はすでにサポートされています。

これで疑問が解消されることを願っています。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

わかりました。理解が深まりました。

frdm_rw612_rw612_ns.dts ファイルでこれを削除すると、tfm を使用してファームウェアをコンパイルできます。

&w25q512jvfiq {
	/delete-node/ partitions;

	partitions {
		compatible = "fixed-partitions";
		#address-cells = <1>;
		#size-cells = <1>;

		slot0_ns_partition: partition@080C0000 {
			label = "image-0-non-secure";
			reg = <0x080C0000 DT_SIZE_M(3)>;
		};

		/* This partition is reserved for connectivity firmwares storage
		 * and shouldn't be moved.
		 */
		fw_storage: partition@400000 {
			label = "fw_storage";
			reg = <0x400000 0x280000>;
			read-only;
		};
	};
};

パーティション ノードを削除する目的がわかりません。

とにかく、「tfm_merged.hex」をフラッシュすると、次のような出力が得られます:

[INF] Starting bootloader
[WRN] This device was provisioned with dummy keys. This device is NOT SECURE
[INF] PSA Crypto init done, sig_type: EC-P256, using builtin keys
[INF] Image index: 1, Swap type: none
[INF] Image index: 0, Swap type: none
[INF] Bootloader chainload address offset: 0x20000
[INF] Image version: v0.0.0
[INF] Jumping to the first image slot
Booting TF-M v2.2.0+g9a6c6f958
[WRN] This device was provisioned with dummy keys. This device is NOT SECURE
[Sec Thread] Secure image initializing!
[INF][PS] Encryption alg: 0x5500100
[INF][Crypto] Provision entropy seed...
[INF][Crypto] Provision entropy seed... complete.

bl2 は正常に起動しているように見えますが、その後何も起こりません。安全でないファームウェアが起動しません。

ファイル zephyr_ns_signed.hex もフラッシュしようとしましたが、結果は同じでした。

私がそう思うのは間違っているだろうか

boot_partitionはbl2(mcuboot)があるパーティションです
slot0_partitionはtfm(psa)のパーティションです
slot0_ns_partitionはファームウェアのパーティションです
 
この安全でない構成は、sysbuild を有効にして mcuboot をビルドすることと互換性がないことを確認しますか?ここで説明されているように: https://community.nxp.com/t5/Zephyr-Project-Knowledge-Base/Zephyr-app-with-MCUboot-in-VS-Code/ta-p/2...
Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは@_arthur_

TF-MとBL2を使ってアプリケーションをビルドしてフラッシュする際に、どのような手順を踏んでいるのか教えていただけますか?MCUbootのビルドにはsysbuildを使用していますか?

さらに、パーティションはおっしゃるとおり、セキュア パーティションは TF-M のセキュア サービスをホストするためのもので、非セキュア パーティションは非セキュア アプリケーション用になります。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

sysbuild の場合:

  1. tfm用に変更したプロジェクトでsysbuildを有効にし、このCmake Extra Args SB_CONFIG_BOOTLOADER_MCUBOOT='y'を追加します。
  2. 「純粋なビルド」をすると、さまざまなものがコンパイルされます
  3. 最後にこのメッセージが表示される
image.py: sign the payload
image.py: sign the payload
Usage: imgtool.py sign [OPTIONS] INFILE OUTFILE
Try 'imgtool.py sign -h' for help.

Error: Image size (0x1ed91c) + trailer (0x1b0) exceeds requested size 0xa0000
image.py: sign the payload
Batch file failed at line 12 with errorcode 2
Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

sysbuild を使用するとさらに悪くなります。これは、hello_world の例 (つまり、mcuboot もパーティション分割も使用しない) から作成した現在のプロジェクト (Wifi、Bluetooth、イーサネット などの多くの機能がすでに実装されている) で行っていることです。

  1. デバッグ構成では、ボードを frdm_rw612 から frdm_rw612/rw612/ns に変更します。そして、DTC_OVERLAY_FILE='boards/frdm_rw612.overlay' を明示的に設定します(現在のプロジェクトで使用しているオーバーレイファイルと同じものを保持するため)。
  2. prj.confに以下の内容を追加します
  3. 前回のメッセージでお伝えした内容をfrdm_rw612_rw612_ns.dtsファイルから削除します
  4. プロジェクトを右クリックして「選択したターゲットをフラッシュ」し、tfm_merged.hexを選択します。

prj.confに追加する内容

CONFIG_BUILD_WITH_TFM=y

CONFIG_WIFI_NXP=y
CONFIG_NXP_RW610=y
CONFIG_ETH_DRIVER=y

# stack size
CONFIG_SHELL_STACK_SIZE=6144
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=2048
CONFIG_NET_MGMT_EVENT_STACK_SIZE=4608
CONFIG_NET_TCP_WORKQ_STACK_SIZE=2048
CONFIG_MAIN_STACK_SIZE=4096
CONFIG_IDLE_STACK_SIZE=1024

コンソールに表示される内容:

[INF] Starting bootloader
[WRN] This device was provisioned with dummy keys. This device is NOT SECURE
[INF] PSA Crypto init done, sig_type: EC-P256, using builtin keys
[INF] Image index: 1, Swap type: none
[INF] Image index: 0, Swap type: none
[INF] Bootloader chainload address offset: 0x20000
[INF] Image version: v0.0.0
[INF] Jumping to the first image slot
Booting TF-M v2.2.0+g9a6c6f958
[WRN] This device was provisioned with dummy keys. This device is NOT SECURE
[Sec Thread] Secure image initializing!
[INF][PS] Encryption alg: 0x5500100
[INF][Crypto] Provision entropy seed...
[INF][Crypto] Provision entropy seed... complete.

出力結果から判断すると、すでにブートローダーが存在するため、sysbuild を有効にしませんでした。

何が間違っているのか教えていただけますか?

ご協力の程、よろしくお願い申し上げます。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

私が何を間違っているのか教えてもらえますか?今週ファームウェアを公開するためには、解決策を見つけることが私にとって非常に重要です。

ご協力いただきありがとうございます

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは@_arthur_ 、遅くなってごめんなさい。

BL2 を搭載した TF-M で基本ファームウェアを生成してみましたが、正常に動作しています。frdm_rw612_rw612_ns.dts ファイルから、ご指摘のセクションを削除する理由は理解できますが、このオーバーレイはボードの非セキュア「バージョン」で TF-M が使用するパーティション構造を設定するものであるため、この手順は必須です。これを削除すると、互換性のない構造が生成され、アプリケーションが MCUboot の既知のアドレスにロードされない可能性があります。

プロジェクトで生成された dts ファイルを共有していただけますか?それとも、dts のパーティション セクションのスクリーンショットでしょうか?プロジェクト内の次のパスに配置する必要があります: debug/zephyr/zephyr.dts

ご辛抱いただきありがとうございます。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

申し訳ありませんが、まだ同じ質問があります。

1. sysbuild を有効にする (および SB_CONFIG_BOOTLOADER_MCUBOOT="y" を設定する) 必要がありますか?

2. prj.conf に追加している内容は正しいですか?

3. すべてがコンパイルされたら何をフラッシュする必要がありますか?

パーティション ノードの削除を維持する必要があると言われています。次に、このシナリオにおける私の問題点は次のとおりです。

現在のファームウェアでは、common.dtsi で定義された storage_partition を使用しています。非セキュア構成を使用すると、すべてのパーティションが削除されるため、storage_partition が定義されなくなり、コードをコンパイルできなくなります。4. この非セキュア構成で storage_partition を使用するにはどうすればよいですか?

common.dtsi で定義された同じパーティション構造を維持する必要があると明示的に述べられました。5. では、なぜ fw_storage パーティションは 0x400000 に配置されているのでしょうか?common.dtsi 構造を調べてみると、これは slot1_partition にあります。

6. ところで、この fw_storage パーティションとは何でしょうか?なぜ「標準」の安全な構成ではないのですか?

あまり時間がないのは承知していますが、私の 6 つの質問にご回答ください。それが私の理解を深め、自立するのに役立ちます。

storage_partition と Wifi/BLE コネクティビティを使用して標準ファームウェアをコンパイルおよびフラッシュするための、ステップバイステップの TF-M と BL2 の例を共有していただければ完璧です。ありがとう

PS: 現状では意味をなさないため、DTS のパーティション セクションは共有しませんでした。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは@_arthur_

sysbuild を有効にする (および SB_CONFIG_BOOTLOADER_MCUBOOT="y" を設定する) 必要がありますか?
いいえ、TF-M ビルド システムにはデフォルトで MCUboot が含まれているため、sysbuild を使用する必要はありません。

prj.conf に追加している内容は正しいですか?
はい、観察してみると、ボードの非セキュア バージョン用のプロジェクトを作成するときに、「CONFIG_BUILD_WITH_TFM」がデフォルトで設定されます。

すべてがコンパイルされたら何をフラッシュする必要がありますか?
それは状況によりますが、TF-M ビルド システム Zephyr ドキュメントのスクリーンショットには、生成された各ファイルのユーティリティに関する詳細な説明があります。

RomanVR_0-1766013775436.png

ただし、初めて使用する場合、MCUboot ブートローダ、TF-M セキュア イメージ、および非セキュア アプリケーションのマージを含む tfm_merged.hex ファイルをフラッシュする必要があることに注意してください。

この安全でない構成でストレージ パーティションを使用するにはどうすればよいですか?
TF-M 構成のフラッシュ レイアウトではこのストレージ用のスペースが予約されているため、ユーザーは TF-M が提供する安全なストレージ サービスを使用することが予想されます。

ところで、この fw_storage とは何でしょうか?
fw_storage パーティションは、Wi-Fi、BLE、および 802.15.4 ファームウェア ストレージ用に予約されています。


この情報があなたの開発に役立つことを願っています。ご辛抱いただきありがとうございます。


Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

明日ファームウェアを公開しなければならないのですが、返信を期待できますか?それとも、まだあなたの側で準備ができていないので、プラン B を見つける必要がありますか?

ご回答をよろしくお願いします。

アーサー

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

フィードバックありがとうございます。パーティション構造に関する質問には回答しませんでした

5. では、なぜ fw_storage パーティションは 0x400000 に配置されているのでしょうか?common.dtsi 構造を調べてみると、これは slot1_partition にあります。

1.この fw_storage は重要と思われますが、なぜ「セキュア」構成で言及されないのでしょうか?

2. このパーティションに必要なファームウェアを配置するには、何か特別な操作を行う必要がありますか?

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは@_arthur_ さん、お元気ですか。

ご質問にお答えすると、Wifi ファームウェアは自動的にロードされるものと予想されます。ただし、この問題については社内で確認中です。

ご辛抱いただきありがとうございます。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

コンパイルしてフラッシュしてみました(tfm_merged.hex)基本サンプル用。zephyr/samples/hello_world を使用すると次のようになります:

[INF] Starting bootloader
[WRN] This device was provisioned with dummy keys. This device is NOT SECURE
[INF] PSA Crypto init done, sig_type: EC-P256, using builtin keys
[INF] Image index: 1, Swap type: none
[INF] Image index: 0, Swap type: none
[INF] Bootloader chainload address offset: 0x20000
[INF] Image version: v0.0.0
[INF] Jumping to the first image slot
Booting TF-M v2.2.0+g9a6c6f958
[WRN] This device was provisioned with dummy keys. This device is NOT SECURE
[Sec Thread] Secure image initializing!
[INF][PS] Encryption alg: 0x5500100
[INF][Crypto] Provision entropy seed...
[INF][Crypto] Provision entropy seed... complete.
*** Booting Zephyr OS build nxp-v4.1.0-23883-g5fbcfde7cfc2 ***
Hello World! frdm_rw612/rw612/ns

SO、すべてが期待どおりに機能しているようです。

ただし、zephyr/samples/net/wifi/shell のような WiFi を使用する例を使用すると、ファームウェア (WiFi と BLE を使用) と同じ出力が得られます。

[INF] Starting bootloader
[WRN] This device was provisioned with dummy keys. This device is NOT SECURE
[INF] PSA Crypto init done, sig_type: EC-P256, using builtin keys
[INF] Image index: 1, Swap type: none
[INF] Image index: 0, Swap type: none
[INF] Bootloader chainload address offset: 0x20000
[INF] Image version: v0.0.0
[INF] Jumping to the first image slot
Booting TF-M v2.2.0+g9a6c6f958
[WRN] This device was provisioned with dummy keys. This device is NOT SECURE
[Sec Thread] Secure image initializing!
[INF][PS] Encryption alg: 0x5500100
[INF][Crypto] Provision entropy seed...
[INF][Crypto] Provision entropy seed... complete.

したがって、問題の根本的な原因は Wi-Fi にあり、ファームウェア パーティションに関する私の質問に関連している可能性があります。Wifi と tf-m を使用してサンプルをコンパイルする手順を共有していただけますか?

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは@_arthur_

ホリデーシーズンのため、返答にかかるおおよその時間をお伝えすることはできませんが、何か分かり次第お知らせいたします。

ありがとう。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

ご協力いただきありがとうございます。到着予定時間はどれくらいですか?数日ですか、それとも数週間ですか?

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは@_arthur_ さん、ありがとうございます。あなたにとっても 2026 年が幸せな年になりますように!

このマターに関して社内チームからの返答をまだ待っていますので、返答が届き次第お知らせします。

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、ローマン。

2026年もNXPとあなたの成功を祈っています

このトピックに関して何かニュースはありますか?

ありがとうございました。

アーサー

Re: Generate a firmware for mcuboot with a small non secure partition and a secure partition

こんにちは、 @_arthur_ さん。この件についてお待たせして申し訳ありません。

ZephyrのWi-Fi ShellサンプルをTF-Mでビルドした際に、アプリケーションが正しく起動しないという問題が発生していた件について、prj.confファイルに以下の設定を追加してみてください。

# General
CONFIG_HEAP_MEM_POOL_SIZE=122880

# TF-M S
CONFIG_TFM_BL2=y
CONFIG_BUILD_WITH_TFM=y
CONFIG_TFM_PROFILE_TYPE_NOT_SET=y

# Update the flash base address of ns image
CONFIG_FLASH_BASE_ADDRESS=0x80C0000

# TF-M IPC
CONFIG_TFM_IPC=y
CONFIG_TFM_ISOLATION_LEVEL=2

# TF-M NS

CONFIG_HWINFO=y
# Networking (TF-M NS)
CONFIG_NETWORKING=y
CONFIG_NET_L2_ETHERNET=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_DHCPV4=y
CONFIG_NET_IPV4=y
CONFIG_NET_TCP=y
CONFIG_DNS_RESOLVER=y
CONFIG_ETH_DRIVER=n
CONFIG_WIFI=y
# NXP Networking (TF-M NS)
CONFIG_WIFI_NXP=y
CONFIG_NXP_RW610=y
CONFIG_NET_MGMT_EVENT_QUEUE_SIZE=20
CONFIG_NET_BUF_DATA_SIZE=1744
CONFIG_NET_SOCKETS_POLL_MAX=12
CONFIG_ZVFS_OPEN_MAX=30
CONFIG_PSA_CRYPTO_ENABLE_ALL=y

これらの設定により、シェルアプリケーションが正常に起動するはずです。しかしながら、現在社内チームで確認中の動作として、「wifi scan」コマンドを使用するとアプリケーションがハードフォルト状態になるという問題があります。したがって、「wifi scan」の代わりに「nxp_wifi scan」コマンドを使用して、近くのネットワークをスキャンしてください。ただし、以下に示すように、デフォルトの「wifi connect…」コマンドを使用すれば、ネットワークに接続できるはずです。

RomanVR_0-1778007625891.png

これがあなたにとって有効かどうか教えてください。

Tags (1)
No ratings
Version history
Last update:
‎05-06-2026 02:34 AM
Updated by: