- 39
- 0
- 约8.17千字
- 约 10页
- 2017-08-12 发布于河南
- 举报
ARM分散加载原理
1.ARM ELF目标文件的主要构成
2. 分散加载的基本原理
图1 分撒加载的基本原理示意图
3 分散加载文件语法
在一个实时嵌入式系统中,分散加载文件时对目标硬件中多个存储器块的分块描述,它直接对应目标硬件存储器的起始地址和范围。同时,它在应用程序连接时用于告诉连接器用户程序代码和数据的加载地址和运行地址,在连接时由连接器产生了相应的加载地址和运行地址符号,包括代码和数据的加载起始地址、运行地址和长度等。这些符号用于上电后执行启动代码的数据拷贝工作,启动代码根据这些符号,将指定代码和数据由ROM中的加载地址拷贝到RAM中的运行地址中,从而实现代码在高速RAM存储器中的脱机运行。其语法格式如下:
{
根区存储器块名 运行起始地址 [长度]
{
根区内容
}
执行区存储器块名 运行起始地址 [长度]
{
执行区内容
}
……
}
注意:
每一个分散加载文件必须至少包含一个根区,每个根区的加载地址等于执行地址。
每一个引导区必须至少包含一个执行区,每一个执行区必须至少包含一个代码段或数据段;一个引导区可以包含几个执行区,每一个执行区只能属于一个引导区。
4 分散加载时连接器生成的预定义符号
在编译连接时如果指定了分散加载文件(.scf文件),在连接后会自动生成如下变量:
Load $ $ region_name $ $ Base
原创力文档

文档评论(0)