微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM 汇编命令参考AREA

ARM 汇编命令参考AREA

时间:11-11 来源:互联网 点击:
1. AREA

AREA 命令指示汇编程序汇编一个新的代码段或数据段。段是独立的、指定的、不可见的代码或数据块,它们由链接程序处理。

语法
AREA sectionname{,attr}{,attr}...

其中:

sectionname 是将要指定的段名。

可以为段选择任何段名。但是,以一个数字开始的名称必须包含在竖杠号内,否则会产生一个缺失段名错误。例如,|1_DataArea|。
有些名称是习惯性的名称。例如,|.text| 用于表示由 C 编译程序产生的代码段,或用于以某种方式与 C 库关联的代码段。

attr 是一个或多个用逗号分隔的段属性。有效的属性是:

ALIGN=expression

默认情况下,ELF 段在四字节边界上对齐。expression 可以拥有 0 到 31 的任何整数。段在 2expression 字节边界上对齐。例如,如果 expression 是 10,则段是在 1KB 边界上对齐。这与 ALIGN 命令所指定的方式并不相同。

ASSOC=section

section 指定一个关联的 ELF 段。sectionname必须包含在含有 section 的任何链接中。

CODE

包含机器指令。READONLY 是默认值。

COMDEF

是一个公共段定义。这是包含代码或数据的 ELF 段。其必须等同于与其它源文件中拥有相同名称的任何其它段须是同一段。拥有相同名称的同一 ELF 段在存储器的相同段中被链接程序覆盖。如果有任何段不同,则链接程序产生一个警告,并且不覆盖这些段。请参阅RealView 编译工具 2.0 版链接程序和实用程序指南 中的链接程序 一章。

COMMON

是公共数据段。不能在其中定义任何代码或数据。其由
链接程序初始化为零。拥有相同名称的所有公共段在存
储器的相同段中被链接程序覆盖。它们并不都需要具有
相同的大小。链接程序按每个名称的最大公共段的需要
分配空间。

DATA

包含数据但不含指令。READWRITE 是默认值。

NOALLOC

表示在目标系统上没有为此 AREA 分配存储器。

NOINIT

表示数据段是未初始化的或初始化为零。其只包含零初始化的空间保留命令 SPACE 或 DCB、DCD、DCDU、DCQ、DCQU、DCW 或 DCWU。可以决定在链接时 AREA 是未初始化的还是零初始化的(请参阅RealView 编译工具 2.0 版链接程序和实用程序指南 中的链接程序 一章)。

READONLY

表示不能写到此段中。这是代码区域的默认情况。

READWRITE

表示可以读和写此段。这是数据区域的默认情况

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top