请问XTANG,我CPU板子挂接sja1000芯片,中断引脚连接好,但是事件一触发,板子就死了。

中文QNX 讨论: 欢迎大家灌水,讨论有关QNX 问题。

请问XTANG,我CPU板子挂接sja1000芯片,中断引脚连接好,但是事件一触发,板子就死了。

帖子dsljayoung » 周四 3月 01, 2012 5:13 pm

请问XTANG,我CPU板子挂接sja1000芯片,中断引脚连接好,但是事件一触发,板子就死了。
另外,我想问一下XTANG:中断处理函数可以调试吗?如果可以的话,如何进行?
中断处理函数中的printf信息可以显示吗?貌似我的调试环境下,好多的printf(包括正常的打印信息)都不能显示了。
dsljayoung
New Member
 
帖子: 5
注册: 周五 2月 03, 2012 4:19 pm

Re: 请问XTANG,我CPU板子挂接sja1000芯片,中断引脚连接好,但是事件一触发,板子就死了。

帖子dsljayoung » 周四 3月 01, 2012 5:14 pm

多谢XTANG了!
dsljayoung
New Member
 
帖子: 5
注册: 周五 2月 03, 2012 4:19 pm

Re: 请问XTANG,我CPU板子挂接sja1000芯片,中断引脚连接好,但是事件一触发,板子就死了。

帖子机器人 » 周一 3月 05, 2012 11:11 am

中断函数里面很多东西都不能用 的,浮点运算,内核调用之类的

你看看帮助文档里ISR那一章
机器人
Senior Member
 
帖子: 106
注册: 周二 4月 27, 2010 12:09 pm
地址: 中国

Re: 请问XTANG,我CPU板子挂接sja1000芯片,中断引脚连接好,但是事件一触发,板子就死了。

帖子xtang » 周一 3月 05, 2012 10:29 pm

用通常的gdb,中断处理函数(ISR)是无法调试的。另外,如上面机器人说的,ISR里有很多系统函数是无法用的。基本上,QNX的C库里没有几个函数是可用的。

一个办法是用IST,InterruptAttachEvent(),通过event来激活用户态线程,这个时候,你可以随便用GDB来调试,IST里也可以用任何系统函数。
xtang
Moderator
 
帖子: 1815
注册: 周五 9月 12, 2003 4:14 am
地址: China

Re: 请问XTANG,我CPU板子挂接sja1000芯片,中断引脚连接好,但是事件一触发,板子就死了。

帖子dsljayoung » 周二 3月 06, 2012 7:31 pm

机器人 写道:中断函数里面很多东西都不能用 的,浮点运算,内核调用之类的

你看看帮助文档里ISR那一章

OK.我再看看。多谢了。
dsljayoung
New Member
 
帖子: 5
注册: 周五 2月 03, 2012 4:19 pm

Re: 请问XTANG,我CPU板子挂接sja1000芯片,中断引脚连接好,但是事件一触发,板子就死了。

帖子dsljayoung » 周二 3月 06, 2012 7:32 pm

xtang 写道:用通常的gdb,中断处理函数(ISR)是无法调试的。另外,如上面机器人说的,ISR里有很多系统函数是无法用的。基本上,QNX的C库里没有几个函数是可用的。

一个办法是用IST,InterruptAttachEvent(),通过event来激活用户态线程,这个时候,你可以随便用GDB来调试,IST里也可以用任何系统函数。



我用线程的方式启动ISR,可以调试了,发现ISR是一个死循环,所以会导致CPU死掉。现在问题解决了,多谢了!
dsljayoung
New Member
 
帖子: 5
注册: 周五 2月 03, 2012 4:19 pm


回到 四海同心QNX论坛

在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客

cron