请问stm32用MDK生成的bin文件大小是否一定是4字节的倍数?

2019-07-14 21:23发布

如题,谢谢!
是否因为STM32是32位的CPU生成的bin就一定是4字节的倍数?
初学入门对深层的原理还不太清楚,请前辈指教。。谢谢
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
xixilvtt
2019-07-15 03:33
语法格式:AREA 段名{,属性 1}{,属性 2}……
AREA 命令指示汇编程序汇编一个新的代码段或数据段。段是独立的、指定的、不可见的代
码或数据块,它们由链接程序处理。
段名:可以为段选择任何段名。但是,以一个数字开始的名称必须包含在竖杠号内,否则会
产生一个缺失段名错误。例如,|1_DataArea|。
有些名称是习惯性的名称。例如:|.text|用于表示由 C 编译程序产生的代码段,或用于以某
种方式与 C 库关联的代码段。
属性字段表示该代码段(或数据段)的相关属性,多个属性用逗号分隔。常用的属性如下:
——CODE 属性:用于定义代码段,默认为 READONLY。
——DATA 属性:用于定义数据段,默认为 READWRITE。
——READONLY 属性:指定本段为只读,代码段默认为 READONLY。
——READWRITE 属性:指定本段为可读可写,数据段的默认属性为 READWRITE。
——ALIGN 属性:使用方式为 ALIGN 表达式。在默认时,ELF(可执行连接文件)的代码
段和数据段是按字对齐的,表达式的取值范围为 0~31,相应的对齐方式为 2 表达式次方。
——NOINIT 属性:表示数据段是未初始化的或初始化为零。其只包含零初始化的空间保留
命令 SPACE 或 DCB、DCD、DCDU、DCQ、DCQU、DCW 或 DCWU。可以决定在链接时
AREA 是未初始化的还是零初始化的。
一个汇编语言程序至少要包含一个段,当程序太长时,也可以将程序分为多个代码段和数据

一周热门 更多>