单片机/MCU论坛
直播中

王芳

8年用户 1481经验值
私信 关注

Taksing调试QSPI,利用exchange函数发送数据会进入Trap_busError的原因?

busError中trapwatch显示的内容为Addr=0,Id=1,Class=4 ,Cpu=0;发生问题的地方通过反复注释运行定位到exchange函数在发送存有数据的数组时会发生该问题。如果发送NULL_PTR不会发生错误。                                                                                                                                                                                                                                                            

回帖(2)

郭佳

2024-2-18 14:43:26
是不是调用没有初始化的外设    
举报

从未拥有

2024-2-18 16:00:08
在使用exchange函数发送数据时进入Trap_busError的原因可能是由于以下原因之一:

1. 数据发送时的地址错误:Addr=0表示访问的地址为0,这可能是由于在发送数据时使用了错误的地址导致的。请确保在调用exchange函数时,传入的地址是正确的。可以通过在代码中添加打印语句或者使用调试工具来确认传入的地址是否正确。

2. 数据发送函数的问题:Id=1表示发生了标识为1的错误,Class=4表示错误类型为总线错误。这可能是由于在使用exchange函数发送数据时,函数本身存在问题导致的。请确保exchange函数的实现正确,并且可以正常处理传入的地址和数据。

3. 数据发送时的CPU问题:Cpu=0表示错误发生在第0个CPU。这可能是由于在多核系统中,exchange函数在特定CPU上运行时出现了问题。请确保在调用exchange函数时,CPU的选择是正确的。

总的来说,您需要仔细检查在调试QSPI时传入exchange函数的地址、数据和CPU设置,以确保没有错误。如果问题仍然存在,请查看exchange函数的实现以及与之相关的代码,检查是否存在其他导致错误的问题。
举报

更多回帖

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