こんにちは。問題が発生しました。
説明はこちら
現在、S32K148-MCAL の Eth モジュールを構成中です。
port中配置好pin脚
ethの設定
コードを生成したら、
まずeth_initを呼び出す
Eth_Init(&Eth_Config_VS_0);
次にコントローラーを有効にします
Eth_SetControllerMode(EthConf_EthCtrlConfig_EthCtrlConfig_0, ETH_MODE_ACTIVE);
その過程で
ただし、送受信を初期化しようとすると、BUS ERROR が発生します。
後続の送信はさらに不可能
調査を継続するにはどうすればいいでしょうか?
ご返信ありがとうございます。問題は解決しました。原因は、MCALのRMモジュールが設定されていないため、MPUモジュールがENET関連のメモリアクセス許可の初期化に失敗していることです。
Hi,
以下を確認できます。
- ユーザー バッファーとバッファー記述子が適切に位置合わせされ、キャッシュ不可能な領域に配置されていることを確認します。ENET_RDSR と ENET_TDSR は、バッファー記述子リングの先頭を指します。
- MPU が有効になっている場合は、ENET マスターがユーザー バッファーとバッファー ディスクリプターが配置されているメモリ領域にアクセスできることを確認してください。
一部のコメントは https://community.nxp.com/t5/S32-SDK/The-ENET-module-of-S32K148-chip-failed-to-initialize-and-the/td...でも見ることができます。
BR, Petr
更新:MPUのCESRレジスタをトレースしました。メモリ保護がuDMAによるメモリアクセスを検出し、ブロックしたようです。