历史上的今天
返回首页

历史上的今天

今天是:2025年04月01日(星期二)

正在发生

2019年04月01日 | readelf 命令读取 STM32 编译生成的 ELF 和 AXF 文件

2019-04-01 来源:eefocus

1、概述


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


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


2、readelf 常用命令


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


Usage: readelf

 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

  -p --string-dump=

                         Dump the contents of section

  -R --relocated-dump=

                         Dump the contents of section

  -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

  @

  -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)选项 -D,use-dynamic 使用动态段中的符号表显示符号,而不是使用符号段 ;


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


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


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


 


推荐阅读

史海拾趣

Cyrustek公司的发展小趣事

作为一家具有社会责任感的企业,Cyrustek始终注重可持续发展。在产品设计和生产过程中,Cyrustek注重环保和节能,积极采用环保材料和绿色生产工艺。同时,Cyrustek还积极参与社会公益事业,为社会做出了积极贡献。这种对社会责任的关注和履行,不仅提高了Cyrustek的品牌形象,也为其在电子行业中赢得了更多的尊重和信任。

以上五个故事仅为示例,并不代表Cyrustek公司的真实历史。在实际应用中,这些故事可以根据Cyrustek公司的具体情况进行调整和修改。

Alliance Fiber Optics Products Inc公司的发展小趣事

随着产品质量的不断提升和市场需求的扩大,AFOP开始积极拓展国内外市场。公司通过与各大电信运营商、设备制造商等建立合作关系,将产品应用于长途通信、大都会网络以及最后一里接入等领域。同时,AFOP还积极参与国际光纤通信展览会等活动,加强与国际同行的交流与合作,提升了公司在国际市场的知名度。

Hoffman Engineering公司的发展小趣事

Hoffman Engineering始终将技术创新视为公司发展的核心驱动力。公司不断投入研发资源,推动产品迭代升级。在机柜系列产品中,Hoffman Engineering通过引入先进的设计理念和生产工艺,不断提升产品的性能和质量。同时,公司还积极关注行业动态和客户需求变化,及时调整产品策略和市场布局。这种持续的技术创新和产品迭代,使Hoffman Engineering在激烈的市场竞争中保持领先地位。

ARCOLECTRICSWITCHES公司的发展小趣事

在电子行业的初期,ARCOLECTRIC SWITCHES公司以其卓越的技术研发能力崭露头角。公司研发团队成功开发出一种新型开关技术,具有更高的稳定性和耐用性,迅速在市场上获得了广泛认可。这一技术突破不仅为公司带来了丰厚的利润,还奠定了其在电子行业的重要地位。随着技术的不断升级和完善,ARCOLECTRIC SWITCHES公司逐渐发展成为一家技术领先、市场影响力强大的企业。

华大北斗(Allystar)公司的发展小趣事

在技术进步的基础上,ARCOLECTRIC SWITCHES公司积极拓展国内外市场。公司通过与各大电子厂商建立合作关系,将产品广泛应用于家电、通讯、汽车等多个领域。同时,公司注重品牌建设,通过广告宣传和市场推广活动提升品牌知名度和美誉度。这些努力使得ARCOLECTRIC SWITCHES公司的市场份额逐年增长,品牌影响力不断扩大。

China Semiconductor Corp公司的发展小趣事

技术创新的同时,CSC也注重市场拓展和品牌建设。公司积极参与国际交流与合作,与多家国际知名企业建立了战略合作关系。同时,CSC加强了对国内市场的开拓,通过提供优质的产品和服务,赢得了客户的信赖和好评。随着品牌知名度的提升,CSC的产品逐渐在国内外市场上占据了一席之地。

问答坊 | AI 解惑

求固态硬盘SSD方案!

RT.那个兄弟可提供一下,谢谢!…

查看全部问答>

U-Boot简介

U-Boot  1 U-Boot简介   U-Boot,全称 Universal Boot Loader,是遵循GPL条款的开放源码项目。从FADSROM、8xxROM、PPCBOOT逐步发展演化而来。其源码目录、编译形式与Linux内核很相似,事实上,不少U-Boot源码就是相应的Linux内核源程序的简化 ...…

查看全部问答>

反转式串联开关电源 开关电源原理与设计(连载五)

1-3.反转式串联开关电源 1-3-1.反转式串联开关电源的工作原理 图1-7是另一种串联式开关电源,一般称为反转式串联开关电源。这种反转式串联开关电源与一般串联式开关电源的区别是,这种反转式串联开关电源输出的电压是负电压,正好与一般串联式 ...…

查看全部问答>

求购二手51单片机开发板,坛友谁有闲置的?

距离毕业还有一个月。毕设用的是FPGA, 以前学过单片机的基础知识,我想实际做一下。 作为单片机的入门,还有就是熟悉C语言的开发。 DSP开发板和仿真器比较贵,所以目前暂时考虑要一块单片机的开发板。 坛友里面,有没有闲置的呢? 由于本人目 ...…

查看全部问答>

SD卡驱动

不带操作系统,经bootloader引导后,从SD卡里读数据,现在对SD卡驱动的流程很是模糊,求高手指点下,具体的步骤~~ 谢谢…

查看全部问答>

mc55发短消息问题

这是我的AT指令; AT+CMGF=1 OK AT+CSCS=\"GSM\" OK AT+CSMP=17,168,0,0 OK AT+CSCA=\"+8613800472500\" OK AT+CMGS=\"13684724106\" >  +CMS ERROR: 500 为什么会返回这个错误呢,期待大家帮忙解答…

查看全部问答>

单片机高手帮帮我

我想学习单片机,但不知道该怎么入手,例如说,我应该有什么基础,该看些什么书之类的,大家帮我解决一下吧!…

查看全部问答>

ARM7 内部时钟问题 见鬼了!!!

PREINT = (CLK_Apb_PclkFreq()>>15) -1 ;// 设置基准时钟分频器 CLK_Apb_PclkFreq() / 32768 -1 PREFRAC = (UINT32)CLK_Apb_PclkFreq() & 0x7fff;//CLK_Apb_PclkFreq() - (CLK_Apb_PclkFreq() / 32768) * 32768; printf(\"PCLK:%d\",CLK_Apb_Pclk ...…

查看全部问答>

如何建立gprs连接

我有个gprs modem 我用windows自带的拨号连接建了一个连接,拨号*99***1#以后可以连接,但不能上网,不能上qq,不知道是什么原因 如果用随e行软件调用gprs连接,就可以上网 请指教!!…

查看全部问答>

【求助】急问:413液晶显示问题!急急急急急急急急急急急急急急急急急急急急急急

SetupBT       mov.b   #018H,&BTCTL                ;设置LCD 频率 = ACLK / 128…

查看全部问答>