TI中文支持网
TI专业的中文技术问题搜集分享网站

CCS7 的 call stack 在哪里

现在调试easylink 和modbus 协议栈的时候遇到了 硬件异常中断问题,现在不清楚是访问哪个硬件资源或者函数引起的,想看一下 代码调用的 call stack ,但是在ccs中找了半天没找到,请问 CCS7中有 类似的功能么

Susan Yang:

“ 硬件异常中断问题”能否详细说明一下?您现在使用的是哪款芯片?

user1768925:

回复 Susan Yang:

我现在用的是 CC1310,  其实我不关心 异常中断,我就是想通过 代码的调用记录  call stack  看看  在产生异常前 调用的是哪个函数,所以 CCS7  这个  显示函数调用关系的 界面在哪啊   类似IAR中的  Call Stack

Susan Yang:

回复 user1768925:

如上所述,call stack 已集成到调试视图中了,您可以试一下

user1768925:

回复 Susan Yang:

恩,按照您的方法尝试了一下还是没法看到,只显示当前的进入的这个异常中断中,我进入的异常中断是 ti_sysbios_family_arm_m3_hwi_excHandler__I;

目前我的任务中使用了 串口驱动  定时器驱动  和 easylink 协议栈; 实现的功能是

1、modbus接收任务通过event阻塞 ,  串口接收1个字节 开启10ms定时器超时 再次接收到1个字节时刷新定时器计数器,知道产生定时器10ms超时,在这个超时中发送一个event 给modbus接收任务; 接收任务开始处理这一帧接收的数据;

2、easylink 准备实现1对多的 发送接收,目前测试的时候是点对点发送接收,使用的是阻塞方式;成功接收数据后将数据处理后放在modbus寄存器中;

目前的现象: modbus 和easylink 分开测试  只编译其中一个功能,运行测试都是没问题的,是有2个功能编译到一起,同时工作的时候回产生上面的异常中断;这个异常中断

/* excHandler__I */#define ti_sysbios_family_arm_m3_Hwi_excHandler ti_sysbios_family_arm_m3_Hwi_excHandler__Ixdc__CODESECT(ti_sysbios_family_arm_m3_Hwi_excHandler__I, "ti_sysbios_family_arm_m3_Hwi_excHandler")__extern xdc_Void ti_sysbios_family_arm_m3_Hwi_excHandler__I( xdc_UInt *excStack, xdc_UInt lr );

我的问题:我应该怎么定位这个产生异常中断的原因,上面的是宏定义没找到哪里能调用这个函数。

user1768925:

回复 Susan Yang:

追加一下,就是这个异常产生的时候,是随机的是系统运行起来,modbus 正常通讯,easylink 的2个节点建立连接通讯后,运行一段时间,时间有长有短 就会进入到这个 异常中断中

Susan Yang:

回复 user1768925:

触发的HWI异常处理程序指示CPU异常,实际上没有调试此异常的好方法。

建议您采用如下的方式:

在debug时,点击View -> Registers,查看CPU_SCS 下的CFSR寄存器的值(Configurable Fault Status)

看哪一位出现了异常

user1768925:

回复 Susan Yang:

感谢您的回复,我想看看TI-ROTS的内核调试记录,我应该怎样打开os的内核log日志啊,我想看一下任务上下文切换,想确认下在运行哪个任务的时候系统跑飞了,因为串口现在运行Modbus没法要打印记录,还有就是我在看串口驱动和easylink驱动的时候,驱动内也有 debug_log 我应该怎么打开它们,这些log 是记录在 片上的ram中么。

Susan Yang:

回复 user1768925:

您是指的是下面链接的内容?

processors.wiki.ti.com/…/System_Analyzer_Tutorial_3C

processors.wiki.ti.com/…/SystemAnalyzerTutorial1C

赞(0)
未经允许不得转载:TI中文支持网 » CCS7 的 call stack 在哪里
分享到: 更多 (0)