新闻  |   论坛  |   博客  |   在线研讨会
Keil平台中如何让程序在RAM中跑起来。
sdjntl | 2010-05-30 16:54:40    阅读:4699   发布文章

Keil平台中如何让程序在RAM中跑起来。
 
在运动Keil开发平台时,相对IAR平台而言,要想应用程序在RAM中运行,配置有点繁锁,首先程序开发者要知道你的目标芯片RAM空间的起始地址和空间大小;其次,程序开发者要配置一个脚本文件,以便程序调试运行时引导应用程序;最后需要在相应的工程选项中进行一些配置。
 
1、 确定目标芯片RAM空间的起始地址和空间大小;
以Lumianry的LM3S8962为例,Flash是从0x00000000地址开始,空间大小为0x40000;RAM是从0x20000000地址开始,空间大小为0x10000;
 
2、配置一个脚本文件;
此脚本文件主要是用来引导应用程序从某一个地址开始运行,此文件扩展名是 .ini 。假设我们想让应用程序在ARM里面运行,并且从0x20000600地址处开始,其脚本代码如下:
 
FUNC void Setup (void)
{
SP = _RDWORD(0x20000000); // 应用程序入口地址。
PC = _RDWORD(0x20000004); // PC指针为应用程序入口地址基础上加4。
WDWORD(0xE000ED08, 0x20000000); // 参数1为中断向量表的地址,参数2为应用程序入口地址。
}
LOAD RS485.axf INCREMENTAL // 要载入对应工程编译产生的.axf文件。 很重要。
Setup(); // 启动函数。

g,main // 从主函数开始运行。

 

此选项中不论是软仿还是硬件仿真,都要载入以上的脚本文件,否则程序会从一个未知区域开始运行。在“Initialization File”选项框中点省略好按钮,在弹出的对话框中选择Ram.ini脚本文件。注意,此脚本文件最好放在对应工程目录的Obj文件里。如果工程被移动,此配置需重新置入。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
在路上
最近文章
ARM的开发步骤
2010-05-30 17:13:59
LPC2XXX系列问答(二)
2010-05-30 17:08:12
LPC2XXX系列问答(一)
2010-05-30 17:07:28
推荐文章
最近访客