您好 .遇到了问题.
以下是描述
目前正在配置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
后续的发送更不可能了
请问我该如何继续调查
Solved! Go to Solution.
Hi,
you can check following.
- be sure user buffer and buffer descriptors are properly aligned and placed into non-cacheable area. ENET_RDSR and ENET_TDSR points to beginning of buffer descriptors rings.
- if MPU is enabled, be sure ENET master have access to memory area where user buffer and buffer descriptors are placed.
Some comments can be seen in https://community.nxp.com/t5/S32-SDK/The-ENET-module-of-S32K148-chip-failed-to-initialize-and-the/td...as well.
BR, Petr
问题进展更新 : 现在追查到MPU的 CESR 寄存器了.看起来好像是uDMA尝试访问内存时被内存保护察觉到并拦截了.
Hi,
you can check following.
- be sure user buffer and buffer descriptors are properly aligned and placed into non-cacheable area. ENET_RDSR and ENET_TDSR points to beginning of buffer descriptors rings.
- if MPU is enabled, be sure ENET master have access to memory area where user buffer and buffer descriptors are placed.
Some comments can be seen in https://community.nxp.com/t5/S32-SDK/The-ENET-module-of-S32K148-chip-failed-to-initialize-and-the/td...as well.
BR, Petr