共2条
1/1 1 跳转至页
ecos,for,SmartARM2200 ecos for SmartARM2200

问
答 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的移植源码反而不重要。
作为过来人,我的移植经验是,先把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 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 | |
【我踩过的那些坑】杜绑线问题被打赏50分 | |
【我踩过的那些坑】STM32的硬件通讯调试过程的“坑”被打赏50分 | |
【我踩过的那些坑】晶振使用的问题被打赏100分 | |
【我踩过的那些坑】电感选型错误导致的处理器连接不上被打赏50分 | |
【我踩过的那些坑】工作那些年踩过的记忆深刻的坑被打赏10分 | |
【我踩过的那些坑】DRC使用位置错误导致的问题被打赏100分 | |
我踩过的那些坑之混合OTL功放与落地音箱被打赏50分 |