深圳旋极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中开始调试。
上一篇:ARM9学习2-ARM镜像文件和Scatter文件
下一篇:2440裸机编程之四 外部中断
推荐阅读最新更新时间:2024-11-17 17:37
设计资源 培训 开发板 精华推荐
- 使用 Analog Devices 的 LTC3873EDDB-5 的参考设计
- AD5336 并行接口、四路电压输出、10 位 DAC 的典型应用
- 使用 ROHM Semiconductor 的 BD25IA5WEFJ 的参考设计
- DC1969A-A,使用 LTC4120 无线电源接收器和 400mA 降压电池充电器的演示板
- WT12 开发套件设计资料
- TI高速示波器参考设计(采样率12.8Gsps,带宽6GHz,12bit分辨率)
- 语音点名
- max6675
- AM2DM-0509DH60-NZ ±9 Vout、2W 双路输出 DC-DC 转换器的典型应用
- 【涂鸦智能】基于涂鸦智能的温湿度传感器