[ZLG-ARM] 请教:MagicARM移植ucosii2.76的问题

[复制链接]
 楼主| zhuyiguo 发表于 2007-10-3 15:13 | 显示全部楼层 |阅读模式
我在移植ucosii2.76时,编译都通过了,但用EasyJTAG下到片外RAM进行仿真,怎么一到任务的while(1)循环就跳到进入IRQ中断(在循环体上设置断点),而如果直接全速执行则会出现数据中止(DataAbort),这是为什么啊,我把其它的IRQ都关了,只留下了TIME0作为时钟中断.<br />
 楼主| zhuyiguo 发表于 2007-10-3 16:06 | 显示全部楼层

任务的代码

void&nbsp;Task0(void&nbsp;*pdata)<br />{&nbsp;&nbsp;&nbsp;const&nbsp;uint8&nbsp;&nbsp;DISP_TAB[32]&nbsp;=&nbsp;{&nbsp;0xFF,0x00,0xFF,0x00,0xFF,0x00,0xFF,0x00,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x40,0x20,0x10,0x08,0x04,0x02,0x01,0x00,&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0x55,0xAA,0x55,0xAA,0x55,0xAA,0x55,0x00&nbsp;};&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;uint8&nbsp;&nbsp;i;&nbsp;<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;pdata&nbsp;=&nbsp;pdata;<br />&nbsp;&nbsp;&nbsp;&nbsp;TargetInit&nbsp;();&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;PINSEL0&nbsp;=&nbsp;0x00000000;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置P0口管脚连接GPIO&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;IO0DIR&nbsp;=&nbsp;BEEP;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置蜂鸣器控制口为输出<br />&nbsp;&nbsp;&nbsp;&nbsp;IO0SET&nbsp;=&nbsp;BEEP;<br />&nbsp;&nbsp;&nbsp;&nbsp;IO2DIR&nbsp;=&nbsp;LED_IOCON;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;设置LED1--LED8的控制口为输出<br />&nbsp;&nbsp;&nbsp;&nbsp;LED_OFF();<br />&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;建立任务1(用于蜂鸣器控制)<br />&nbsp;&nbsp;&nbsp;&nbsp;//OSTaskCreate&nbsp;(Task1,(void&nbsp;*)0,&nbsp;&TaskStk1[TaskStkLengh&nbsp;-&nbsp;1],&nbsp;3);&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(1)<br />&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;for(i=0;&nbsp;i&lt32;&nbsp;i++)<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;LED_DISP(DISP_TAB);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;输出LED显示数据<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//OSTimeDly(OS_TICKS_PER_SEC/2);&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;延时0.5S,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//如果用OSTimeDly就会出现上述情况??<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Delay(100);//自已写了一个延时就可以了!!,但不能实现任务切换了,这是为什么啊,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /><br />任务切换的代码都是实验书上的,没改,应该不会有问题的,请哪高手回答一下啊
 楼主| zhuyiguo 发表于 2007-10-4 09:44 | 显示全部楼层

ok,解决了,可以运行了

ok,解决了,可以运行了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

3

帖子

0

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