工具/软件:
您好!
我现在有一个有关 MCAN ECC 配置的问题要咨询、我将在。下面描述问题的现象
在我的程序中、我首先执行 can_init、然后执行 SDL ECC Config。 can_init 中有代码用于启用或禁用 ECC、这会影响 SDL 的 ECC 配置。 下面我使用演示程序简单地解释问题现象。
① 第一种情况
我使用*(volatile uint32_t *) 0x52700014 = 0;代码来模拟 MCAL CAN ECC 禁用操作。 从下图可看到、在 SDL ECC 初始化完成后、MCAN0_ECC_CTRL 的值仍为0。
②第二种情况
我使用*(volatile uint32_t *) 0x52700014 = 7代码来模拟 MCAL CAN ECC 启用操作。 您可以看到、在 SDL ECC 初始化完成后、MCAN0_ECC_CTRL 的值为7。
③第三种情况
仅执行 SDL ECC 初始化、您可以看到 MCAN0_ECC_CTRL 的值在初始化后为0x187。
我做了三个测试,第一个有一个例外,第二个和第三个工作正常。
在我的程序中、MCAL CAN 模块使用第一种情况执行禁用 ECC。 在这种情况下、当 CAN 驱动程序收到消息时、将触发 ECC 故障、CAN 驱动程序将停止。
我想知道 MCAL MCAN ECC 配置为何会影响 SDL MCAN ECC 配置。 我需要启用 MCAL MCAN ECC 启用? 还是屏蔽 MCAL MCAN ECC 配置代码?