Hi,
Readmeに注意深く従いましたが、最後の手順は失敗しました。署名付きバイナリ ファイルが PC からダウンロードされましたが、再起動後に期待どおりにプライマリ スロットに移動しませんでした。何らかの理由で、ブートローダーはイメージに欠陥があると考え、イメージを消去しました。
パディングされた画像とパディングされていない画像の両方を使用しました。
python imgtool.py sign --key C:\nxp\IMXRT\SDK_2_15_100_MIMXRT1170-EVKB\boards\evkbmimxrt1170\ota_examples\mcuboot_opensource\cm7\keys\sign-rsa2048-priv.pem --align 4 --header-size の0x400 --pad-header --slot-size 0x200000 --max-sectors 800 --version "1.18.0"C:\Users\geo15\Documents\MCUXpressoIDE_11.9.0_2144\workspace\evkbmimxrt1170_ota_mcuboot_client_enet\Debug\evkbmimxrt1170_ota_mcuboot_client_enet.bin ota.bin --pad --confirm
可能な解決策は?
ターミナル出力。
OTA HTTPS クライアントのデモ (イーサネット)
PHY を初期化しています...
DHCP から IP アドレスを取得しています...
************************************************
OTA HTTPS クライアントの例
************************************************
IPv4アドレス : 10.1.15.164
IPv4サブネットマスク:255.255.255.0
IPv4ゲートウェイ:10.1.15.1
************************************************
著作権 2022 NXP
$ ota 0 /ota.bin 10.1.15.119 4433
OTAを次のように開始しました。
画像 = 0
ファイル = /ota.bin
ホスト = 10.1.15.119
ポート = 4433
.乱数ジェネレータをシードしています...
.CA ルート証明書を読み込んでいます...OK (0 スキップ)
.クライアント証明書の読み込み。そしてキー...わかりました
.10.1.15.119:4433に接続しています
.SSL/TLS 構造を設定しています...わかりました
.SSL 状態接続 : 0
.SSL/TLS ハンドシェイクを実行しています...
[ プロトコルはTLSv1.2]
[ 暗号スイートは TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384 ]
[ レコード拡張は29 ]
.ピア X.509 証明書を確認しています...スキップ
要求されたファイル '/ota.bin' のサイズを取得しています
決定されたファイルサイズは255016バイトです
ブロック・サイズが 4096 バイトで 255016 バイトのダウンロードを開始
...............................................................
ダウンロード ループはサイズ 0 255016 で完了し、予想される 255016
ダウンロードされたデータの MD5 hexdump:
00000000 AE 1E E3 BC FB AA 51 24 E5 88 A9 01 F2 95 E2 CC |......Q$........|
フラッシュされたデータの MD5 hexdump:
00000000 AE 1E E3 BC FB AA 51 24 E5 88 A9 01 F2 95 E2 CC |......Q$........|
OTAイメージが正常にダウンロードされました。
$画像情報
画像0;名前APP;状態パーマネント:
スロット 0;slotAddr 30040000;スロットサイズ 2097152
スロット1;slotAddr 30240000;スロットサイズ 2097152
<画像APP_SECONDARY:サイズ253656;バージョン 1.18.0.0>
$ イメージ テスト 0
マジックナンバーのオフセット = 0x43ff00を書く
$画像情報
画像0;名前APP;ReadyForTest の状態:
スロット 0;slotAddr 30040000;スロットサイズ 2097152
スロット1;slotAddr 30240000;スロットサイズ 2097152
<画像APP_SECONDARY:サイズ253656;バージョン 1.18.0.0>
$ 再起動
システムリセット!
こんにちはSBLです。
フラッシュリマッピング機能の無効化
ブートローダーバージョン1.10.0
画像 0 プライマリ スロット: 画像が見つかりません
セカンダリスロット: version=1.18.0+0
スロット 1 で候補を見つけました
copy_doneを書く;fa_id=1 オフ=0x1fffe0 (0x43ffe0)
2 次スロットからロードされた画像 0
ブートローダーのチェーンロードアドレスオフセット:0x240000
Reset_Handlerアドレスオフセット:0x240400
画像にジャンプする
セカンダリ スロットのブート - フラッシュの再マッピングが有効になっています
OTA HTTPS クライアントのデモ (イーサネット)
PHY を初期化しています...
DHCP から IP アドレスを取得しています...
************************************************
OTA HTTPS クライアントの例
************************************************
IPv4アドレス : 10.1.15.164
IPv4サブネットマスク:255.255.255.0
IPv4ゲートウェイ:10.1.15.1
************************************************
著作権 2022 NXP
$画像情報
画像0;名前APP;状態テスト:
スロット 0;slotAddr 30040000;スロットサイズ 2097152
スロット1;slotAddr 30240000;スロットサイズ 2097152
<画像APP_SECONDARY:サイズ253656;バージョン 1.18.0.0>
$ こんにちは SBL です。
フラッシュリマッピング機能の無効化
ブートローダーバージョン1.10.0
画像 0 プライマリ スロット: 画像が見つかりません
セカンダリスロット: version=1.18.0+0
セカンダリスロットの不良イメージを消去しています。
画像 0 にロードするスロットがありません
起動可能なイメージが見つかりません
Hi,
私が質問をして時間を無駄にし、あなたが質問に答えるのではなく、正確なドキュメントを公開する方が良かったと思いますが、それはおそらく不必要だと思いますが、それは私の意見にすぎません。将来、NXPからのより良いドキュメントに期待しています。
Hi @drb55 ,
このエラーによりご迷惑をおかけして申し訳ございませんが、心よりお詫び申し上げます。そして、この不一致を指摘していただきありがとうございます。
この問題に関して、社内チームから回答を受け取りました。
この違いは、リマップ機能の使用によるものです。RT1050 や RT1020 のようなプラットフォームでは、再マップ機能がないため、mcuboot はイメージを slot2 から slot1 に移動する必要があります。ただし、リマップ機能をサポートするプラットフォームの場合は、リマップ機能を有効または無効にするだけで、ジャンプするスロットを選択できます。SDK の readme 生成メカニズムが原因で、ドキュメントの問題が発生しました。
それまでの間、この問題は報告されており、今後のリリースバージョンで修正される予定です。
良い一日をお過ごしください。
よろしくお願いいたします
ギャビン
Hi,
開発中の誰かが実際にドキュメントとreadmeファイルを読んで正確性を確認していますか、それともNXPは顧客がエラーを見つけて指摘することを望んでいますか。
Hi,
ご指摘いただきありがとうございます。私は内部チームと相談しており、このスレッドで最新情報をお知らせします。
よろしくお願いいたします
ギャビン
Hi,
あなたの提案に基づいて、私は今両方のスロットに画像を持っています。ブートローダがセカンダリ スロットのイメージから起動し、セカンダリ スロットのイメージをプライマリ スロットに移動する代わりに、プライマリ スロットの非アクティブ イメージのヘッダーを削除するのはなぜですか(direct-xip のダウングレード サポート)。
Readmeドキュメントには、セカンダリスロットのイメージをプライマリスロットに移動するようにと記載されています。
ドキュメントと実際の結果との不一致について説明していただけますか?
フラッシュリマッピング機能の無効化
ブートローダーバージョン1.10.0
プライマリスロット: version=2.1.0+0
画像 0 セカンダリ スロット: 画像が見つかりません
スロット 0 で候補を見つけました
copy_doneを書く;fa_id=0 オフ=0x1fffe0 (0x23ffe0)
イメージ 0 がプライマリ スロットからロードされた
ブートローダーのチェーンロードアドレスオフセット:0x40000
Reset_Handlerアドレスオフセット:0x40400
画像にジャンプする
プライマリ スロットのブート - フラッシュの再マッピングは無効です
OTA HTTPS クライアントデモ V1V1V1 (イーサネット)
PHY を初期化しています...
DHCP から IP アドレスを取得しています...
************************************************
OTA HTTPS クライアントの例
************************************************
IPv4アドレス : 10.1.15.110
IPv4サブネットマスク:255.255.255.0
IPv4ゲートウェイ:10.1.15.1
************************************************
著作権 2022 NXP
$ 画像情報
画像0;名前APP;状態なし:
Slot 0; slotAddr 30040000; slotSize 2097152
Slot 1; slotAddr 30240000; slotSize 2097152
$ ota 0 /ota.bin 10.1.15.119 4433
OTAを次のように開始しました。
画像 = 0
file = /ota.bin
ホスト = 10.1.15.119
ポート = 4433
.乱数ジェネレータをシードしています...
.CA ルート証明書を読み込んでいます...OK (0 スキップ)
.クライアント証明書の読み込み。そしてキー...わかりました
.10.1.15.119:4433に接続しています
.SSL/TLS 構造を設定しています...わかりました
.SSL 状態接続 : 0
.SSL/TLS ハンドシェイクを実行しています...
[ プロトコルはTLSv1.2]
[ 暗号スイートは TLS-ECDHE-RSA-WITH-AES-256-GCM-SHA384 ]
[ レコード拡張は29 ]
.ピア X.509 証明書を確認しています...スキップ
要求されたファイル '/ota.bin' のサイズを取得しています
決定されたファイルサイズは 255024 バイトです
ブロック・サイズが 4096 バイトで 255024 バイトのダウンロードを開始
...............................................................
ダウンロード ループはサイズ 255024 で完了し、予想される 255024
ダウンロードされたデータの MD5 hexdump:
00000000 D0 B2 1D E5 3E CD 0C EE D5 DE 5B D3 4B F5 95 49 |....>.....[.K..I|
フラッシュされたデータの MD5 hexdump:
00000000 D0 B2 1D E5 3E CD 0C EE D5 DE 5B D3 4B F5 95 49 |....>.....[.K..I|
OTAイメージが正常にダウンロードされました。
$ 画像情報
画像0;名前APP;状態なし:
Slot 0; slotAddr 30040000; slotSize 2097152
Slot 1; slotAddr 30240000; slotSize 2097152
$ イメージ テスト 0
マジックナンバーのオフセット = 0x43ff00を書く
$ 画像情報
画像0;名前APP;ReadyForTest の状態:
Slot 0; slotAddr 30040000; slotSize 2097152
Slot 1; slotAddr 30240000; slotSize 2097152
$ こんにちは SBL です。
フラッシュリマッピング機能の無効化
ブートローダーバージョン1.10.0
プライマリスロット: version=2.1.0+0
セカンダリスロット: version=2.2.0+0
スロット 1 で候補を見つけました
copy_doneを書く;fa_id=1 オフ=0x1fffe0 (0x43ffe0)
2 次スロットからロードされた画像 0
ブートローダーのチェーンロードアドレスオフセット:0x240000
Reset_Handlerアドレスオフセット:0x240400
画像にジャンプする
セカンダリ スロットのブート - フラッシュの再マッピングが有効になっています
OTA HTTPS クライアント デモ V2V2V2 (イーサネット)
PHY を初期化しています...
DHCP から IP アドレスを取得しています...
************************************************
OTA HTTPS クライアントの例
************************************************
IPv4アドレス : 10.1.15.110
IPv4サブネットマスク:255.255.255.0
IPv4ゲートウェイ:10.1.15.1
************************************************
著作権 2022 NXP
$ 画像情報
画像0;名前APP;状態テスト:
Slot 0; slotAddr 30040000; slotSize 2097152
MAGE APP_PRIMARY:サイズ253664、バージョン2.1.0.0>
Slot 1; slotAddr 30240000; slotSize 2097152
MAGE APP_SECONDARY: サイズ 253664; バージョン 2.2.0.0>
$ 画像は 0 を受け入れます
プライマリ スロットの非アクティブ イメージのヘッダーの削除 (direct- xip のダウングレード サポート)
$ こんにちは SBL です。
フラッシュリマッピング機能の無効化
ブートローダーバージョン1.10.0
画像 0 プライマリ スロット: 画像が見つかりません
セカンダリスロット: version=2.2.0+0
2 次スロットからロードされた画像 0
ブートローダーのチェーンロードアドレスオフセット:0x240000
Reset_Handlerアドレスオフセット:0x240400
画像にジャンプする
セカンダリ スロットのブート - フラッシュの再マッピングが有効になっています
OTA HTTPS クライアント デモ V2V2V2 (イーサネット)
PHY を初期化しています...
DHCP から IP アドレスを取得しています...
************************************************
OTA HTTPS クライアントの例
************************************************
IPv4アドレス : 10.1.15.110
IPv4サブネットマスク:255.255.255.0
IPv4ゲートウェイ:10.1.15.1
************************************************
著作権 2022 NXP
$画像情報
画像0;名前APP;状態パーマネント:
Slot 0; slotAddr 30040000; slotSize 2097152
Slot 1; slotAddr 30240000; slotSize 2097152
$
Hi @drb55 ,
あなたの手術は成功するはずだと思います。操作が成功したかどうかはどうやってわかりますか?2つのイメージのバージョン情報によって?2回目の操作で再起動が表示されません。
私にとっては、2つの同一の画像によって区別され、印刷情報の違いだけが区別されます。(V1のまたは V2)
イメージ テスト 0 ---> > 再起動 ---> > イメージ--> - > イメージ受け入れ 0
再起動ステップが成功すると、候補イメージが実行されます。その後の手順は、非アクティブな IMAGE のヘッダーを削除するだけです。
よろしくお願いいたします
ギャビン
Hi,
提案どおりに更新され、別のメッセージが表示されます。パディングとリリース設定なしでビルドされたイメージ。
OTA HTTPS クライアントのデモ (イーサネット)
PHY を初期化しています...
DHCP から IP アドレスを取得しています...
************************************************
OTA HTTPS クライアントの例
************************************************
IPv4アドレス : 10.1.15.179
IPv4サブネットマスク:255.255.255.0
IPv4ゲートウェイ:10.1.15.1
************************************************
著作権 2022 NXP
$ こんにちは SBL です。
フラッシュリマッピング機能の無効化
ブートローダーバージョン1.10.0
プライマリスロット: version=1.6.0+0
セカンダリスロット: version=1.7.0+0
2 次スロットからロードされた画像 0
ブートローダーのチェーンロードアドレスオフセット:0x240000
Reset_Handlerアドレスオフセット:0x240400
画像にジャンプする
セカンダリ スロットのブート - フラッシュの再マッピングが有効になっています
OTA HTTPS クライアントのデモ (イーサネット)
PHY を初期化しています...
DHCP から IP アドレスを取得しています...
************************************************
OTA HTTPS クライアントの例
************************************************
IPv4アドレス : 10.1.15.179
IPv4サブネットマスク:255.255.255.0
IPv4ゲートウェイ:10.1.15.1
************************************************
著作権 2022 NXP
$画像情報
画像0;名前APP;状態パーマネント:
スロット 0;slotAddr 30040000;スロットサイズ 2097152
<画像APP_PRIMARY:サイズ303792;バージョン 1.6.0.0>
スロット1;slotAddr 30240000;スロットサイズ 2097152
<画像APP_SECONDARY:サイズ303792;バージョン 1.7.0.0>
$ イメージ テスト 0
マジックナンバーの書き込み offset = 0x23ff00
$画像情報
画像0;名前APP;ReadyForTest の状態:
スロット 0;slotAddr 30040000;スロットサイズ 2097152
<画像APP_PRIMARY:サイズ303792;バージョン 1.6.0.0>
スロット1;slotAddr 30240000;スロットサイズ 2097152
<画像APP_SECONDARY:サイズ303792;バージョン 1.7.0.0>
$ こんにちは SBL です。
フラッシュリマッピング機能の無効化
ブートローダーバージョン1.10.0
プライマリスロット: version=1.6.0+0
セカンダリスロット: version=1.7.0+0
スロット 0 で候補を見つけました
copy_doneを書く;fa_id=0 オフ=0x1fffe0 (0x23ffe0)
イメージ 0 がプライマリ スロットからロードされた
ブートローダーのチェーンロードアドレスオフセット:0x40000
Reset_Handlerアドレスオフセット:0x40400
画像にジャンプする
プライマリ スロットのブート - フラッシュの再マッピングは無効です
OTA HTTPS クライアントのデモ (イーサネット)
PHY を初期化しています...
DHCP から IP アドレスを取得しています...
************************************************
OTA HTTPS クライアントの例
************************************************
IPv4アドレス : 10.1.15.179
IPv4サブネットマスク:255.255.255.0
IPv4ゲートウェイ:10.1.15.1
************************************************
著作権 2022 NXP
$画像情報
画像0;名前APP;状態テスト:
スロット 0;slotAddr 30040000;スロットサイズ 2097152
<画像APP_PRIMARY:サイズ303792;バージョン 1.6.0.0>
スロット1;slotAddr 30240000;スロットサイズ 2097152
<画像APP_SECONDARY:サイズ303792;バージョン 1.7.0.0>
$ 画像は 0 を受け入れます
セカンダリスロットの非アクティブなイメージのヘッダーの削除(direct-xip のダウングレードサポート)
$画像情報
画像0;名前APP;状態パーマネント:
スロット 0;slotAddr 30040000;スロットサイズ 2097152
<画像APP_PRIMARY:サイズ303792;バージョン 1.6.0.0>
スロット1;slotAddr 30240000;スロットサイズ 2097152
Hi @drb55 ,
NXP MIMXRTシリーズにご興味をお寄せいただきありがとうございます。
私はRT1060EVKを私の側でテストしました、それはフラッシュアドレスを除いてRT1170と同じであるべきです。
いくつかの点を確認してください。
1. プログラマがフラッシュメモリに直接プログラムする署名付きアプリケーションイメージには、imgtool 用の「--pad --confirm」パラメータが追加で必要です。このパラメータは、署名付きイメージにトレーラーを追加し、ブートローダーの direct-xip プロセスで必要です (詳細については、MCUBoot のドキュメントを参照してください)。OTAプロセスで使用される署名付き画像は、「-pad」パラメータは必要ありません。
2. Jlinkを使用して、署名されたクライアントのイメージをフラッシュし、0x3004_0400ではなくアドレス0x3004_0000でフラッシュします。
私はあなたのログを読みました、そしてslot0は常に空であることがわかりました、これは正しくありません。
これが私のログです:
手順に従うと、良いニュースが得られるはずです。
よろしくお願いいたします
ギャビン