打印

ucosII 2.91 程序跑飞到OS_CPU_ExceptHndlr

[复制链接]
4942|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ghostzjl|  楼主 | 2011-11-29 19:26 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
LPC2478+ucosII 2.91,但是os_cpu_a.asm是1.81版的,以前也没问题,放下了一段时间,不知为何今天运行跑飞了。
任务在第一次OSTimeDlyHMSM时,调度中在exit_critical时,跑到下面的地方就跑肥了。
OS_CPU_SR_Restore
    MSR     CPSR_c, R0
    BX      LR
程序跑飞到OS_CPU_ExceptHndlr,修改堆栈无用!!!
谢谢!!!

相关帖子

沙发
llf021421| | 2011-11-29 22:44 | 只看该作者
首先查看一下是产生了什么异常,我想可能是指令异常或数据异常
可能的原因是存储空间的分配有关系,可以一个一个屏蔽任务,调试是哪个任务运行时产生了这个异常

使用特权

评论回复
板凳
ghostzjl|  楼主 | 2011-11-30 11:16 | 只看该作者
同一个程序,在另外两块板子1号2号上都能运行,所以暂时排除了软件问题;
出错的是3号板。
在任务调度前,增加了一个while循环,点灯,可以正常运行。
难道是任务调度,导致了3号板异常?很奇怪。

使用特权

评论回复
地板
airwill| | 2011-11-30 12:00 | 只看该作者
在线程模式执行了管理模式才允许的特权指令!
于是产生异常了.

使用特权

评论回复
5
ghostzjl|  楼主 | 2011-11-30 12:28 | 只看该作者
airwill认为还是软件问题?
如何解释同一个程序在另外两块板子上,都能正常运行呢?

使用特权

评论回复
6
airwill| | 2011-12-1 09:48 | 只看该作者
说实在的, 我感觉 ucOS 应该不会把特权指令放到线程模式里运行.
OS_CPU_SR_Restore
    MSR     CPSR_c, R0
    BX      LR
你还是检查一下这里送给 CPSR 的 R0 寄存器的内容是否合法吧, 也可以几块板做下对比.

使用特权

评论回复
7
ghostzjl|  楼主 | 2011-12-1 19:11 | 只看该作者
软件bug,以太网连接的端口号有相同的。
修改为端口号各不相同后,就好了。
因为板子的配置端口号是从eeprom中读取的,所以配置没这个问题的,运行就正常。配置有问题的,会跳入harddflt。

使用特权

评论回复
8
jobszheng| | 2011-12-3 23:28 | 只看该作者
我也会用这个芯片来跑uC/OS-II, 谢谢楼主分享。

使用特权

评论回复
9
wjj686702| | 2011-12-28 18:36 | 只看该作者
1# ghostzjl
你也在移ucos呀  交流下  我的qq:286704786

使用特权

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

本版积分规则

18

主题

79

帖子

0

粉丝