手把手教你在RAM调试ARM程序
基于REALVIEW MDK3.22环境的应用开发
众所周知,KEIL公司是世界上知名的MCU编译器及其工具开发商,在推出51编译器后,又接着推出了ARM编译器.自从realview MDK推出以来,版本升级过程中,变化较大,现在最新的已经是3.22的版本号了.在功能上,代码限制从16K到上升到32K,从CARM COMPILER编译器过度到REALVIEW COMPILER编译器, 而且支持中文帮助.在一些配置界面上有很大的变化.现在按最新的软件来讨论。
软件环境: RealView MDK 3.22(截至2008年6月最新中国评估版)
运行平台:软件仿真
工程示例:Blinky.uv2(系统自带)
作者假设你已经初步掌握了realview MDK(或者keil uvision)的基本方法,能够独立完成一个工程的建立及软件调试工作.那么下面让我们来一起在RAM中调试程序吧.
1,打开一个已经建好的工程, 本文以系统自带的:Blinky.uv2工程为例来说明,其路径为C:\Keil\ARM\Examples\Blinky,打开后的界面如下图所示.

2,在工程管理器上,右键点击LPC2100,在弹出,菜单里选择OPINTION FOR LPC2100,或者点击工具栏里的那个小魔法棒.

3,这时弹出的新窗口,切到LINKER选项卡,如下

4, 这时候的地址不再是确省值,采用瞒天过海的办法,在R/O BASE里填入0X40000000,表示程序的基地址,在R/W BASE里填入0X40000400,RAM表示数据的基地址.点确定关闭.

5,在C:\Keil\ARM\Examples\Blinky路径下建立一个记事本文件,将文件扩展名改为.INI,文件全名为Blinky.INI,打开文件后输入以下信息:
FUNC void Setup(void) {
PC=0X40000000;
}
Setup();
LOAD .\Obj\Blinky.axf INCREMENTAL
输入完后保存并关闭.
6,按3操作,打开OPTION FOR LPC2100窗口,在DEBUG选项卡里选中 use simulator,表示软件仿真,同时在LOAD APPLICATION选择框里打勾,(注意:RUN MAIN 不要打勾.)点在initalization FILES旁边的浏览按钮按路径添加Blinky.INI文件,找到后点击确定,关闭窗口.
7,在工具拦里点击仿真按钮, 你看到了什么???

呵呵,看到想要的结果了吗?是不是程序从地址为0X40000000的RAM里开始执行了!!!
8,这是个流水灯的小程序,打开I/O观察窗口(在PHERIAL->GPIO)并执行全速运行命令,就可以看到流水灯在来回移动的效果了.
联系作者: 蒋小兵
QQ:66545301
EMAIL:andy@midoriyasz.com
上一篇:Android编译环境(1) - 编译Native C的helloworld模块
下一篇:Qt Embedded及嵌入式Linux下的常见GUI系统
|