这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » ecos,for,SmartARM2200 ecos for SmartARM2

共2条 1/1 1 跳转至

ecos,for,SmartARM2200 ecos for SmartARM2200

院士
2006-09-17 18:14:16     打赏
ecos,for,SmartARM2200 ecos for SmartARM2200



关键词: SmartARM2200    

院士
2006-12-22 22:43:00     打赏
2楼
1: ecos for EasyARM2200 2: 可以提供移植的源码部分么!可以提供移植的源码部分么! 3: 移植的源码部分只有几百行,    ecos的可扩展性做得比较好,很多内容已经被极度抽象了,比如串口,程序可以自动探测是哪一种类型的UART,MODEM串口还是普通串口,带中断缓冲区还是直接利用FIFO轮询,你的工作就剩下注册串口设备,告诉系统你打算给串口起个什么名字,要用几个口,仅此而已,想象不到的简单。至于移植部分,本来我以为自己要做很多工作,在做了近乎99%的工作后,无意中发现《ARM嵌入式Linux系统构建与驱动开发范例》书里已经提供了全部参考,本来ecos和uClinux都是用gcc编译的嘛,而且平台都一样,直接抄过来就是了。当然,宏定义要按照ecos的标准层次法命名,以便使意义更清晰,比如:LPC2XXX_HAL_TIMER0_IR,LPC2XXX体系架构的硬件相关层的定时器0的IR寄存器。因为LPC2XXX的一些寄存器写0无影响,所以一些需要读-修改-写的部分,可以直接修改-写,不想影响的位写0即可,这样可以节省一条读语句。LPC2XXX中断系统支持VIC直接映射,可以大大加快中断响应时间,多达16个中断可以直接映射,把频率最高的16个按优先级放在VIC里,其余采用轮询中断状态寄存器,把出现频率高的放前面,整体性能会有明显提高......感觉ecos是个稳定、高效、低功耗、扩展性好的RTOS。不要担心源码问题,ecos是开源的自由软件,不存在黑箱和内幕,你可以得到你想要的任何源码,GPL条约保证你的权益。ecos本身就带有很多种板子的移植范例,我就是参考E7T进行移植的。
    
    作为过来人,我的移植经验是,先把ecos用熟,用一年后再考虑移植,你会快很多。当我还不明白ecos怎么用,适不适合我的时候就想去移植,结果书看不懂,纠缠于细节不能自拔,犯低级地使用错误,自信心倍受打击。其实,ecos的使用异常简单,只要用gcc把你的应用程序和库链接就可以了,你习惯于什么样的编程方法就用什么样的方法,ecos的编程规范是用于生成组件仓库的,你不建库的话,就不用理会它。    
    ARM-elf-gcc -g -I $(PKG_INSTALL_DIR)/include $(TEST_FILE_NAME) -L $(PKG_INSTALL_DIR)/lib -Ttarget.ld -nostdlib
    其中:
    PKG_INSTALL_DIR = /tmp/lpc_default_ram_install    安装树路径。
    TEST_FILE_NAME = yy.c                             你的程序名,当然也支持多级目录。
    
    共享源码是一把双刃剑,一方面可以使你快速地定制自己的系统,另一方面也会扼杀你的独立思考能力和创造力萌芽.因为到底是自己真的想明白了还是抄别人的结论而自认为真会了呢!久而久之是不是对自己越来越没有信心呢,也许你能掌握这一次的知识点,但是下次呢,你的自信心会越来越弱,以至于不相信自己能做出来。我做ecos之前也没有人告诉我该怎么做,就和你现在的处境一样,没办法,硬着头皮去做喽,逼着自己想办法解决问题,手段会越来越多,久而久之就有自信了。最近一直在考虑授人以鱼还是授人以渔,表面上看,给一条鱼皆大欢喜,可这并不能解决根本问题,特别是嵌入式开发,很多时候你并不能得到全部资料,或者困难重重,你必须在缺少帮助的情况下工作,减少借口,直面困难的现实。这样做的好处是,你可以独立思考,我们也可以看看有没有其他解决方案,是不是比我们的更好,大家一起交流,共同进步!
    
    我们现在主要是授人以渔(学习效果最好,成就感最大,增强自信心,我们也能反过来受到启发),主要作用是帮你收集资料,提供稳定的平台和参照物,使你面临的困难变小,最终协助你加速攻克难关。意义何在呢,例如:你知道你不知道的知识点,你上网搜索就可以找到,我们的价值在于,提供你不知道你不知道的那部分知识点,你无法上网查找,因为你不知道关键字。
    
    没有公开的源码只有几百行(HAL和DEV硬件相关部分),而且已经给出了很多启发,再加上ecos的大量范例,做出来不成问题。况且,我们做的移植也不一定是最好的,一个参考而已。想想也是,做嵌入式开发一定用ARM吗?就算用ARM一定用ARM7吗?就算用ARM7一定用NXP的吗?就算用NXP一定用LPC2210吗?就算用2210一定用EASY或SMART平台吗?说到底,我们的目的是用ecos做开发,ecos屏蔽了底层硬件细节,至于针对2210的移植源码反而不重要。

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]