TTLife 发表于 2006-12-22 20:56:50

UCOS-II在GCC下的移植,不知道有人要否?

如果有人要的话,我整理一下,发表上来。可能会要一段时间的。

my_avr 发表于 2006-12-22 21:17:52

好啊,期望楼主发表大作!

yjbin 发表于 2006-12-22 22:22:41

要啊!谢谢了哦

jackiezeng 发表于 2006-12-22 22:25:28

期待楼主 , 不要光说不练哦~!

icer 发表于 2006-12-22 22:42:53

这还用问,好东西就尽管拿出来吧,先谢谢啦!

jackrich 发表于 2006-12-23 10:04:06

看下面那个,UCOS-II在AVR Stdio下的移植,有点小问题,还要整理的?

http://www.ouravr.com.cn/bbs/bbs_content.jsp?bbs_sn=697308&bbs_page_no=1&bbs_id=1000

davidd 发表于 2006-12-23 17:26:33

TTLife 发表于 2006-12-23 20:32:02

我曾经基于51移植过UCOS-II的,对此系统有深刻的了解,所以在比较大的RAM中移植是轻而易举的,先在网上下载了原作者的在ICC和IAR编译环境下的移植源码。我刚开始是用ICC的,但6.31版的编译时有警告,这个问题在7版时改正了,编译后在实验板上欢快地跑着。本以为我的AVR编译器非ICC不可,但好景不长,45天一过,有了限制,不得不另选了。GCC好吗?带着疑问,开始了GCC奇妙之旅,我现在的感觉是,如果不出意外,我终生选用GCC。且听我细细讲解:

    我个人觉得,要学用一种编译器,首先要能或至少熟悉它汇编。所以先将GCC手册中的汇编说明部分全文译了一遍,网上有一篇此类的译文,但有省略,我这样做了之后,对于GCC的汇编心中有个一二了。开始移植,ICC的汇编部分与GCC的大同小异,但下载的源码修改后还不能运行,这个地方我调试了很久。这里我只想说出我对GCC的认识,具体的移植过程及心得在整理之后我会发表的。(芯片为ATMega32)

    同样的源码,在ICC下编译出七十多K的HEX文件,在GCC下仅为四十多K,二进制文件为12K不到,真是厉害,在编译速度上,GCC比ICC要快五到六秒。411版的GCC的出错提示更为正确,很是方便查找与修改,而且生成的代码比前一版要少1%左右。整个过程我有一个不理解的,那就是当我把优化等级设置为0时,也即不开启优化,生成的文件反而不能正常运行,一定要设置为1或2。

    学用GCC我觉得最关键的是,要知道MAKE文件的每一个部分的含意,把这个东东解决了,GCC就是你的了,你的东西,想咋用就咋用。

linhaimi 发表于 2006-12-23 21:41:40

"那就是当我把优化等级设置为0时,也即不开启优化,生成的文件反而不能正常运行,一定要设置为1或2。 "

个人意见:没开优化,就算是没有返回值没有参数的函数调用也会保存上下文,并不会优化成一条跳转指令.这样会在堆栈操作的时候出错~

~个人意见而已~

TTLife 发表于 2006-12-24 19:47:48

若没有意见,那将是会只井底之蛙,很可悲的。有意见就会有进步,谢谢8楼的提醒,虽然我现在还没有完全明白,我会试在Avr Studio调试,将不打开优化情况下的汇编文件看个明白,找出问题所在的。在次谢谢linhaimi!

handshake 发表于 2006-12-25 09:24:28

在http://www.ee.lut.fi/staff/Julius.Luukko/ucos-ii/index.shtml有这方面的例子。
页: [1]
查看完整版本: UCOS-II在GCC下的移植,不知道有人要否?