历史上的今天

今天是:2024年08月27日(星期二)

正在发生

2021年08月27日 | ARM的AREA指令的使用

发布者:采菊东篱下 来源: eefocus关键字:ARM  汇编程序 手机看文章 扫描二维码
随时随地手机看文章

AREA指令指示汇编程序汇编新的代码节或数据节。节是不可分的已命名独立代码或数据块,它们由链接器处理。有关详细信息,请参阅ELF节和AREA指令。

语法

AREA sectionname{,ATtr}{,ATtr}...

其中:

sectionname
是将要指定的节名。


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

ATtr

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

ALIGN=expression_r
缺省情况下,ELF节在四字节边界上对齐。expression_r可以取值0到31之间的任何整数。节在2^expression_r字节边界上对齐。例如,如果expression_r是10,则节在 1KB 边界上对齐。这与 ALIGN 指令所指定的方式不同。请参阅ALIGN。


注意:

不要对ARM代码节使用ALIGN=0或ALIGN=1。

不要对Thumb代码节使用ALIGN=0。

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

CODE
包含机器指令。READONLY 是缺省值。


CODEALIGN
当在节内的 ARM 或 Thumb 指令后使用 ALIGN 指令时,该属性导致汇编程序插入 NOP 指令,除非 ALIGN 指令指定了其他填充方式。


COMDEF
是一个公共节定义。 此 ELF 节可以包含代码或数据。 它必须等同于其他源文件中拥有相同名称的任何其他节。


名称相同的同一 ELF 节在内存的同一节中被链接器覆盖。 如果有任何不同,则链接器会产生一个警告,并且不覆盖这些节。 请参阅 《RealView 编译工具链接器和实用程序指南》中的第 3 章 使用基本链接器功能。


COMGROUP=symbol_name
是一个公共组节。公共组中的所有节都是公共的。当对象被链接后,其他目标文件可能具有带有symbol_name 签名的一个 GROUP。最终映像中只包含一个组。

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

DATA
包含数据,不包含指令。READWRITE 是缺省值。

GROUP=symbol_name
是组的签名,它必须由源文件或源文件中包含的文件定义。 具有相同 symbol_name 签名的所有 AREAS 都被置于同一组中。 组内的各节同时保存或显现。

NOALLOC
指示在目标系统上没有为此区域分配内存。

NOINIT
指示数据节未初始化,或初始化为零。 它只包含空间保留指令 SPACE 或初始化值为零的 DCB、DCD、DCDU、DCQ、DCQU、DCW 或 DCWU。 您可以在链接时决定某区域是未初始化还是初始化为零(请参阅 《RealView 编译工具链接器和实用程序指南》中的第 3 章 使用基本链接器功能)。


READONLY
指示不应向此节写入。 这是代码区域的缺省值。

READWRITE
指示可以读写此节。 这是数据区域的缺省值。

用法
使用AREA指令可将源文件细分为ELF节。 可以在多个 AREA 指令中使用相同的名称。 名称相同的所有区域都放在相同的 ELF 节中。 只有特定名称的第一个 AREA 指令的属性才会被应用。通常应对代码和数据使用不同的 ELF 节。 大型程序通常可方便地划分为多个代码节。 大量独立的数据集通常也最好放在不同的节中。局部标签的作用域是由 AREA 指令定义的,并可选择用 ROUT 指令细分(请参阅局部标签和ROUT)。

一组汇编代码必须至少有一个 AREA 指令。

    示例
    下列示例定义名为 Example 的只读代码节。

    AREA    Example,CODE,READONLY   ; An example code section.

            ; code


关键字:ARM  汇编程序 引用地址:ARM的AREA指令的使用

上一篇:LPC1788加密与解密方法
下一篇:LPC1768 eCos 启动代码分析(1)系统复位

推荐阅读

近期,俄罗斯最著名的武器生产商——曾设计制造AK-47自动步枪的卡拉什尼拉夫公司,发布了一款高4米的可行走“杀手”机器人,操作人员可坐在机器人对其进行操控。机器人的身体各部位都具有防弹功能。这个金色的机器人名叫“伊戈列克”,目前还在研发过程中,因此卡拉什尼拉夫公司尚未公布机器人的具体性能数据。据目前所知,这种双足机器人重4.5吨,可以行...
高云半导体宣布签约日本丸文株式会社(以下简称“丸文”)为其日本经销商,以进一步拓展全球销售网络。高云亚太销售总监谢肇堅表示,本次签约意味着高云半导体作为历史上第一家成功将集成电路引入日本市场的公司,又成为第一家将中国FPGA引入日本市场的公司。高云半导体成立于2014年1月,是国内为数不多的FPGA厂商之一。高云方面曾表示,自2017年1月首单批...
去年,小米发布了小米 9T 系列,小米 9T 和小米 9T Pro 分别是红米 K20 和红米 K20 Pro 的重命名版。现在最新消息显示,继任者小米 10T 和小米 10T Pro 即将到来,并且此次还有一款配置更低的小米 10T Lite。 信息来自 @数码闲聊站和 @yabhishekhd,后者透...
提到小车的控制必然想到的PID控制,这也是各技术报告都不会漏掉的名词,在飞思卡尔XS128系列(二)PWM模块中已经提到了一些电机控制方面的东西,主要讲了用PID和BANG-BANG控制相结合的方式来控制电机,就是由BANG-BANG来控制力度,用PID来控制精度,下面就具体来讲讲。先说控制,所谓控制首先由闭环控制和开环控制之分,就是所谓的有反馈和无反馈,当然PID...

史海拾趣

问答坊 | AI 解惑

6月下旬NAND Flash合约价下跌逾3%

根据最新公布的6月下旬NAND Flash合约价,从上旬的持平到下跌逾3%,所有规格中以4G产品跌势最重,其最低报价跌幅甚至超过10%,另外8G也有超过3%的跌幅。…

查看全部问答∨

电子类、单片机毕业设计制作

定做电子类,单片机毕业设计QQ:469081140…

查看全部问答∨

寻SMD802 或者HV9910 PWM调光方案

寻SMD802 或者HV9910 PWM调光方案? 之前调试的此类IC都是用于日光灯驱动,很少用来PWM调光,以至于这管脚闲置,请问谁有材料让我看看这个原理图。解释下是怎么个调光的。…

查看全部问答∨

求助,无法安装BSP怎么回事啊?

我是新手还没入门呢,大家别笑我啊,呵呵, 我安装BSP步骤: 1:复制SMDK2440 至 WINCE600/PLATFORM 下,去掉只读性 2:新建项目,在BSP 选项中看不到SMDK2440 这一项。 具体图片: 还有:SMDK2440 我去掉只读性时,明明去掉了,我再点击查看 ...…

查看全部问答∨

一个关于arm的问题

缓冲池到底是什么东西? adr指令到底如何翻译的 ldr r0,=a 什么意思…

查看全部问答∨

怎么管理两个AP,动态地让其中一个在前台,一个在后台这样动态切换?

怎么管理两个AP,动态地让其中一个在前台,一个在后台这样动态切换?…

查看全部问答∨

开发板和PC可以连接但无法调试???

1、开发板和PC可以连接但无法调试?? 开发班和PC通过交叉网线连接的,可以把NK。BIN下进去,但是无论怎么设置WINCE或 EVC下的 TOOLS\\CONFIGURE 下的DEVICE 属性 都不能进行连接调试 !下载文件 2、另外问题就是在wince5.0 platform manager ...…

查看全部问答∨

windows2000如何恢复默认任务栏?

因为win2000没有锁定任务栏一项,任务栏跑到桌面的上方,因为如果恢复到下方去???郁闷中…

查看全部问答∨

您好

一直自学的FPGA 最近来北京 找了份做FPGA的公司 杭州迪普 做网络安全的 在网上搜了搜 也不知道 怎么样。 面试我的人说他们只做逻辑  不考虑时序 和 功耗 之类的问题  我还是不太清楚 做逻辑 到底是做什么  还有 做逻辑有前途么?…

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved