S3C2440A工程移植:从ADS1.2到RealView MDK
来源:互联网 发布:欧洲右翼崛起知乎 编辑:程序博客网 时间:2024/05/18 20:12
RealView MDK在中国推出已经有一段时间了,而且作为未来发展的趋势必将取代ADS1.2,成为工程师广泛应用的开发平台。
但是,以前的S3C2440的项目都是由ADS开发,而且我在网上搜索并没有发现有ADS1.2工程移植的例子,只能自己摸索。而且刚刚接触嵌入式的这个部分,希望把这个成果与大家分享,让其他的人少走弯路。
移植思路:
不兼容问题主要在于启动的汇编代码中加入了很多的与编译器相关的调用,只需修改原有的2440init.s部分代码就可以实现。而修改Realview自身引入的s3c2440a.s启动代码修要修改的内容过多。因而,采用第一种方案。
编译中出现的问题以及解决:
1, .\output\LJD2440TEST.axf: Error: L6218E: Undefined symbol Main (referred from 2440init.o).
Main -> main,新的Realview MDK中大小写认为名称不同
2,.\output\LJD2440TEST.axf: Error: L6915E: Library reports error: scatter-load file declares no heap or stack regions and __user_initial_stackheap is not defined
加入部分代码
EXPORT __user_initial_stackheap
__user_initial_stackheap
LDR R0, = Heap_Mem
LDR R1, =(Stack_Mem + USR_Stack_Size)
LDR R2, = (Heap_Mem + Heap_Size)
LDR R3, = Stack_Mem
BX LR
3,
.\output\LJD2440TEST.axf: Error: L6218E: Undefined symbol Image$$RW$$Limit (referred from 2440lib.o).
.\output\LJD2440TEST.axf: Error: L6218E: Undefined symbol Image$$RO$$Base (referred from main.o).
.\output\LJD2440TEST.axf: Error: L6218E: Undefined symbol Image$$RO$$Limit (referred from main.o).
.\output\LJD2440TEST.axf: Error: L6218E: Undefined symbol Image$$RW$$Base (referred from main.o).
.\output\LJD2440TEST.axf: Error: L6218E: Undefined symbol Image$$ZI$$Base (referred from main.o).
.\output\LJD2440TEST.axf: Error: L6218E: Undefined symbol Image$$ZI$$Limit (referred from main.o).
办法:
重新编写.sct加载文件
4, Error: L6238E: foo.o(.text) contains invalid call from '~PRES8' function to'REQ8' function Warning: L6306W: '~PRES8' section foo.o(.text) should not use the address of 'REQ8' function foobar
办法:在每个汇编文件的开头,添加“PRESERVE8”指令
- S3C2440A工程移植:从ADS1.2到RealView MDK
- S3C2440A工程移植:从ADS1.2到RealView MDK
- (转载)S3C2440A工程移植:从ADS1.2到RealView MDK
- 从ADS1.2 到RV MDK移植
- ADS1.2 到 keil Realview MDK,IAR
- ADS1.2的代码移植到RealView一些error分享
- 从 ADS 到 RealView MDK
- 从ADS到RealView MDK(MDK ARM)
- ADS1.2工程移植到keil3.5
- S3C2440 由ADS移植到 RealView MDK kile4
- TQ2440开发板μC/OS的ADS1.2工程移植到MDK4.2的源码
- 从RVDS(ARM RealView Development Suite)迁移到RealView微控制器开发套件(MDK-ARM)
- 从ADS移植到MDK常见的警告和错误
- MDK从4.23升级到5.0原工程编译不成功
- Ads1.2工程文件成功移至到keil中
- ADS1.2和MDK兼容解决方法
- ADS1.2和MDK兼容解决方法
- 解决ADS1.2与MDK的兼容问题
- 扩展欧几里得算法
- VTK简介
- servlet 对传输数据进行压缩
- UVA 10137 旅行
- 详解Java多态性(转)
- S3C2440A工程移植:从ADS1.2到RealView MDK
- Ubuntu开机自动挂载硬盘的权限问题
- SQL 的包含查询 例子:根据IP获得省市名称,然后再获得市的ID
- Java与云计算
- Visio2007的UML菜单
- 基于NIOS II的流水灯
- 条款31:将文件间的关联度降到最低
- 解决:电脑开机的时候打不开桌面而出来一个VolumeDEC的空文件夹
- 开源项目之多线程TCP端口扫描器