历史上的今天
返回首页

历史上的今天

今天是:2025年02月09日(星期日)

正在发生

2021年02月09日 | readelf 命令读取 STM32 编译生成的 ELF 和 AXF 文件

2021-02-09 来源:eefocus

1、概述


readelf 命令,一般用于查看 ELF 格式的文件信息,常见的文件如在Linux上的可执行文件,动态库(*.so)或者静态库(*.a) 等包含ELF格式的文件。


可以在 windows 命令行或 Git bash 上查看。


2、readelf 常用命令


语法:readelf (选项)(参数:文件),除了-v和-H之外,其它的选项必须有一个被指定参数。


Usage: readelf elf-file(s)

 Display information about the contents of ELF format files

 Options are:

  -a --all               Equivalent to: -h -l -S -s -r -d -V -A -I

  -h --file-header       Display the ELF file header

  -l --program-headers   Display the program headers

     --segments          An alias for --program-headers

  -S --section-headers   Display the sections' header

     --sections          An alias for --section-headers

  -g --section-groups    Display the section groups

  -t --section-details   Display the section details

  -e --headers           Equivalent to: -h -l -S

  -s --syms              Display the symbol table

     --symbols           An alias for --syms

  --dyn-syms             Display the dynamic symbol table

  -n --notes             Display the core notes (if present)

  -r --relocs            Display the relocations (if present)

  -u --unwind            Display the unwind info (if present)

  -d --dynamic           Display the dynamic section (if present)

  -V --version-info      Display the version sections (if present)

  -A --arch-specific     Display architecture specific information (if any).

  -c --archive-index     Display the symbol/file index in an archive

  -D --use-dynamic       Use the dynamic section info when displaying symbols

  -x --hex-dump=

                         Dump the contents of section as bytes

  -p --string-dump=

                         Dump the contents of section as strings

  -R --relocated-dump=

                         Dump the contents of section as relocated bytes

  -w[lLiaprmfFsoRt] or

  --debug-dump[=rawline,=decodedline,=info,=abbrev,=pubnames,=aranges,=macro,=frames,

               =frames-interp,=str,=loc,=Ranges,=pubtypes,

               =gdb_index,=trace_info,=trace_abbrev,=trace_aranges]

                         Display the contents of DWARF2 debug sections

  --dwarf-depth=N        Do not display DIEs at depth N or greater

  --dwarf-start=N        Display DIEs starting with N, at the same depth

                         or deeper

  -I --histogram         Display histogram of bucket list lengths

  -W --wide              Allow output width to exceed 80 characters

  @                Read options from

  -H --help              Display this information

  -v --version           Display the version number of readelf

1)选项 -h(elf header),显示elf文件开始的文件头信息;


2)选项 -l(program headers),segments 显示程序头(段头)信息;


3)选项 -S(section headers),sections 显示节头信息;


4)选项 -g(section groups),显示节组信息;


5)选项 -t,section-details 显示节的详细信息(-S的);


6)选项 -s,symbols 显示符号表段中的项;


7)选项 -e,headers 显示全部头信息,等价于: -h -l -S;


8)选项 -n,notes 显示note段(内核注释)的信息;


9)选项 -r,relocs 显示可重定位段的信息;


10)选项 -u,unwind 显示unwind段信息。当前只支持IA64 ELF的unwind段信息;


11)选项 -d,dynamic 显示动态段的信息;


12)选项 -V,version-info 显示版本段的信息;


13)选项 -A,arch-specific 显示CPU构架信息;


14)选项 -I,histogram 显示符号的时候,显示bucket list长度的柱状图;


15)选项 -x,hex-dump= 以16进制方式显示指定段内内容,number指定段表中段的索引,或字符串指定文件中的段名;


16)选项 -D,use-dynamic 使用动态段中的符号表显示符号,而不是使用符号段 ;


17)选项 -a,all 显示全部信息,等价于 -h -l -S -s -r -d -V -A -I;


18)选项 -v,version 显示readelf的版本信息;


19)选项 -H,help 显示readelf所支持的命令行选项。



refer:


https://blog.csdn.net/yfldyxl/article/details/81566279


推荐阅读

史海拾趣

Advantech公司的发展小趣事

Advantech公司是一家全球领先的工业计算机、自动化和嵌入式解决方案提供商,其发展历程充满了创新、合作和技术进步。以下是关于Advantech公司发展的五个相关故事:

  1. 创立与早期发展: Advantech公司成立于1983年,最初名为台湾多媒体公司,其初衷是提供音频和视频卡。随着技术的发展和市场需求的变化,公司逐渐转型为提供工业计算机和自动化解决方案的领先供应商。

  2. 全球化战略: 随着全球市场的不断扩大,Advantech制定了全球化战略,积极拓展海外业务。1994年,公司在美国成立了第一家子公司,标志着其国际化发展的开始。此后,Advantech陆续在欧洲、亚洲和其他地区建立了办事处和分支机构,构建起了覆盖全球的销售和服务网络。

  3. 技术创新与合作伙伴关系: 作为工业自动化领域的领导者之一,Advantech不断进行技术创新,并与全球各类合作伙伴密切合作。公司积极投入研发资金,不断推出新产品和解决方案,以满足客户不断变化的需求。同时,Advantech与众多软件和硬件供应商建立了紧密的合作关系,共同推动行业的发展。

  4. 智能化转型: 随着工业4.0和物联网的迅速发展,Advantech积极响应智能化转型的趋势,推出了一系列智能化解决方案,涵盖工业自动化、智慧城市、智能交通等多个领域。公司致力于为客户提供智能化、数字化的整体解决方案,助力其实现生产效率提升和智能化升级。

  5. 生态系统建设: 为了进一步提升解决方案的综合性和竞争力,Advantech积极构建生态系统,与行业合作伙伴共同打造全方位的服务体系。公司通过开放式的合作模式,与合作伙伴共享资源和技术,实现优势互补,共同拓展市场,推动行业的发展和进步。

以上述五个方面为基础,Advantech在电子行业中不断发展壮大,成为了全球工业自动化和智能化领域的领导者之一。

EDO Corp公司的发展小趣事

随着电子行业的快速发展,Eclipse Magnetics逐渐将目光投向了更为高端的市场领域。在航空航天领域,Eclipse Magnetics凭借其先进的磁性技术,成功开发了一系列用于航空航天设备的磁性产品。这些产品不仅提高了航空航天设备的性能,还为公司带来了丰厚的利润。

ANSHAN [Anshan Suly Electronics]公司的发展小趣事

随着产品质量的不断提升和市场需求的不断扩大,ANSHAN公司开始积极拓展国内外市场。公司通过与国内外知名企业建立合作关系,参加国际电子产品展览会等方式,不断提升品牌知名度和影响力。同时,公司还注重售后服务体系建设,为客户提供全方位、高效的服务支持。这些举措有效提升了公司的市场竞争力,使ANSHAN成为电子行业中备受瞩目的品牌。

CALMIRCO公司的发展小趣事

CALMIRCO公司自成立以来,一直致力于电子技术的研发与创新。在公司发展初期,CALMIRCO团队便成功研发出一款具有划时代意义的智能芯片,该芯片在性能和稳定性上均达到行业领先水平。这一技术突破不仅为CALMIRCO公司赢得了大量市场份额,更推动了整个电子行业的进步。此后,CALMIRCO公司继续加大研发投入,不断推出创新产品,引领行业变革。

Euvis Inc公司的发展小趣事

随着科技的不断进步和消费者需求的日益多样化,电子行业面临着巨大的变革压力。Euvis Inc公司敏锐地洞察到这一趋势,积极调整战略方向,将业务拓展至物联网、智能家居等新兴领域。通过不断的技术创新和市场拓展,公司成功应对了行业变革带来的挑战,保持了持续的发展势头。

Cal Test Electronics公司的发展小趣事

在市场竞争日益激烈的情况下,Cal Test Electronics不断拓展产品线,以满足不同客户的需求。公司研发团队致力于开发具有创新性和竞争力的新产品,同时在现有产品的基础上进行升级和优化。这些努力使得公司的产品线日益丰富,涵盖了七大连接类别中的3000多种产品。这些产品不仅在国内市场上受到欢迎,还逐渐走向国际市场。

问答坊 | AI 解惑

使用toronado编译时出现如下错误请问如何解决?

cc386: Internal compiler error: program cc1 got fatal signal 5…

查看全部问答>

单片机

atmll怎么控制IO口! …

查看全部问答>

硬件的一点学习

我这有一本北航的《arm嵌入式系统基础教程》,正苦心钻研。 奈何对后面的硬件知识实在感冒,想请教一下,我如果做嵌入式软件开发,对于硬件要学习到什么程度才可以呢? 是基本了解还是深入学习? 请不吝赐教。 谢谢…

查看全部问答>

PCB问题

想做板子,想问一下 1、S3C2410能用双面板做吗? 2、S3C2440能用双面板做吗? 双面板比较便宜一些,请做过的朋友给解答一下。 …

查看全部问答>

子对话框打开时,要激活父对话框打开另一个子对话框,如何实现?

如何实现父、子,兄弟间对话框同一时间都可激活,而不是调用了子对话框,父对话框就无法激活了?本人初学CE…

查看全部问答>

看看这样的机械人用什么电机来驱动.我打算用89C51和 ULN2003来做驱动不知行不行,高手指点呀!

这是个步行机械人,用什么样的电机来做驱动为好!求这样的电路图及原程序! [img][/img] …

查看全部问答>

请教wince cf卡 启动直接运行应用程序

请教各位高手,如何在cf卡直接运行应用程序。我的镜像文件是在flash 里,但由于镜像文件太大,flash容量有限,所以将应用程序放在了CF卡。请教,怎样在cf卡直接运行应用程序?…

查看全部问答>

请问香版,st72324如何进行位操作,cosmicc如何操作,急

st72324是不是在指定的区域才能位操作cosmic c下有没有直接的操作指令…

查看全部问答>

ARM7编译

本人在看 周立功的《深入浅出ARM7》(电子版的) 现在打算在用Proteus仿真部分功能   但是本人在 keil 3 中编译是发现一个错误,请指教。 本人QQ:1974478360  有兴趣的朋友可以一起学习。  附上我的代码  和 工程。…

查看全部问答>