r_fwup Rev.2.00 はリトルエンディアン限定でしょうか?

お世話になっています。

よしとです。

r_fwup Rev.1.06 を使って RX66N のセルフアップデート動作を組み込んでいましたが、r_fwup Rev.2.00 でシリアルポートの制御がユーザアプリケーション側で設定できるようになったため、r_fwup Rev.2.00 への移行を検討しています。

以下の条件で初期書き込みファイルを生成して Renesas Flash Programmer で書き込んだ後、bootloader のエリア(128kB) だけを消去して上書きする設置で bootloader のプロジェクトをデバッグしています。

【条件】

MCU :RX66N デュアrモード(R5F566NNDxBD_DUAL)

エンディアン:Big

bootloader サイズ:128kB(ボードの初期化処理が必要なため、64kB では厳しい)

メインエリア:0xFFE00000 ~ 0xFFFDFFFF

bootloaderエリア:0xFFFE0000 ~ 0xFFFFFFFF

バッファエリア:0xFFC00000 ~ 0xFFDFFFFF

認証方式:sha256-ecdsa

hash_sha256() 関数で読み込まれる st_fw_desc_t 構造体部分のデータは下記の様になっています。

n の値は 2 であるはずだと思うのですが、0x02000000 となっており、とんでもなく大きな値になってしまって、

hash_sha256() の検証ループから延々抜け出せないような状況になってしまっていました。

r_fwup Rev.2.00 のアプリケーションノートには、動作確認環境として「リトルエンディアン」と明記されていますが、

ビッグエンディアンのプロジェクトは考慮されていないのでしょうか。

或いは Renesas Image Generator で初期書き込みファイルを生成する時にビッグエンディアンのプロジェクトの場合

指定すべきオプションが存在するのでしょうか?

何かとんでもない間違いをしでかしているような気もしますが、ご教授頂ければ幸いです。

以上、よろしくお願いいたします。

Parents
  • よしとです。

    自己レスをお許しください。

    Renesas Image Generator の  Python ファイル image-gen.py 内に有る little の文字列を全て big に書き換えて

    初期書き込みファイルを生成し直してそれを書き込みましたところ rsu ヘッダ内の情報はビッグエンディアンのバイト配置で

    出力され、dc に読み込んだデータも正しくなり、R_FWUP_VerifyImage(FWUP_AREA_MAIN) での検証をパスするようになりました。

    取り敢えずこれでデバッグを続けることにします。

    以上、よろしくお願いいたします。

Reply
  • よしとです。

    自己レスをお許しください。

    Renesas Image Generator の  Python ファイル image-gen.py 内に有る little の文字列を全て big に書き換えて

    初期書き込みファイルを生成し直してそれを書き込みましたところ rsu ヘッダ内の情報はビッグエンディアンのバイト配置で

    出力され、dc に読み込んだデータも正しくなり、R_FWUP_VerifyImage(FWUP_AREA_MAIN) での検証をパスするようになりました。

    取り敢えずこれでデバッグを続けることにします。

    以上、よろしくお願いいたします。

Children
No Data