找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3901|回复: 0
打印 上一主题 下一主题
收起左侧

S3C2410启动代码从ADSv1.2移植到KEIL For ARM uV4的方法

[复制链接]
跳转到指定楼层
楼主
ID:89763 发表于 2015-9-12 21:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
深圳旋极ARM9实验箱上面的ARM9实验教程是基于ADSv1.2 和 Mult-ICE2.2并口仿真器的,大概是04~09年期间流行的开发方式。目前ARM公司主推RVMDK(KEIL For ARM uVsion4)和ULINK(中国ARM玩家主要是JLINK V8)仿真器了,怎么把原来的ADS程序移植到KEIL上面呢?



经过分析ADS工程下面的文件,可以看到,原来的工程文件主程序是main.C,其他必须的汇编文件、C头文件、C源文件都放在common和include目录下。首先我们需要把这些工程都需要的基本文件都copy出来,放到一个“基本文件”目录下。

里面的“DebugInRAM.ini“文件,是通过JTAG将镜像文件下载到SDRAM内存中运行时,所需要加载的SDRAM配置文件,相当于ADSV1.2工程中每次都需要通过命令行键入” obey wtk2410.ads “文件中的内容。

DebugInRAM.ini文件的内容如下:可以看到,去掉了ads文件里面的禁止vector_catch和semihosting两个命令,其余都一样。

二、建立RVMDK工程文件,不要系统自建的启动代码,加入基本文件和main主程序文件。

修改init.s文件,这个是移植的关键。需要注意的地方有:
1. 宏”MOV_PC_LR“在KEIL里面修改成相应的BX <Rn>指令。
2.把init.s文件原来定义的段名”Init“ 修改成”RESET“,这应该相当于ADSV1.2里面告诉编译器镜像文件开始的段是谁。

3. 在AREA段定义伪指令前,加入” PRESERVE8 “伪指令,告诉KEIL编译器字节对齐。

4. 将ADSv1.2里面的RO、RW、ZI基地址和大小定义的系统变量,修改为KEIL中的格式,所有出现的代码都要修改。



5. 设置project\Target 1工程属性。

misc contrls里面加入”--entry 0x30100000“编译选项

6. 在”Debug“页面里面加入 "DebugInRAM.ini"文件,并在”Load Application at Startup“选项打勾。

,重新编译工程,生成镜像文件,并下载到SDRAM中开始调试。

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表