原创 mini2440的ucos2例程用keil编译

2009-4-8 09:53 4950 3 5 分类: MCU/ 嵌入式

费了好大一番周折才弄好,不过还算好,没有搞到崩溃。之前的ARM7下面的移植经验帮了我很大的忙。总结下来有几个地方要改:


1.汇编的.s文件都要加PRESERVE8不然编译会出错


2.要加上一个__user_initial_stackheap不然编译会出错


3.2440init里面的Main要全部改成__main,main.c里面的Main也要改成小写main


4.然后自己些分散加载文件,并加上参数--entry 0x30000000


我是这样写的:


LR_1 0x30000000   {    ; load region size_region
  ER_RO 0x30000000   {  ; load address = execution address
   2440init.o (Init, +First)
   *(+RO)
  }
  ER_RW +0  {  ; RW data
   *(+RW)
  }
  ER_ZI +0  {  ; RW data
   *(+ZI)
  }
}


根据ADS的例子来改的


然后所有汇编里的


|Image$$RO$$Limit|


|Image$$RW$$Base|


|Image$$ZI$$Base|分别改成


|Image$$ER_RO$$Limit|


|Image$$ER_RW$$Base|


|Image$$ER_ZI$$Base|


就这些了吧,编译好下载到板子上面就能看见界面了,好happy哦!


新注:发现使用__main有点多余甚至会有问题,但是不使用又不能运行,修改是否正确还待考虑


 

PARTNER CONTENT

文章评论2条评论)

登录后参与讨论

用户1588142 2012-3-26 20:57

收下!!!

用户1549128 2011-9-27 14:25

我也进行了移植,但是发现编译器编译没有问题,但是程序下载到mini2440的内存中没有运行,你的第2、3、4点我都没有改,不知道是不是这个问题呀

用户1536350 2010-10-28 20:30

大哥~ 那如何下载到flash中啊? 我把在IAR4.2的工程用IAR5.5打开后,出现了很多问题,现在能仿真调试(应该是仅仅在RAM中运行),断电后,数据就丢失了。 而且,生成的hex,烧录后也无反应`! 何解?

用户202255 2009-6-9 23:30

我也是用的mini2440想要跑UCOS,但是光盘带的UCOS只能通过u-boot下载到SDRAM中跑起来,我这边下载到NORFLASH开机没有动静。 有办法不?有空指点一下啊?

用户1401973 2009-3-26 18:06

请问boot0和boot1所占用的io口是否可以做普通io口?
相关推荐阅读
用户514211 2009-07-01 11:11
mini2440USB
一直想通过USB下载功能的bootloader学习下2440的USB。而mini2440光盘里面的YL2440A_MON的bootloader一直不能使用,虽然他的文档上面写了可以使用,但是一直没有试...
用户514211 2009-05-16 16:28
obex_test
今天用obex_test的时候居然出现obex_test not found后来./configure --help才发现:原来要加--enable-apps 才能讲obex_test编译进去汗...
用户514211 2009-05-05 21:54
oxbeftp终于编译好了
下面这个错误搞得我弄了好久都没弄好,虽然现在也没有搞清楚,但是应该是我交叉编译环境的设置问题,在网上搜了好久,没有搜到同样的问题解决方法,但是找到了好多类似错误的解决,始终还是没有能完全搞定。/usr...
用户514211 2009-05-02 09:20
mini2440上编译bluez
最近把蓝牙协议栈bluez编译到了mini2440的linux平台上了,一切都还比较顺手。主要还是参考了一些前辈的经验。具体的链接地址如下:http://clc168.blogspot.com/200...
用户514211 2009-04-17 09:49
高炮打蚊子
高炮打蚊子,今天把我的高炮打蚊子计划搞成了。就是把51上用的SMALLRTOS移植到了我的mini2440板子上面。前几天一直没有成功,主要精力放在汇编代码上面,主要还是对ARM7,ARM9的区别不太...
我要评论
2
3
关闭 站长推荐上一条 /1 下一条