论坛风格切换切换到宽版
  • 6578阅读
  • 22回复

移植uCOS2.52到ATMega32成功 [复制链接]

上一主题 下一主题
离线BH7KQK
 
发帖
3425
只看楼主 倒序阅读 0楼 发表于: 2009-06-22
花了三天三夜时间从下载到移植到m32上成功运行六个任务。好玩!
移植不难,难的是要了解它的整个工作原理,任度调度方法是核心。熟悉api写应用是目的。
发个帖希望和用rtos的ham友交流交流…
离线汤圆
发帖
1157
只看该作者 1楼 发表于: 2009-06-22
楼主强大 网上很多m128的代码 最近刚搞了一下飞思卡尔的ucos
离线BH7KQK
发帖
3425
只看该作者 2楼 发表于: 2009-06-22
m128那个内核不是2.52的吧,程序结构有点不同,不习惯,编译后任务不能运行就放弃了,还是觉得从原始代码上移植放心。
而且用在m32上还是要改动的。
离线bellstudio
发帖
2820
只看该作者 3楼 发表于: 2009-06-22
还是玩freertos好。。。
uc是要钱的。。。商用问题多多
离线BH7KQK
发帖
3425
只看该作者 4楼 发表于: 2009-06-22
'
还是玩freertos好。。。
uc是要钱的。。。商用问题多多
'
贴上来让大家玩玩吧,打包成rar文件方便手机下载
离线bellstudio
发帖
2820
只看该作者 5楼 发表于: 2009-06-22
http://www.freertos.org/
有兴趣就看看吧,源文件很大,24mb
离线BH7KQK
发帖
3425
只看该作者 6楼 发表于: 2009-06-23
一点看法:
本人(当然是指人见人爱的bh7kqk啦)又花了三天三夜的时间研究了freertos的代码、avrx。
了解出以下几点:***是ucos的山寨版,山寨的目的是认为ucos不支持时间片轮转,事件类型多,所以去掉了一些。加上了时间片轮转算法。为什么我认为是山寨呢?大家看看两者程序结构,我靠,我不说你也会认是抄袭。从发布时间来看,ucos在前。而后者网站曾被封(我没说过是因为什么原因)。
当然,山寨不可耻,但要寨得道理,它的道理是ucos不支持时间片轮转,不能“同时”执行相同优先级任务。(这里的同时一词的函意要注意)。真是可笑…你要轮转的的几个任务你是怎么确定它是需要的呢?你会说:“我要让两个任务“同时”执行,我要一边听音乐,一边上qq,所以我要这么做”。
好了,你认为ucos不行吗?一个卖人民币18000元的软件不如一个山寨版好?如果你真的这样认为,那么证明你不根本不会使用ucos,没错,它真的不支持时间片轮转,但是它可以为每个任指定一个优先级,可以暂时一段时间。这就够了,这足以让它占有嵌入式开发市场的1/3,这是业界某牛人的统计数据,废话不多说,就一句:“你知道该让那些任务该“同时”执行,而不懂如何分配任务和优先级吗”。不懂的慢慢体会,懂的人都用在项目上了。
对了,曾有很多人发邮件给ucos的作者,要求加上时间片轮转,得到的答案都是“不需要”。
一个没有大家(指我等菜鸟)认为该有的功能它能成为最热门的os,(我没吹,你自己搜着几个os对比一下,还有看看各高校的嵌入式课程…),它能通过什么美国航天认证,(这个不知具体什么名堂),它能开出入民币0618000的价格???
还是老老实实学习怎么用好它吧,还有丰富的学习资源呢。
以上是今天早晨没完全清醒状态下想到的话。如果你认为那些不对的地方,鸡蛋白菜一块扔上来…zzzzzz....
离线BH7KQK
发帖
3425
只看该作者 7楼 发表于: 2009-06-23
起床撒了泡尿,忘了一点:¥18000,我从我那一堆盗版xp光盘得到了启发。不要说我煽动盗版思想,我只是从网上下载的免费版本。学习研究它是不用给钱的,再说我也给不起…zzzzzz.
离线永远的FM
发帖
12110
只看该作者 8楼 发表于: 2009-06-23
呕徐特。我想让m8+0802上qq,打cf,看网页,用这个系统应该没问题吧?
离线radiolee
发帖
6050
只看该作者 9楼 发表于: 2009-06-23
强淫再现浆糊
离线BH7KQK
发帖
3425
只看该作者 10楼 发表于: 2009-06-23
泄特…一个上午死机三遍,只因为六个任务都同时使用0802显示而没且全部任务都没有进入临界段…可能是这个原因…我再试试全部进入临界段试试,试过没问题就不玩了,这垃圾系统。…真他妈的垃圾。
回地瓜,cs算什么,我一块万能板上能装五个m8,五核系统。ibm能做到吗…
离线BH7KQK
发帖
3425
只看该作者 11楼 发表于: 2009-06-23
在每个任务上加了临界指令,跑了一下午,没事,之前的死机是lcd死了。不玩了,我还以为真能在m32上玩cs呢…汗,继续裸奔
离线永远的FM
发帖
12110
只看该作者 12楼 发表于: 2009-06-23
'
一点看法:
本人(当然是指人见人爱的bh7kqk啦)又花了.........
'

我发现你长篇大论之前都会有这段话,是不是你写频加了前信令?
离线BH7KQK
发帖
3425
只看该作者 13楼 发表于: 2009-06-23
信令…说你见识少你还不承认,这叫引导码,懂吗。还玩os呢。当然,你说“前戏”我还没这么生气呢…
离线BH7KQK
发帖
3425
只看该作者 14楼 发表于: 2009-06-24
今天在同一块m32目标板上试了另外两个系统,freertos和avrx,先说说该死的avrx,下载,编译系统,再编译例子,运行,没问题,当我想按自己的目的让它工作时,难了,为什么呢,有源代码,汇编的有,c的有avrxinc,而且有中文注释。有api文档-英文的看不懂,有一堆例子,有一堆关于系统原理的书。靠,看了半天还是不明白该如果开始。其中系统的两个bug也改了,是2.6f版的,一个serialio.s上的bbrl寄存器定义,另一个是avrx.h上的两个函数返回值类型定义错误,本来该定下性来玩玩的,结果翻遍整个网络都没找到教材,要自己看完源码,分析,才知道怎么编应用,拜托了,我可没心情,我只想使用而不是研究。删之…
接下来下载了freerts,移植,接着还是开几个任让它同时在lcd上显示计数值,任务都是同优先级,是时间片轮转调度的,有了上次搞死lcd的经历,当然在调用lcd的函数时都进入临界段了。run……
跑得很欢快的样子。
接下来当然是把ucos2请出了电脑,找资料慢慢学习啦…
两天来觉都没睡好就为了找个好用os,有郁闷时也有快乐。编译器原来用iccavr,经过这天的折腾现已习惯gcc,呵呵…free的搭配。
离线永远的FM
发帖
12110
只看该作者 15楼 发表于: 2009-06-24
'
信令…说你见识少你还不承认,这叫引导码,懂吗。还玩os呢。当然,你说“前戏”我还没这么生气呢…
'

信令里面就包含有引导码。你这引导码差点让我大脑死机。
还有,以前用过gccavr,很不爽,要写makefile编译之后还要clear。我们搞linux就是这样。
离线bellstudio
发帖
2820
只看该作者 16楼 发表于: 2009-06-24
如果任务内容全都在临界段,那就不叫任务了,跟os平级了
好的os很多,不过并不好搞到
小型的如cmx,threadx
大型的如vxworks
离线BH7KQK
发帖
3425
只看该作者 17楼 发表于: 2009-06-24
我觉得winavr很爽啊,工程都不用建,直接在pn菜单点make all就行了,下载就点program。跟iccavr没什么区别,还是原来diy的并口下载线,至于makefile用mfile生成改改就行了,linux下也有这东西。况且gcc是linux系统的标配。
离线BH7KQK
发帖
3425
只看该作者 18楼 发表于: 2009-06-27
决定翻译avrx文档,freertos对于avr来说还是大太了点,今天试了一下跑avrx,真合身型。大家把珍藏的都贴出来让大家学习学习吧。
离线BH7KQK
发帖
3425
只看该作者 19楼 发表于: 2009-06-27
今把avrx源代码遍了一遍,不解。从别人翻译的结果看来,这个系统问题多多,属于实验性质的。写了两个任务在上面跑,round-robin,屁到不灵。…唉!继续找替代品。