论文首页哲学论文经济论文法学论文教育论文文学论文历史论文理学论文工学论文医学论文管理论文艺术论文 |
嵌入式系统的应用程序一般都是被固化在ROM中运行的。通常可用汇编语言编写启动程序来完成系统的硬件以及软件运行环境的初始化。启动和应用程序可一起固化在ROM中熞允瓜低吃谏系绾透次皇蹦芄蛔远跳转到复位异常向量入口地址处开始执行程序。
在源文件编译链接生成的目标文件中,代码、数据放在不同的段中。而目标文件中的.data 段则以系统RAM为参考地址,所以在系统启动时需要拷贝ROM中的.data到RAM,以完成RAM的初始化。
3 从RAM快速引导运行的实现方法
3.1 双重映射法
如果程序被烧录到微处理器的内部ROM, 可以通过MPC555的特有功能——双重映射法把内部FLASH的地址映射到外部RAM,以实现快速引导运行。在使能双重映射功能时,内部 FLASH区对应的地址不起作用,而映射的外部RAM区地址起作用。
具体操作时,首先把程序烧录到内部FLASH,然后在上电时把程序从内部FLASH拷贝到外部RAM,最后再使能微处理器的双重映射功能。这样,程序就可以在外部RAM中运行了。图1所示是其流程图。具体的程序代码如下:
INT Vectors
/* 系统复位 */
.skip 0x0100 煟 INT Vectors
start
# /*设置RAM 和 ROM 存储区*/
# /*OR2=0xFFF00000片选RAM 大小 1M*/
lis r5 0xfff0
ori r5 r5 0x0000
lis r4 OR2@ha
stw r5 OR2@l煟颍矗
# /* BR2=0x0400003 RAM基址 0X400000
32位口大小 */
lis r5 0x4