在线调试跑进了FaultISR,该怎么查触发错误中断的种类

[复制链接]
2805|19
 楼主| djz1992 发表于 2018-7-26 10:02 | 显示全部楼层 |阅读模式
如题,在线调试跑进了FaultISR(),该怎么查触发错误中断的种类?
另外不在线调试,如果只是让板子自己跑就蛮正常的。插上仿真器在线调试就不行了。
@xyz549040622 @m564522634
xyz549040622 发表于 2018-7-26 10:40 | 显示全部楼层
1.首先进去FaultISR()的错误原因就几种,硬件操作错误,指针使用错误,数组使用错误
2.离线跑没事,在线调试出了问题,倾向于外设使用的过程中出现的问题
3.缩小范围,找到是哪个外设操作过程中出现的错误。

评论

我外设排查了,有时候卡在ADC那,多数时候卡在GPIOPINWrite那一句那里,是不是要查他们的初始化?  发表于 2018-7-26 12:27
ayb_ice 发表于 2018-7-26 10:52 | 显示全部楼层
ARM核经常出现这样的问题,但真的很难查找,
这种情况一般其实没有问题
把调试器的速度降下试试
dirtwillfly 发表于 2018-7-26 11:28 | 显示全部楼层
一般遇到异常就会跑到这个FaultISR()里。
你看一下编译生成的汇编代码,看从哪里跑进去的
 楼主| djz1992 发表于 2018-7-26 12:26 | 显示全部楼层
dirtwillfly 发表于 2018-7-26 11:28
一般遇到异常就会跑到这个FaultISR()里。
你看一下编译生成的汇编代码,看从哪里跑进去的 ...

就是不会看啊大神
 楼主| djz1992 发表于 2018-7-26 12:31 | 显示全部楼层
CORTEX_M4_0: Can't Run Target CPU: (Error -2134 @ 0x0) Unable to control device execution state. Reset the device, and retry the operation. If error persists, confirm configuration, power-cycle the board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 6.0.407.3)
调试经常出这个问题,这是什么原因@m564522634 @xyz549040622
 楼主| djz1992 发表于 2018-7-26 12:34 | 显示全部楼层
本帖最后由 djz1992 于 2018-7-26 12:40 编辑
xyz549040622 发表于 2018-7-26 10:40
1.首先进去FaultISR()的错误原因就几种,硬件操作错误,指针使用错误,数组使用错误
2.离线跑没事,在线 ...

在控制引脚输出的时候
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);
运行到内部进入这一句   
HWREG(ui32Port + (GPIO_O_DATA + (ui8Pins << 2))) = ui8Val;
就会卡死
但是我的配置感觉没问题啊
SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOF);
SysCtlDelay(10);
GPIOPinTypeGPIOOutput(GPIO_PORTF_BASE,GPIO_PIN_1);

这三句以前也是这么配置的
ayb_ice 发表于 2018-7-26 14:56 | 显示全部楼层
djz1992 发表于 2018-7-26 12:34
在控制引脚输出的时候
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);
运行到内部进入这一句   

GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);

这个参数不对吧
xyz549040622 发表于 2018-7-26 15:10 | 显示全部楼层
ayb_ice 发表于 2018-7-26 14:56
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);

这个参数不对吧

参数没问题,TI的这个就是这么反人类。
xyz549040622 发表于 2018-7-26 15:16 | 显示全部楼层
djz1992 发表于 2018-7-26 12:34
在控制引脚输出的时候
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);
运行到内部进入这一句   

既然你配置为ADC了,你试着配置为输入,不要配置为输出试试。另外同ayb_ice的意见,实际使用没问题,这句应该也是没问题的。
ayb_ice 发表于 2018-7-26 15:18 | 显示全部楼层
xyz549040622 发表于 2018-7-26 15:10
参数没问题,TI的这个就是这么反人类。

把调试器的速度降低试试
 楼主| djz1992 发表于 2018-7-26 16:00 | 显示全部楼层
ayb_ice 发表于 2018-7-26 15:18
把调试器的速度降低试试

怎么调啊大神
 楼主| djz1992 发表于 2018-7-26 16:00 | 显示全部楼层
xyz549040622 发表于 2018-7-26 15:16
既然你配置为ADC了,你试着配置为输入,不要配置为输出试试。另外同ayb_ice的意见,实际使用没问题,这句 ...

这一句跟adc部分是分开的,这一句只是点亮一个指示灯而已
 楼主| djz1992 发表于 2018-7-26 16:09 | 显示全部楼层
不知道咋的,现在又出现调试问题了。这是什么情况,以前可以查看变量,而且是自动刷新的
@m564522634 @xyz549040622

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
ayb_ice 发表于 2018-7-26 16:14 | 显示全部楼层

RT:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
 楼主| djz1992 发表于 2018-7-26 16:58 | 显示全部楼层

我用的是ccs6。。。。。大神。。这
ayb_ice 发表于 2018-7-26 17:11 | 显示全部楼层
djz1992 发表于 2018-7-26 16:58
我用的是ccs6。。。。。大神。。这

这我就不知道了
linqing171 发表于 2018-7-26 21:55 | 显示全部楼层
进入FaultIsr的瞬间的所有寄存器值分别是多少?比如R0-R15等
 楼主| djz1992 发表于 2018-7-27 08:51 | 显示全部楼层
linqing171 发表于 2018-7-26 21:55
进入FaultIsr的瞬间的所有寄存器值分别是多少?比如R0-R15等

这个?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:人生苦短,冬日苦长,正是青葱,却无骄阳

115

主题

620

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部