2403224_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

2403224_ja-JP

2403224_ja-JP

HSE AB Swapはベアメタル状態では動作するが、S32K312でMCALクロック設定後に失敗する。

こんにちは、

私は、HSEファームウェアバージョン0.2.55.0(ab_swapバリアント)を搭載したS32K312 MINI-EVB上で、HSE-B AB Swapに取り組んでいます。当該ボードはOEM_PRODライフサイクルにあり、バンクAは現在アクティブ状態です。両方のバンクは同じHSEファームウェアバージョンを使用しています。

ベアメタル環境でメイン関数がHSE INIT_OKをポーリングし、その後アクティブパッシブブロックサービスを送信する、動作するリファレンスがあります。その呼び出しは成功を返し、スワップは次のリセット時に適用されます。バンクBには、RM00286のセクション11.3に従って下位アドレス空間用にコンパイルされたポインタを含む有効なIVTが含まれています。

MCALクロック初期化後にブートローダーに移動された同じMU送信コードは、HSE応答55A5A26A(無効なアドレス)を返します。HSE INIT_OKは設定されたままです。他のHSEサービス(AES、RSA、SHA)はこの州で正常に機能しています。正常に動作する実行と失敗する実行の唯一の違いは、ブートローダーパスがクロック初期化中にMC_CGM MUX 0分周器レジスタに書き込み、ソースをFIRCに維持しつつ、AIPS_SLOWとHSE_CLKの比率を1:1(SBAFのデフォルト)から1:4に変更することです。

私の主な疑問は、アクティブパッシブブロックサービスにおいて、無効なアドレス応答が何を指すのかということです。このサービスはデータ構造を受け付けないのですが。HSEがINIT_OKに達した後、この特定のサービスが使用可能な状態を維持するために、MC_CGMディバイダを再構成するための手順が文書化されていますか?

故障したバイナリ、レジスタダンプ、クロック設定はリクエストがあれば共有できます。

よろしくお願いします。

Re: HSE AB Swap works from bare metal but fails after MCAL clock setup on S32K312

こんにちは、デイビッドさん。

DCFクライアントに関するご指導、ありがとうございました。最初の試みで正しく設定できるように、いくつか確認していただけますか:

1. リストの5番目の項目には、MC_CGM MUX 0のソースはPLL_PHI0でなければならないと書かれています。これは厳密な要件なのでしょうか?アクティベートパッシブブロックサービスはシステムクロックをPLLで行う必要がありますか?それともFIRC(48MHz)で動作するシステムでも動作可能ですか?

2. 同じリストの先のポイント1から4までを教えてもらえますか?画像にはポイント5と6しか表示されておらず、前提条件が不足していると思われます。

3. ポイント6は、120MHz HSEクロックシナリオにおけるDCF値を示しています。48 MHz FIRC構成で、AIPSスロークロックが12 MHz(1:4比)の場合、UTEST_MISC DCFレコードのクロックモードとガスケット制御ビットフィールドにはどのような値をプログラムすればよいでしょうか?

4. このレコードの正確なU S32K312 TESTアドレスはどこで、安全にプログラムできるサンプルやDesign Studio/Cycloneのアルゴリズムファイルはありますか?UTESTは一度しかプログラムできないため、書き込みを行う前に確実に確認しておきたい。

5. UTEST_MISC以外に、AB Swapに必要なDCFレコードはありますか?例えば、UTEST内のOTA有効化マーカーや、アクティブブロックとパッシブブロック内のOTAインジケーターなどです。はいの場合、それらも共有してください。ボードの状況: HSEファームウェア0.2.55.0 ab_swapバリアント、OEM_PRODライフサイクル、INIT_OKおよびOEM SU権限ビットが設定されています。

どうもありがとう、

Re: HSE AB Swap works from bare metal but fails after MCAL clock setup on S32K312

おそらく、あなたが説明したような使い方をするために必要なDCFクライアントの設定が完了していないのでしょう。

davidtosenovjan_0-1786371576770.png


Re: HSE AB Swap works from bare metal but fails after MCAL clock setup on S32K312

1)私は5番目の項目ではなく、6番目の項目のスクリーンショットを撮りたかったのです。

2) これはRMから引用したものです。

davidtosenovjan_0-1786445766359.png


3) 重要な点は、1:4の比率です。また、RM埋め込み添付ファイル(S32K3xx_DCF_clients.xlsx)にも記載されています。

davidtosenovjan_1-1786445766362.png


4) プログラムする DCF レコードのアドレスは自分で見つける必要があります (0xFFFF_FFFF の最初の場所を見つける)。具体的にはアドレス0x1B000780付近にあるはずですが、プログラミング前に必ず確認してください。

DCFの記録を理解するには、以下の文書を参照してください。

https://community.nxp.com/t5/MPC5xxx-Knowledge-Base/MPC57xx-DCF-records/ta-p/1114884

また、DCFカリキュレータも存在します:

https://community.nxp.com/t5/S32K-Knowledge-Base/S32K344-DCF-Configurator/ta-p/1986243

私はTRACE32スクリプトを以下のように使用しています。

; プログラムUTEST

Do ~~\demo\arm\flash\s32K3.cmm PrepareOnly

flash.Program 3. /OTP

;S32K344 DCFコンフィギュレータによって生成された行を挿入します

data.set 0x1B000780 %QUAD 0x0010000460000101 ;dcf_client_utest_misc

フラッシュプログラムオフ


前述のDCF電卓は、どのプログラマーやデバッガーでもプログラム可能なSレコードを作成することも可能です。

5) OTAフラグはHSEのFWをインストールする際に自動的にプログラムされAB_SWAP、ユーザーは気にする必要がありません。他に必要とされるDCFの設定については存じ上げません。

Re: HSE AB Swap works from bare metal but fails after MCAL clock setup on S32K312

こんにちは、

フォローアップ:ご指示に従って、dcf_client_utest_misc の DCF レコードを準備しました(値 0x0010000460000101、ターゲット アドレス 0x1B000768 - 私のボード上の最初の空き QUAD、確認済み)。しかし、S32DS + PEmicro マルチリンクのデバッグ構成では、UTEST 書き込みが黙ってスキップされるため、フラッシュセッション後も 0x1B000768 のバイトは FFFFFFFFFFFFFFFF のままになります。


PEmicro Multilink(またはS32DS 3.6.4に付属する任意のツール)を使用して、S32K312上のUTEST OTPに単一のDCFレコードをプログラムするための正しいツール/手順は何ですか?特定のフラッシュアルゴリズムファイル、別のデバッグ構成、またはスタンドアロンのS32 Flash Toolが必要ですか?

标记 (1)
无评分
版本历史
最后更新:
星期四
更新人: