こんにちは
私は、外部NORフラッシュ(W25Q128JVSSIQ)を搭載したMIMXRT1061DVL6Bをベースにしたカスタムボードを持っています。私は開発環境としてVS Codeを使い、Zephyrを使っていますが、現在デバイスの起動に苦労しています。
この問題は、こちらの投稿で議論されている問題と似ているのではないかと考えています。
https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT1060-Boot-using-FlexSPI/mp/1242678
具体的には、リンカースクリプトの設定と`XIP_EXTERNAL_FLASH`の有効化に関連している可能性があると考えています。
私が完全には理解していないのは、ZephyrベースのセットアップとスタンドアロンのMCUXpresso/NXP SDKスタイルプロジェクトの両方で、リンカー設定を正しく変更し「XIP_EXTERNAL_FLASH」を有効にする方法です。
実験として、手動で「MIMXRT1062xxxxx_flexspi_nor.ld」を修正することでMCUから多少の活動を得ることができましたリンカーファイルと`.text`セクションの配置の変更:
「`」
。文章{}> m_data AT > m_text
「`」
しかし、`MIMXRT1062xxxxx_flexspi_nor.ld` が複数存在するため、この手動修正に頼りたくありません。プロジェクト内のファイルのうち、どれがリンカーによって実際に使用されているのか分かりません。
以下の手順について正しい方法をご教示いただければ幸いです。
1. MIMXRT1061の外部NORフラッシュからXIP実行を設定します。
2. 必要な`XIP_EXTERNAL_FLASH`設定を有効にします。
3. Zephyrベースのプロジェクトでリンカースクリプトを適切に修正またはオーバーライドすること。
4. 非Zephyrプロジェクトにおける同等の構成を理解すること。
推奨されるアプローチについてご助言いただければ大変ありがたいです。
よろしくお願いいたします。
ジュナイド
こんにちは、 @jahmed9 さん。
よりサポートするために、次の情報を教えていただけますか?
-DQSピンはコネクテッドですか、それともデザイン中に浮かんでいる状態ですか?
-フラッシュデバイスはFlexSPIポートAにコネクテッドですか?
フラッシュデバイスに合わせてFCBを変更しましたか?もしそうなら、SDKの中のflash_component_nor_flexspiその例をあなたの修正を加えて実行してもらえますか?
これにより、読み書き・消去操作が成功したかどうかを確認し、フラッシュデバイスとの基本的な通信を検証できます。このテストは、ハードウェア接続の検証にも役立ちます。
FCBを改造していない場合は、 FlexSPIブートガイドの第18章にFCBの構造に関する詳細な説明が記載されています。ご質問があれば、遠慮なくお尋ねください。
BR
ハビブ