sxxazb 发表于 2006-12-29 20:28:55

uCOS-II在mega128上移植,为什么初始化程序反复执行?

我在ICCAVR下编译了zhifeng的mega128移植uCOS-II的程序,为什么多任务运行过程中,初始化IO程序每次都运行?按道理进入while(1)循环后就应该跳不出来了,可是仿真器运行总是每次运行初始化程序,请高手赐教!移植代码在附件里。

sxxazb 发表于 2006-12-29 20:30:32

点击此处下载armok01139457.rar

AuToCTRL 发表于 2006-12-30 09:13:53

复位了。需要考虑堆栈溢出

sxxazb 发表于 2006-12-30 10:06:26

我将堆栈设的很大,还是没有用。郁闷!

AuToCTRL 发表于 2006-12-30 12:37:04

你移植上去的是什么芯片?

RAM多少大?

sxxazb 发表于 2006-12-30 21:24:40

移植的芯片是ATmega128,上面的代码是从本站下载的,用ICCAVR编译可以通过,但是执行有问题。

AuToCTRL 发表于 2006-12-30 22:46:33

改小点看看:

#define OS_TASK_STK_SIZE      200    /* Default size for each task stack (Total stack size)          */

#define OS_TASK_HARD_STK_SIZE    20    /* Default size for the hardware stack                        */

sxxazb 发表于 2006-12-30 22:51:13

改小也不行,怎么回事?郁闷ing!

kanprin 发表于 2006-12-31 08:27:47

很想问一下,在没加入OS之前,你的板子能工作正常吗 ?

mega128可以在3684000Hz的频率下工作正常么?

sxxazb 发表于 2006-12-31 09:18:32

没加操作系统之前能正常工作,mega128L工作频率可以到8M,也就是8000000Hz。

zdq2002 发表于 2006-12-31 16:14:16

建议一下,这个程序是有问题的,时钟节拍所用的定时器入口有问题,你可以看一下中断入口地址(用汇编写的),我去年10月份试过,费了很大劲(主要是不熟悉),最好使用MICRIUM网站上的例子

sxxazb 发表于 2006-12-31 19:17:54

谢谢zdq2002!能否将MICRIUM网站的例子上传,先谢了!
页: [1]
查看完整版本: uCOS-II在mega128上移植,为什么初始化程序反复执行?