こんにちは、
QSPI NORフラッシュ (標準接続、RDB3 回路図に類似) を備えたカスタム S32G399A ボードがあります。
QSPI NOR から強制的にブートしたかったので、EVB 上の QSPI_BOOT_CFG のAN13456 (S32G3 ブート プロセス) に添付されている Excel シートの推奨値とリファレンス・マニュアルのヒューズマップに従って、 Ocotp_Ip_Example_S32G399A_M7 (RTD から) を適応させてブート ヒューズを飛ばしました。コードスニペットと参照ドキュメントはこの投稿に添付されています。
Ocotp_Ip_ReadEFuse()を使用して BOOT_CFG への書き込みごとにすぐに成功を確認し、値が正しく更新されました (0x2000000C および 0x00000010)。
しかし、現在では:
根本的な原因を見つけるのに協力してもらえますか?
こんにちは@wael_bさん、
お問い合わせいただきありがとうございます。また、問題を非常に詳細にご説明いただきありがとうございます。私が見る限り、次のように設定するつもりだったようです。
BOOT_CFG1 内:
また、BOOT_CGF2 では、FUSE_SEL ビットにより、RCON 値はチップ外部のシリアル/パラレル値ではなく、ヒューズから取得されます。設定を正しく理解できたかどうかお知らせください。
シリアル モード (フラッシュとデバッグの両方) で接続しようとしているときに、この構成を使用していますか?FUSE_SEL が 0 のCASEとは異なり、BOOT_MOD1 と BOOT_MOD2 の値は異なる効果を持つことに注意してください。
使用している BOOT_MOD 1 と 2 の値をお知らせください。
よろしくお願いします。
こんにちは。返信ありがとうございます!
FUSE_SEL = 1 で正しい BootMod を使用したことを確認しました。
調査の結果、BOOT_CFG1 のビット 15 (ブート エクセルの「don't care」フィールド) が XOSC モードを構成していることがわかりました (ヒューズ構成後、MCU の XTAL ピンと EXTAL ピンの両方で XOSC クロック信号が失われました)。
したがって、現在のヒューズ構成では、ビット 15 が 0 であるため、XOSC 差動バイパス モードになっていますが、これは明らかにサポートされていません (添付のスクリーンショットを確認してください)。
この場合、ビット 15 はゼロであってはならないことを確認できますか?
ヒューズが設定されていない動作中のボードがまだ 1 つあるため、2 回目の設定を行うためにサポートをお願いします。
ありがとう。
こんにちは@wael_bさん、
問題は、S32G_Bootconfigwords_EVB.xlsx に示されている構成が EVB/RDB ボード用であり、しかも再構成可能な RCON ビットで構成する必要があることです。Excel シートの下部を見るとわかるように、気にする必要がない部分についてはリファレンス・マニュアルを確認することをお勧めします。
たとえば、SD_BOOT_CFG を確認すると、多くの「don't care」ビットが表示されますが、「効果がない」というのは、特に EVB/RDB ボードの SD 構成の場合であり、ビット自体に効果がないわけではありません。
AN13456 に記載されているサポートされていない構成に関しては、詳細を社内で確認する必要があります。
参考までに、内部文書で次の記述を見つけました。
」
BOOT_CFG1 のビット XOSC BYPASS MODE は、FXOSC モジュールの外部クロック ソース モードを選択するために使用されます。FXOSC モジュールは、入力として 3 つのクロック ソース モードのいずれかを選択できます。3 つのクロック ソース モードは、それぞれ、クリスタル (コンポーネント) モード、(外部) 差動 (クロック ソース入力) モード、および (外部シングルエンド クロック ソース) BYPASS モードです。お客様がパッシブ水晶 (クリスタル モードで動作) またはアクティブ差動クロック発振器 (差動モードで動作) を FXOSC 入力として使用する場合、XOSC BYPASS MODE 0 を設定する必要があります。この場合、他に設定がなければ、FXOSC はデフォルトで入力がクリスタル モードで動作していると見なします。
それ以外の場合、お客様がシングルエンド デジタル クロック ソース (BYPASS モードで動作) を FXOSC 入力として使用する場合は、XOSC BYPASS MODE 1 を設定する必要があります。
」
したがって、BOOT_CFG1:15 の値は、デザインの構成方法によって異なります。たとえば、0 を使用する場合は、RDB3 ボードのように外部発振器が必要です。
S32G3 のヒューズが切れていないボードの場合、RCON ブートを使用してご自身のデザインに適した構成をテストすることをお勧めします。ヒューズ マップ テーブルからわかるように、正確な構成は QSPI メモリの種類と発振器の構成によって異なります。
さらにサポートが必要な場合はお知らせください。
こんにちは、 alejandro_e
私は@wael_bと同じボードで作業していますが、Excelファイルには次のように記載されています:
XOSC バイパス モード選択: XOSC 構成ヒューズが切れていない場合は、XOSC モードを選択します。
0-差動
1 - クリスタルまたはシングルバイパスモード
BOOT_CFG[15] =0のときは差動モードです。
しかし、それが1の場合はクリスタルまたはシングルバイパスモードのいずれかです
BOOT_CFG[15] =0がクリスタルで問題なく動作すると記載されているドキュメントを教えていただけますか?
アウトボードにはEVKと同じ水晶振動子が搭載されており、BOOT_CFG[15]を0に設定するとクロックソースがなくなるため、MCUはこの差動モード水晶振動子を待機しており、パッシブ水晶振動子を駆動していないと考えられます。間違っていたら訂正してください。
また、RCON を使用することはできず、ヒューズから起動することしかできません。したがって、ヒューズを使用してボード(EVK と同じフラッシュと同じクリスタルをベースにしています)を起動する方法を提案していただければ幸いです。
GM_SEL について説明しているリファレンス・マニュアルのスクリーンショットをここで確認できます。
こんにちは@haythemLtifi さんと@wael_b さん
返信が遅くなり申し訳ありません。ようやく社内チームから情報を受け取りました。彼らは以下の情報を共有してくれました。
」
S32G3では差動モードはサポートされていません。Crystalモードのご利用をお勧めします。
Crystal モードを構成するには 2 つの方法があります。
安定性が向上するため、2 番目の構成を使用することをお勧めします。
"
XOSC設定の有効性はBOOT_CFG2[0]によって示されます。
ボードを回復できるかどうかまだ確認する必要があります。
こんにちは@alejandro_e 、
サポートありがとうございます!ご提案いただいた構成では、次の 2 つのケースが考えられます。
こんにちは 、
どうやら時差が7時間あるようです、SOいくつか質問させてください。残りの質問については、ワエルが明日返信します。
- あなたが言及したコード内の gm 値は 0b1100 ですが、これを変更するにはどうすればよいですか?それはクロックの初期化関数にありますか?
または、グラフィック インターフェースを使用して変更できますか?0b1111 に設定したいのですが、どうすればいいでしょうか?
今、EXtal ピンで水晶を測定すると、約 800mV のほぼ DC 電圧値が表示されます。水晶が正常に動作していないのか、アクティブ プローブを使用していないのかはわかりません。EVK で通常のプローブを使用して波形を測定し、ボードの電源を入れた後に何が表示されるか教えてください。そしてコードを実行すると。
シリアルで動作するボードの場合、ブートモード0と1を使用してシリアルを選択すると、Extalに800 mVの絶対直流電圧があることがわかります(実際には正弦波ではありませんが、振動しています)。
こんにちは@haythemLtifi 、
S32DS のクロック ビューを使用して値を変更できます。
コードを更新すると、次のファイルで変更が有効になります。
この変更は、SW イネーブルメント Guideで説明されているように、構造体をパラメータとして Clock_Ip_Init() を実行するときに有効になります。
これが役に立つかどうか教えてください
こんにちは、 @haythemLtifiさん、
テストに関しては、今のところはCANですが、来週行う予定です。
発振器から何が見えるかをお知らせします。
よろしくお願いします。
こんにちは@wael_bさん、
私の回答は以下をご覧ください。
ケース 1 では、シリアルからのブートが機能すると書かれていますが、そのセットアップでは FXOSC に出力信号があると思いますが、正しいでしょうか?
QSPI ブートの場合、アプリケーションでは RTD を使用していますか? それとも完全にカスタムのソフトウェアを使用していますか?
よろしくお願いします。
こんにちは@alejandro_e 、
この質問への回答: 「アプリケーションの QSPI ブートでは、RTD を使用していますか? それとも完全にカスタムのソフトウェアを使用していますか?」 => はい、カスタム ソフトウェアではなく、RTD の例を使用しています。
いくつか質問があります!
- ブートプロセスドキュメントのこのセクションを理解する手助けをお願いできますか?(添付のスクリーンショットを参照)
- また、Nor Flash または SD カード ブートにダウンロードする専用の .bin はありますか?
- IVT から生成された Siul_Dio_ToggleLed アプリケーションのサイズは 5.3 MB ですが、これは問題でしょうか?
こんにちは 、
私たちは NOR の問題を解明しました。デフォルトの BootROM クロックは 30Mhz で、タイムアウト (500ms) 前に S32G339A の RAM をダウンロードするには不十分でした。そこで、QSPI 構成を追加して BootROM クロックを 200Mh にブーストするオプションを見つけて、問題を解決しました。
ご対応ありがとうございます。
こんにちは@wael_bさん、
情報をいただきありがとうございます。返信が遅くなり申し訳ありません。クロックテストに関しては、できるだけ早く実施して結果を共有しますので、遅れて申し訳ありません。
最後の質問についてですが、フラッシュまたは SD カードにダウンロードするための専用のバイナリはありません。フラッシュの場合は IVT ビンを 0x0000 にプログラムする必要があり、SD カードの場合は 0x1000 にプログラムする必要があることに注意してください。
バイナリのサイズに関しては、S32G3 の dio サンプルを使用して簡単な IVT バイナリを実行したところ、5.3 MB であり、サイズに問題はないはずです。
おそらく私はあなたの質問を正しく理解していないと思います。もし答えていなかったらお知らせください。
バイナリが正しくロードされ、bootROM によって解析されているかどうかをテストする方法の 1 つは、ボードの LED をオンにする DCD を追加することです。たとえば、S32G3 HSE DEMO APP を確認してください。どのバージョンでも動作するはずですが、たとえばバージョン 0.2.51.0 では、付録 11 のセクション「S32 DS – VDD_EFUSE の電源投入とシステム RAM の初期化のための DCD イメージの生成」を確認できます。問題の場合、関連する部分は VDD_EFUSE の手順です。よく知らない方のために説明すると、DCD はプログラムの実行前に追加できる非常に単純なレジスタ命令のセットです。そのため、DCD を追加した後にボードの LED が点灯すれば、バイナリが正しくロードされ、BootROM によって解析されていることを確認できます。
こんにちは@haythemLtifi 、
情報ありがとうございます。念のため確認しますが、このトピックに関しては私からのこれ以上のサポートは必要ないですよね?
こんにちは@haythemLtifi 、
完璧です。教えてくれてありがとう。
今後何か問題が発生した場合は、新しい投稿を作成していただければ、喜んでお手伝いさせていただきます。
よろしくお願いいたします。