×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-06-02 发布时间:
|

深圳旋极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 指令。


2.把init.s文件原来定义的段名”Init“ 修改成”RESET“,这应该相当于ADSV1.2里面告诉编译器镜像文件开始的段是谁。

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

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


5. 设置projectTarget 1工程属性。

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

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

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

关键字:S3C2410  启动代码  ADSv1  2移植  KEIL  For  ARM  uV4 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
C51 特殊功能寄存器SFR的名称和地址