arm编译杂记1

本文详细解析了ARM汇编中的AT指令用于指定映像文件中的地址,介绍了ALIGN示例及其应用,展示了使用arm-linux-objcopy和arm-linux-objdump命令进行文件转换与反汇编的过程。主要内容包括段地址对齐、文件二进制转换及代码反汇编,旨在深入理解ARM汇编语言的基础应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.AT:指定这个段在编译出来的映像文件中的地址-加载地址

2.ALIGN示例:

                 SECTIONS{

                 .text       :{*(.text)}

                 .dodata ALIGN(4):{*(.rodata)}

                 .data ALIGN(4):{*(.data)}

                 .bsss ALIGN(4):{*(.bss) *(COMMON)}


}

假设“.text”段的地址范围为0x30000000~0x300003f1,则“.rodata”段的地址是4字节对齐后的0x300003f4

3.常用arm-linux-objcopy -O binary -S elf_file bin_file

其中binary是一个参数,不要修改其名称;elf_file通常被前面编译时人为命名为xx_elf;bin-file为xx.bin

4.常用arm-linux-objdump -D -b binary -m arm bin_file > dis_file

示例:arm-linux-objdump -D -m arm  leds_elf > leds.dis,将leds_elf这个elf格式的文件反汇编成leds.dis这个文件,里面存有反汇编出来的代码。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值