readelf 命令读取 STM32 编译生成的 ELF 和 AXF 文件

发布者:雅意盎然最新更新时间:2021-02-09 来源: eefocus关键字:readelf  STM32  编译 手机看文章 扫描二维码
随时随地手机看文章

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


关键字:readelf  STM32  编译 引用地址:readelf 命令读取 STM32 编译生成的 ELF 和 AXF 文件

上一篇:STM32 查看 FLASH 和 RAM 使用情况(RO-data、RW-data、ZI-data)
下一篇:STM32 结构体位域操作 (int a:4)

推荐阅读最新更新时间:2024-11-11 01:23

linux上搭建stm32开发环境 vscode+gcc+stm32cubeMX 和 vscode+platformIO
一、软件清单: VSCode:应用商店安装 或 sudo add-apt-repository ppa:ubuntu-desktop/ubuntu-make sudo apt-get update sudo apt-get install ubuntu-make sudo umake web visual-studio-code arm-none-eabi-gcc: sudo apt-get install gcc-arm-none-eabi sudo apt-get install gdb-arm-none-eabi del /del 或 手动下载安装:https://launchpad.net/gcc-arm-embedd
[单片机]
linux上搭建<font color='red'>stm32</font>开发环境 vscode+gcc+stm32cubeMX 和 vscode+platformIO
WS2812灯珠(一)-- STM32 普通IO方式驱动
相信大家在看到这篇文章的时候一定对WS2812芯片的时序有了一定的了解,这里对于WS2812硬件通信方面就不做过多的介绍了。驱动WS2812需要的实现纳秒级别的电平翻转,像一般主频较低的MCU很难实现这种级别的电平翻转。我在这里使用的MCU是STM32F103系列主频为72M,恰好可以通过延时翻转高低电平模拟WS2812的通信时序进而实现对WS2812灯珠的驱动。 STM32通过普通IO方式驱动WS2812灯珠首先我们要初始化IO端口。 /** * @brief 初始化IO控制口 * @param * @retval None */ void ws2811_init(void) { GPIO_InitTypeD
[单片机]
stm32若干技巧
技巧1:关于串口接收 对于串口数据帧到检测,对于串口接收有判定帧头、尾 FIFO缓存等方式,推荐采用超时判断来确定一帧数据接收完成,尤其对于处理GPS,3G模块数据效,比判断帧头、尾效果好的多。参考网友模式 //检测超时函数 供定时器中断调用-1ms一次 // t为超时时间 __inline void Chk_TimeOut(u8 t) { if(!uartRMsg.rcOK && (uartRMsg.rcIndex =8) && (++uartRMsg.rcS =t) ) //超时之后,开始重新解码 uartRMsg.rcOK = true; } //接收函数, 供USART中断调用 __inline void Recie
[单片机]
8.TouchGFX界面应用之自定义容器
TouchGFX的支持自定义组件,类似于你自定义一个函数然后给其他调用,这里就是定义一个组件给其他调用。定一个小目标,我们这一节自定义做一个调色板。 在添加屏幕旁边自定义组件(自定义容器)里面。 调色板以下图作为参考,颜色模式是RGB888,需要3个滑动块,以及一些字样。 做3个滑块作为RGB三种颜色的输入量,滑块是可以设置滑过去和没滑过去的颜色的,但是必须是以图片的形式,所以你如果想做的美观一点的话需要提前做大量的图或者使用UI,图片的数量也决定的所使用内存的数量,如果可以图片尽可能的小来节省内存。取好对应的名字,设置最小值为0,最大值为255,开始值设置为0; 放置几个字体,右边三个字是需要根据滑块的位置
[单片机]
8.TouchGFX界面应用之自定义容器
STM32掌机教程5,程序框架,随机,加命与升级
随机生成地鼠   随机数是游戏里边非常重要的组成部分,贪吃蛇随机刷新下一个食物,俄罗斯方块随机生成下一个方块,大富翁扔骰子,都是随机的。甚至微信群红包,金额也是随机的。正是因为这些事件不可预测,游戏才充满趣味性。我们地鼠的生成,当然也要随机。   然而,计算机产生的随机数,都是“伪随机”。伪,指的是说它是随机的,但是却都是有规律可循的。对于C语言,可以直接调用一个随机数生产函数srand()。但是这个函数需要种子。随机数是由随机种子根据一定的计算方法计算出来的数值。所以,只要计算方法一定,随机种子一定,那么产生的随机数就不会变。也就是说,伪随机数也是某种对应映射的产物,而这个自变量就是种子。   如果你每次调用srand()时都提
[单片机]
STM32按键实验--连续闪烁的问题
下面两段代码是STM32按键实验的按键扫描代码(两段代码标红的地方不同),但是却有两种不同的现象 1、u8 KEY_Scan(u8 mode) { static u8 key_up=1;//按键按下松开标志 if(mode)key_up=1; //支持连续按下 if(key_up&&(KEY0==0||KEY1==0||WK_UP==1)) { delay_ms(10);//消抖 key_up=0; if(KEY0==0)return KEY0_PRES; else if(KEY1==0)return KEY1_PRES; else if(WK_UP==1)return WKUP_PRES; }else if(KEY0==1
[单片机]
stm32中断分组学习
STM32的中断优先级包括:抢占式优先级和响应优先级 具有高抢占式优先级的中断可以在具有低抢占式优先级的中断处理过程中被响应,即中断嵌套,或者说高抢占式优先级的中断可以嵌套低抢占式优先级的中断。 当两个中断源的抢占式优先级相同时,这两个中断将没有嵌套关系,当一个中断到来后,如果正在处理另一个中断,这个后到来的中断就要等到前一个中断处理完之 后才能被处理。如果这两个中断同时到达,则中断控制器根据他们的响应优先级高低来决定先处理哪一个;如果他们的抢占式优先级和响应优先级都相等,则根据他们在中断表中的排位顺序决定先处理哪一个。 STM32 可以支持的 68 个外部中断通道,已经固定的分配给相应的外部设备。每个中断通道都具备自己的
[单片机]
应用笔记 | 看似无法唤醒的一种异常现象分析
1. 引言 STM32 G0 系列产品具有丰富的外设和强大的处理性能以及良好的低功耗特性,被广泛用于各类工业产品中,包括一些需要低功耗需求的应用。 2.问题描述 用户使用STM32G0B1 作为汽车多媒体音响控制器的控制芯片,用来作为收音机频道存贮和各种检测控制。在实验室条件下模拟汽车频繁打火的情形进行测试,连续工作72 小时实验中,进入STOP 模式后,会出现无法再继续运行的情况(屏幕没有显示输出,外部中断无反应)。 3. 问题重现 通常调查问题时采取调试监控的方式。但是用户产品是在检测外部掉电时,测外部电压(汽车ACC 电源,轿车12V)下降后,立刻进入低功耗模式,然后通过RTC 和外部中断(PC13 下降沿触发
[单片机]
应用笔记 | 看似无法唤醒的一种异常现象分析
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved