ucos本身分为三个部分,一是跟平台无关的部分,二是跟硬件有关的部分,三是跟应用相关的部分。
在ucos官网http://www.micrium.com/有现成的上下载,基本不用改编译下就好了,过程中也碰到了些问题。
方法:
在官网上下载Michael Anburaj 的ucos for 2410 版本,当前网站上的是1.10版的,其中并不包含ucos跟平台无关的代码。需要另外下载,我用的是2.52版本的。将三个部分放在三个目录里,并分别加载到ADS1.2中。
大部分问题是因为一些预定义没有定义。
1、出现了ENDIAN_CHANGE的问题
解决方法:
在init.s中增加 ?ENDIAN_CHANGE 的定义。
? GBLL ENDIAN_CHANGE
ENDIAN_CHANGE SETL {FALSE}
2、定义_BIG_ENDIAN
编译时报错没有定义__BIG_ENDIAN,在MEMCFG.s中定义如下,定义成小端模式。
? GBLL __BIG_ENDIAN
__BIG_ENDIAN SETL {FALSE} ?
3、编译时总是会出现莫名其妙的错误。可能第一次编译会有20个错,同样的再编译一次会10个错,再编译一次可能就没错。
解决方法:
将Memcfg.a跟S3c2410x.a文件改为Memcfg.s,S3c2410x.s,至于什么原因还没弄清楚,只是好像以前听阿南说过的。
还有一些小问题不怎么记得了,不过很容易解决。
移植好了之后,就是进行消化了。
https://static.assets-stash.eet-china.com/album/old-resources/2009/3/23/88a84baf-1d55-406c-8aa7-3184308f08de.rar
在ads1.2下编译通过,用的是阿南的an2410开发板。
更多参考文章:
http://www.dzkf.cn/html/qianrushixitong/2008/0411/3085.html
http://www.eaw.com.cn/news/display/article/1091
http://www.icembed.com/info-21394.htm
文章评论(0条评论)
登录后参与讨论