社区
驱动开发/核心开发
帖子详情
脚本文件中的. = ALIGN(4);是什么意思?究竟是按照多少字节对齐?
papaofdoudou
人工智能领域新星创作者
博客专家认证
2011-03-06 06:29:04
. = ALIGN(4);
.text :
{
cpu/arm920t/start.o (.text)
board/EmbedSky/boot_init.o (.text)
board/EmbedSky/lowlevel_init.o (.text)
*(.text)
}
. = ALIGN(4);
和code中的.align指示符一样吗,code里面如果是.align 4的话,就是2的四次方对齐,那脚本文件中呢?
...全文
3362
7
打赏
收藏
脚本文件中的. = ALIGN(4);是什么意思?究竟是按照多少字节对齐?
. = ALIGN(4); .text : { cpu/arm920t/start.o(.text) board/EmbedSky/boot_init.o (.text) board/EmbedSky/lowlevel_init.o (.text) *(.text) } . = ALIGN(4); 和code中的.align指示符一样吗,code里面如果是.align 4的话,就是2的四次方对齐,那脚本文件中呢?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
L_thread
2011-03-11
打赏
举报
回复
. = ALIGN(4);
指示编译器将接下来的代码进行4字节对齐编译,也就是在分配地址时,以4的整数倍分配。
sunvin
2011-03-11
打赏
举报
回复
4字节对齐,32位(可以看看原理图数据线地址线连线)外设对对齐是有严格要求的,譬如NAND CTRL。
kobe0601
2011-03-09
打赏
举报
回复
ALIGN 4?应该是2的4次方才对啊!如果要4个字节对齐,那就要2的2次方啊!
codesnail
2011-03-08
打赏
举报
回复
四字节对齐,结贴吧。。。。
yourtse
2011-03-07
打赏
举报
回复
代码以4字节对齐
如上一段代码的地址为0x0c001232
那么下一段的二地址为 0x0c001234
zhdi1986
2011-03-07
打赏
举报
回复
. = ALIGN(4);
指示编译器将接下来的代码进行4字节对齐编译,也就是在分配地址时,以4的整数倍分配。
子愚
2011-03-06
打赏
举报
回复
. = ALIGN(4) ; 代码以4字节对齐
自动化运维
脚本
编程:CMD/DOS批处理实战案例学习
1、批处理
文件
是什么批处理
文件
(batch file)包含一系列 DOS命令,通常用于自动执行重复性任务。用户只需双击批处理
文件
便可执行任务,而无需重复输入相同指令。编写批处理
文件
非常简单,但难点在于确保一切按顺序执行。编写严谨的批处理
文件
可以极大程度地节省时间,在应对重复性工作时尤其有效,在Windows
中
善用批处理可以简化很多重复工作。 2、目前比较常见的批处理分类DOS批处理和PS批处理。PS批处理是基于强大的图片编辑软件Photoshop的,用来批量处理图片的
脚本
;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的
脚本
。这里要讲的就是DOS批处理批处理是一种简化的
脚本
语言,它应用于DOS和Windows系统
中
,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。批处理类似于Unix
中
的Shell
脚本
。批处理
文件
具有.bat或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行
中
会用到的各种命令。更复杂的情况,需要使用if,for,goto等命令控制程序的运行过程,如同C,Basic等
中
高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。
关于bootloader链接
脚本
中
的
ALIGN
关键字的解析
问题描述: 前几天遇到一个问题:下图表示的链接
脚本
中
的绿色框
中
ALIGN
(4):表示
什么意思
?是4个
字节对齐
呢?还是2的4次幂个
字节对齐
?还有就是对齐是如何对齐的呢?如果有结论该如何验证这些内容?
.lds链接
脚本
以及编译流程分析
链接
脚本
.lds
文件
作用:控制输出
文件
在内存
中
的排布 最简单的连接
脚本
SECTIONS{ . = 0X10000000; .text : {*(.text)} . = 0X30000000; .data
ALIGN
(4) : { *(.data) } .bss
ALIGN
(4) : { *(.bss) } } SECTIONS
中
定义输出
文件
的内存布局,编译出的代码一般是有text段、data段、bss段、和rodata段。代码段连接到0X10000000,数据段连接到0X3000000.
伪指令 .
align
的含义
伪指令 .
align
的作用是在编译时指示编译器填充位置计数器(类似指令计数器)到一个指定的内存边界处,目的是为 了提高 CPU 访问内存
中
代码或数据的速度和效率。其完整格式为: .
align
val_1 , val_2, val_3 其
中
第 1 个参数值 val_1 是所需要的对齐值;第 2 个是填充字节的值,填充值可以省略,若省略则编 译器使用 0 值填充。第 3 个用来指明最大用于填充或跳过的字节数。如果进行边界对齐会超过 val_3 指定的最大字节数,那么就根本不进行对齐操作。如果需要省略第 2 个
补注:深入理解链接
脚本
文件
文章目录一、什么是链接
脚本
文件
二、举个简单的例子三、持续更新
中
。。。 一、什么是链接
脚本
文件
①连接
脚本
的一个主要目的是描述输入
文件
中
的节如何被映射到输出
文件
中
,并控制输出
文件
的内存排布. 几乎所有的连接
脚本
只做这两件事情. ②连接器把多个输入
文件
合并成单个输出
文件
. 输出
文件
和输入
文件
都以一种叫做’目标
文件
格式’的数据格式形式存在. 每一个
文件
被叫做’目标
文件
’. 输出
文件
经常被叫做’可执行
文件
’,但是由于需要,我们也把它叫做目标
文件
. 每一个目标
文件
中
,在其它东西之间,有一个节列表.我们有时把输入
文件
的
驱动开发/核心开发
21,597
社区成员
21,709
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章