在运动 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                            // 从主函数开始运行。
 
       3 工程选项中进行一些配置。
       这里以 RS485 工程为例,介绍一下主要的一些配置,没有提及到的,采用通用配置;
 
5f18cbd1g67f432ddad81
1 Target 选项配置
1 中, IROM1:0x20000000 RAM 的起始地址,空间大小为 0xE000 IRAM1 :起始地址为 0x2000E000 ,空间大小为 0x2000 ,这两个地址一定不能重合。
 
5f18cbd1g67f4348663e1
2 Debug 选项配置
此选项中不论是软仿还是硬件仿真,都要载入第二步的脚本文件,否则程序会从一个未知区域开始运行。在“ Initialization File ”选项框中点省略好按钮,在弹出的对话框中选择 Ram.ini 脚本文件。注意,此脚本文件最好放在对应工程目录的 Obj 文件里。如果工程被移动,此配置需重新置入。