您所在位置: 网站首页 / arm-linux-参数总结.docx / 文档详情
arm-linux-参数总结.docx 立即下载
2025-08-25
约1.5万字
约25页
0
26KB
举报 版权申诉
预览加载中,请您耐心等待几秒...

arm-linux-参数总结.docx

arm-linux-参数总结.docx

预览

免费试读已结束,剩余 20 页请下载文档后查看

10 金币

下载文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

arm-linux-参数总结

第一篇:arm-linux-参数总结arm-linux-gcc/ld/objcopy/objdump参数总结arm-linux-gcc-wall-O2-c-o$@$-o只激活预处理,编译,和汇编,也就是他只把程序做成obj文件-Wall指定产生全部的警告信息-O2编译器对程序提供的编译优化选项,在编译的时候使用该选项,可以使生成的执行文件的执行效率提高-c表示只要求编译器进行编译,而不要进行链接,生成以源文件的文件名命名但把其后缀由.c或.cc变成.o的目标文件-S只激活预处理和编译,就是指把文件编译成为汇编代码arm-linux-ld直接指定代码段,数据段,BSS段的起始地址-Tteststartaddr-Tdatastartaddr-Tbssstartaddr示例:Arm-linux-ld–Ttext0x0000000–gled.o–oled_elf使用连接脚本设置地址:Arm-linux-ld–Ttimer.lds–otimer_elf$^其中timer.lds为连接脚本完整的连接脚本格式:SECTIONS{…SecnamestartALING(aling)(NOLOAD):AT(ldaddr){contents}>region:phdr=fill…..}arm-linux-objcopy被用来复制一个目标文件的内容到另一个文件中,可用于不同源文件的之间的格式转换示例:Arm-linux-objcopy–obinary–Self_filebin_file常用的选项:input-file,outflie输入和输出文件,如果没有outfile,则输出文件名为输入文件名2.-lbfdname或—input-target=bfdname用来指明源文件的格式,bfdname是BFD库中描述的标准格式名,如果没指明,则arm-linux-objcopy自己分析3.-Obfdname输出的格式4.-Fbfdname同时指明源文件,目的文件的格式5.-Rsectionname从输出文件中删除掉所有名为sectionname的段6.-S不从源文件中复制重定位信息和符号信息到目标文件中7.-g不从源文件中复制调试符号到目标文件中arm-linux-objdump查看目标文件(.o文件)和库文件(.a文件)信息arm-linux-objdump-D-marmled_elf>led.dis-D显示文件中所有汇编信息-mmachine指定反汇编目标文件时使用的架构,当待反汇编文件本身没有描述架构信息的时候(比如S-records),这个选项很有用。可以用-i选项列出这里能够指定的架构.常用选项:1.-bbfdname指定目标码格式2.—disassemble或者-d反汇编可执行段3.—dissassemble-all或者-D反汇编所有段4.-EB,-EL指定字节序5.—file-headers或者-f显示文件的整体头部摘要信息6.—section-headers,--headers或者-h显示目标文件中各个段的头部摘要信息7.—info或者-I显示支持的目标文件格式和CPU架构8.—section=name或者-jname显示指定section的信息9.—architecture=machine或者-mmachine指定反汇编目标文件时使用的架构1.修改源代码的顶层MakefileCC=$(CROSSCOM_PILE)gcc-->CC=$(CROSSCOM_PILE)gcc-g使成生的vmlinux中含有debug信息2.所有生成.o的rule中再加一条CC-E-dD-C$/preprocessing/$(shellpwd)/$生成预处理文件从这个文件里面能很容易找到c源文件的宏定义3.objdump-hvmlinux>vmlinux.txt显示linux内核段信息,如段的开始虚拟地址,段的长度4.objdump-S-l-zvmlinux>vmlinux.txt反汇编vmlinux到vmlinux.txt,vmlinux.txt含有汇编和c源文件的混合代码,看起来很方便。而且能一步步看linux怎么一步步运行的。5.objdump-S-l-z-jxxxx(sectionname)vmlinux>vmlinux.txt反汇编linux内核段xxxx到文件vmlinux.txt中。6.objdump-xvmlinux>x.txtvmliux中所有段的头信息,其中包口vmlinux的入口地址等7.objdump--debuggingvmlinux>debugging.txt很多有用的debug信息,如函数名,结构体定义等我觉的用根据以上信息,ultraedit看很方便。尤其在vmlinux.txt中选中文件名,用ultr
查看更多
单篇购买
VIP会员(1亿+VIP文档免费下)

扫码即表示接受《下载须知》

arm-linux-参数总结

文档大小:26KB

限时特价:扫码查看

• 请登录后再进行扫码购买
• 使用微信/支付宝扫码注册及付费下载,详阅 用户协议 隐私政策
• 如已在其他页面进行付款,请刷新当前页面重试
• 付费购买成功后,此文档可永久免费下载
全场最划算
12个月
199.0
¥360.0
限时特惠
3个月
69.9
¥90.0
新人专享
1个月
19.9
¥30.0
24个月
398.0
¥720.0
6个月会员
139.9
¥180.0

6亿VIP文档任选,共次下载特权。

已优惠

微信/支付宝扫码完成支付,可开具发票

VIP尽享专属权益

VIP文档免费下载

赠送VIP文档免费下载次数

阅读免打扰

去除文档详情页间广告

专属身份标识

尊贵的VIP专属身份标识

高级客服

一对一高级客服服务

多端互通

电脑端/手机端权益通用