单片机/MCUwilliam hill官网
直播中

张桂兰

7年用户 1297经验值
私信 关注

使用TC397实现I2C读写时候出发了Trap的原因?

我这边使用TC397实现I2C 读写时候出发了Trap,对I2C操作分布在core0 与Core4
发生Trap 后对应的信息如下
DATR 寄存器的SBE 置位1
DEADD 寄存器显示F00E8000
请问发生这一故障的原因是什么 ?如何复现
        

回帖(1)

韩刚龙

2024-2-3 17:55:10
Trap是指处理器进入异常处理程序的一种机制。当程序执行过程中遇到不正常的情况,如访问非法地址、非法操作码等,处理器会引发Trap,跳转到异常处理程序进行处理。在这种情况下,Trap是由硬件自动生成的。

根据提供的信息,可能的原因包括:
1. I2C读写操作时出现了异常情况,如访问非法地址或执行非法操作码等。
2. I2C控制器的配置不正确,导致操作无效或错误。
3. I2C设备的连接或通信存在问题,导致数据传输失败。

要复现这个问题,可以考虑以下几个方面:
1. 检查程序中的I2C读写操作是否正确,如地址、操作码、数据传输等是否符合设备的要求。
2. 检查I2C控制器的配置是否正确,如时钟频率、数据位宽等是否设置正确。
3. 检查I2C设备的连接是否良好,如电源、信号线连接是否稳定。

如果问题仍然存在,可以尝试使用调试工具来查看更详细的信息,如执行过程中的寄存器状态、堆栈跟踪等,以便更好地定位问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分