打印

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

[复制链接]
2339|19
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
djz1992|  楼主 | 2018-7-26 10:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
xyz549040622| | 2018-7-26 10:40 | 只看该作者
1.首先进去FaultISR()的错误原因就几种,硬件操作错误,指针使用错误,数组使用错误
2.离线跑没事,在线调试出了问题,倾向于外设使用的过程中出现的问题
3.缩小范围,找到是哪个外设操作过程中出现的错误。

使用特权

评论回复
评论
djz1992 2018-7-26 12:27 回复TA
我外设排查了,有时候卡在ADC那,多数时候卡在GPIOPINWrite那一句那里,是不是要查他们的初始化? 
板凳
ayb_ice| | 2018-7-26 10:52 | 只看该作者
ARM核经常出现这样的问题,但真的很难查找,
这种情况一般其实没有问题
把调试器的速度降下试试

使用特权

评论回复
地板
dirtwillfly| | 2018-7-26 11:28 | 只看该作者
一般遇到异常就会跑到这个FaultISR()里。
你看一下编译生成的汇编代码,看从哪里跑进去的

使用特权

评论回复
5
djz1992|  楼主 | 2018-7-26 12:26 | 只看该作者
dirtwillfly 发表于 2018-7-26 11:28
一般遇到异常就会跑到这个FaultISR()里。
你看一下编译生成的汇编代码,看从哪里跑进去的 ...

就是不会看啊大神

使用特权

评论回复
6
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

使用特权

评论回复
7
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);

这三句以前也是这么配置的

使用特权

评论回复
8
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);

这个参数不对吧

使用特权

评论回复
9
xyz549040622| | 2018-7-26 15:10 | 只看该作者
ayb_ice 发表于 2018-7-26 14:56
GPIOPinWrite(GPIO_PORTF_BASE,GPIO_PIN_1,GPIO_PIN_1);

这个参数不对吧

参数没问题,TI的这个就是这么反人类。

使用特权

评论回复
10
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的意见,实际使用没问题,这句应该也是没问题的。

使用特权

评论回复
11
ayb_ice| | 2018-7-26 15:18 | 只看该作者
xyz549040622 发表于 2018-7-26 15:10
参数没问题,TI的这个就是这么反人类。

把调试器的速度降低试试

使用特权

评论回复
12
djz1992|  楼主 | 2018-7-26 16:00 | 只看该作者
ayb_ice 发表于 2018-7-26 15:18
把调试器的速度降低试试

怎么调啊大神

使用特权

评论回复
13
djz1992|  楼主 | 2018-7-26 16:00 | 只看该作者
xyz549040622 发表于 2018-7-26 15:16
既然你配置为ADC了,你试着配置为输入,不要配置为输出试试。另外同ayb_ice的意见,实际使用没问题,这句 ...

这一句跟adc部分是分开的,这一句只是点亮一个指示灯而已

使用特权

评论回复
14
djz1992|  楼主 | 2018-7-26 16:09 | 只看该作者
不知道咋的,现在又出现调试问题了。 这是什么情况,以前可以查看变量,而且是自动刷新的
@m564522634 @xyz549040622

使用特权

评论回复
15
ayb_ice| | 2018-7-26 16:14 | 只看该作者

RT:

QQ截图20180726161311.png (219.61 KB )

QQ截图20180726161311.png

使用特权

评论回复
16
djz1992|  楼主 | 2018-7-26 16:58 | 只看该作者

我用的是ccs6。。。。。大神。。这

使用特权

评论回复
17
ayb_ice| | 2018-7-26 17:11 | 只看该作者
djz1992 发表于 2018-7-26 16:58
我用的是ccs6。。。。。大神。。这

这我就不知道了

使用特权

评论回复
18
linqing171| | 2018-7-26 21:55 | 只看该作者
进入FaultIsr的瞬间的所有寄存器值分别是多少?比如R0-R15等

使用特权

评论回复
19
djz1992|  楼主 | 2018-7-27 08:51 | 只看该作者
linqing171 发表于 2018-7-26 21:55
进入FaultIsr的瞬间的所有寄存器值分别是多少?比如R0-R15等

这个?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

115

主题

620

帖子

5

粉丝