こんにちは!外部SDRAMを使用してRT1160-EVKでNXP Wi-Fiドライバを正常に実行できた方はいますか?オーバーレイで zephyr,sram = &sdram0 を設定したにもかかわらず、ファームウェアのロード中に 0x40000 (DTCM 制限) でバス障害が発生します。ヒープが SDRAM で正しく初期化されていないか、SDIO DMA の正しい MPU/Nocache 構成が欠落しているようです。何かヒントはありますか?また、.overlayも添付しますCASEとして、prj.confも保存してください。
こんにちは、 @jaseze01
Zephyr OS を使用していますか?
Zephyr のバージョンと Zephyr SDK のバージョンを教えていただけますか?
この問題を再現するための詳細な手順を教えていただけますか?
より良いサポートを提供できるよう、ローカルで再現できるかどうか試してみます。
よろしくお願いいたします。
Christine。
こんにちは、クリスティン。
ご協力ありがとうございます。あなたが要求した情報は次のとおりです:
ボード: NXP MIMXRT1160-EVK (Rev A)
WiFi モジュール: M.2 インターフェース経由の Embedded Artists 1XK (Murata 1XK / NXP IW416)。
Zephyr OS バージョン: 4.3.0
Zephyr SDK バージョン: 0.17.4
ホストOS: Windows
私はこのプロジェクトに個別に取り組んでおり、アドレス `BFAR アドレス: 0x40000` で `正確なデータ バス エラー` (バス障害) が発生しています。このエラーは、ドライバが電圧スイッチを正常にネゴシエートした直後に発生します。
ハードウェアが正しく応答するようになったため (ログで「カードが 1.8V 信号に切り替えられました」と確認されています)、物理的な接続と電源は正常であると考えています。しかし、その直後に事故が起こります。
障害アドレス (`0x40000`) は、内部 ITCM/DTCM の 256 KB 境界と一致します。このことから、問題はメモリの配置に関連しているのではないかと疑っています。WiFi ファームウェアは約 500 KB なので、デフォルトの内部 RAM に収まらないか、DMA がアクセスが許可されていないメモリ領域 (DTCM など) にアクセスしようとしている可能性があります。
再現可能な手順
1.MIMXRT1160-EVK で `nxp,wifi` ドライバを有効にする Zephyr アプリケーションを構築しています。
2. `mimxrt1160_evk.overlay`を修正しましたファームウェアを収容するために外部 SDRAM (64MB の `&sdram0`) を有効にします。
3. 重複を避けるために、さまざまなメモリ構成 (システムとファームウェア用に SDRAM を分割) を試しました。
4. 起動時に、システムは SDIO バスを初期化し、1.8V に切り替えて、バス障害でクラッシュします。シーケンスを示すログ出力は次のとおりです。
[00:00:01.123,000]
[00:00:05.266,000]
[00:00:05.272,000]
[00:00:05.277,000]
[00:00:05.283,000]
[00:00:05.305,000]
リンカーがデータ/スタックを配置する場所と、WiFi ドライバが DMA 操作のためにそれを配置すると想定している場所に関して競合があるようです。
MIMXRT1160 で WiFi ファームウェアを外部 SDRAM に適切にロードするための推奨メモリ構成(オーバーレイ/リンカー)について教えてください。問題をローカルで再現して修正できる場合は、動作するオーバーレイ ファイルを共有していただけますか?
よろしくお願いいたします!
こんにちは、 @jaseze01
帯域幅が限られているため、返信が遅くなり申し訳ありません。
以下の内容を参考に試してみてはいかがでしょうか。
NXP M.2 Wi-Fi および BT シールド — Zephyr プロジェクト ドキュメント
また、このディレクトリにはデフォルトのnxp_m2_1xk_wifi_bt.overlayがあります。
https://github.com/nxp-zephyr/nxp-zephyr/tree/nxp-v4.3-branch/boards/shields/nxp_m2_wifi_bt/
この.overlayもCANで参照できます1xk(M.2に適合インターフェース)を I.MXRT1160-EVK に接続します。
上記が参考になったかどうかお知らせください。
まだ何か問題がある場合はお知らせください。
よろしくお願いいたします。
Christine。