这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 在tc322上遇到系统总线和外设错误怎么解决?

共2条 1/1 1 跳转至

在tc322上遇到系统总线和外设错误怎么解决?

工程师
2025-01-20 13:15:10     打赏

我在 tc322 上遇到系统总线和外设错误 DAE - 数据访问异步错误 (tiN 3) EVAL_6EDL7141_TRAP_1SH
DATR 注册值为 :0x00000008

DSTR 注册值为 :0x00000004


DEADD 寄存器的值为 0xAF000200 一个 DFLASH 地址
我有两个问题:
1. EVAL_6EDL7141_TRAP_1SH是Store数据类型,但为什么DSTR寄存器加载操作错误为1???

2. 这个EVAL_6EDL7141_TRAP_1SH是Data Access Asynchronous错误,如何理解异步?当EVAL_6EDL7141_TRAP_1SH引发时,调用堆栈中记录的 PC 地址是否不是导致EVAL_6EDL7141_TRAP_1SH的真实 PC 地址。
3.当EVAL_6EDL7141_TRAP_1SH引发时,我读取了调用堆栈,发现pc执行的指令是读取Dflash地址,但为什么这个操作引发了EVAL_6EDL7141_TRAP_1SH ???




关键词: tc322     总线     外设     寄存器    

助工
2025-01-20 13:15:33     打赏
2楼

出现了DAE-数据访问异步错误和EVAL_6EDL7141_TRAP_1SHDATR注册值的异常。

1. 首先,EVAL_6EDL7141_TRAP_1SH是存储数据类型的错误,并且DSTR寄存器加载操作错误为1说明在加载数据时出现了错误。

2. 异步是指在处理器与外设之间进行数据交换时,不需要进行同步等待的操作,而是通过中断或者DMA等机制来进行数据传输。当发生异步错误时,通常意味着在进行数据传输或处理过程中出现了错误。

3. 在异常发生时,调用堆栈中记录的PC地址可能不是导致异常的真实PC地址。这是因为处理器在出现异常时会暂停当前执行的指令,然后跳转到异常处理程序,这可能导致在调用堆栈中记录的PC地址不是真正的错误发生位置。

对于您的具体问题,我建议您采取以下几步来解决问题:

1. 检查数据存储和加载操作的代码逻辑,确保数据访问和处理的正确性。

2. 检查系统总线和外设的连接和配置,确保它们正常工作并且符合系统要求。

3. 查看处理器和外设的文档,了解关于DAE错误和EVAL_6EDL7141_TRAP_1SHDATR注册值的详细信息,以便更好地理解问题的根源。

4. 如果可能的话,尝试使用调试工具(如JTAG调试器)进行调试,以获取更多关于错误发生位置和原因的信息。


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]