当前位置:首页 > 单片机 > 单片机
[导读] 想要读懂启动文件,需要一些基本的汇编基础。 1 在汇编语言中,注释是 ; 2汇编ARM指令DCDDCD ( DCDU )用于分配一片连续的字存储单元并用指定的数据初始化。 语法格式: 标号 DCD (或 DCDU ) 表达式 DCD (或 DC

想要读懂启动文件,需要一些基本的汇编基础。

1 在汇编语言中,注释是 ;

2汇编ARM指令DCD

DCD ( DCDU )用于分配一片连续的字存储单元并用指定的数据初始化。

语法格式:
标号 DCD (或 DCDU ) 表达式

DCD (或 DCDU )伪指令用于分配一片连续的字存储单元并用伪指令中指定的表达式初始化。其中,表达式可以

为程序标号或数字表达式。 DCD 也可用 “ & ” 代替。

用 DCD 分配的字存储单元是字对齐的,而用 DCDU 分配的字存储单元并不严格字对齐。

使用示例:
DataTest DCD 4 , 5 , 6 ;分配一片连续的字存储单元并初始化。

3 [weak] 的意思是该函数优先级比较弱,如果其它地方定义了一个同名函数,那么此处的这个函数就被取代了。


语法格式为 EXPORT 标号 {[WEAK]} 。EXPORT 可用GLOBAL代替。

4AREA指令的理解

AREA指令是一个伪指令,用于段定义。ARM汇编程序由段组成,段是相对独立的指令或数据单位,每个段由AREA

伪指令定义,并定义段的属性。


AREA参数说明:


*STACK——AREA指令的一个参数,定义段名称


*NOINIT——AREA指令的一个参数,指定本数据段仅仅保留了内在单元,而将句初始值写入内存单元,此时内存单元值初始化为0


*READWRITE——指定本段为可读可写,数据段默认为READWRITE.


READWRITE(读写)、READONLY(只读)


*ALIGN——也是一个伪指令,指定对齐方式。ALIGN n 指令的对齐值有两种选择:n或者2^n


例子:开辟一个堆栈段,段名为STACK,定义为可读可写,将内存单元初始化为0,对齐方式为8字节对齐。


AREA STACK,NOINIT,READWRITE,ALIGN=3


;********************(C)COPYRIGHT2011STMicroelectronics********************

;*FileName:startup_stm32f10x_hd.s

;*Author:MCDApplicationTeam

;*Version:V3.5.0

;*Date:11-March-2011

;*Description:STM32F10xHighDensityDevicesvectortableforMDK-ARM

;*toolchain.

;*Thismoduleperforms:

;*-SettheinitialSP

;*-SettheinitialPC==Reset_Handler

;*-SetthevectortableentrieswiththeexceptionsISRaddress

;*-Configuretheclocksystemandalsoconfiguretheexternal

;*SRAMmountedonSTM3210E-EVALboardtobeusedasdata

;*memory(optional,tobeenabledbyuser)

;*-Branchesto__mainintheClibrary(whicheventually

;*callsmain()).

;*AfterResettheCortexM3processorisinThreadmode,

;*priorityisPrivileged,andtheStackissettoMain.

;*<<>>

;*******************************************************************************

;THEPRESENTFIRMWAREWHICHISFORGUIDANCEONLYAIMSATPROVIDINGCUSTOMERS

;WITHCODINGINFORMATIONREGARDINGTHEIRPRODUCTSINORDERFORTHEMTOSAVETIME.

;ASARESULT,STMICROELECTRONICSSHALLNOTBEHELDLIABLEFORANYDIRECT,

;INDIRECTORCONSEQUENTIALDAMAGESWITHRESPECTTOANYCLAIMSARISINGFROMTHE

;CONTENTOFSUCHFIRMWAREAND/ORTHEUSEMADEBYCUSTOMERSOFTHECODING

;INFORMATIONCONTAINEDHEREININCONNECTIONWITHTHEIRPRODUCTS.

;*******************************************************************************

;Amountofmemory(inbytes)allocatedforStack

;Tailorthisvaluetoyourapplicationneeds

;StackConfiguration

;StackSize(inBytes)<0x0-0xFFFFFFFF:8>

;

Stack_SizeEQU0x00001000;定义栈大小为40960x1000=4096

AREASTACK,NOINIT,READWRITE,ALIGN=3

Stack_MemSPACEStack_Size

__initial_sp

;HeapConfiguration

;HeapSize(inBytes)<0x0-0xFFFFFFFF:8>

;

Heap_SizeEQU0x00001000;定义堆的空间为1024

AREAHEAP,NOINIT,READWRITE,ALIGN=3

__heap_base

Heap_MemSPACEHeap_Size

__heap_limit

PRESERVE8

THUMB

;VectorTableMappedtoAddress0atReset

AREARESET,DATA,READONLY

EXPORT__Vectors

EXPORT__Vectors_End

EXPORT__Vectors_Size

__VectorsDCD__initial_sp;TopofStack

DCDReset_Handler;ResetHandler

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭