zoukankan      html  css  js  c++  java
  • 嵌入式Linux系统移植(二)——交叉编译工具集

    常用工具:readelf、size、nm、strip、strings、objdump、objcopy、addr2line

    readelf:读可执行文件的elf头

     1 ELF Header:
     2   Magic:   7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 
     3   Class:                             ELF32
     4   Data:                              2's complement, little endian
     5   Version:                           1 (current)
     6   OS/ABI:                            UNIX - System V
     7   ABI Version:                       0
     8   Type:                              DYN (Shared object file)
     9   Machine:                           ARM
    10   Version:                           0x1
    11   Entry point address:               0x34800000
    12   Start of program headers:          52 (bytes into file)
    13   Start of section headers:          729812 (bytes into file)
    14   Flags:                             0x5000002, has entry point, Version5 EABI
    15   Size of this header:               52 (bytes)
    16   Size of program headers:           32 (bytes)
    17   Number of program headers:         3
    18   Size of section headers:           40 (bytes)
    19   Number of section headers:         25
    20   Section header string table index: 22
    readelf

     size:读取可执行程序的大小

    binge@ubuntu14:~/user/my_share/u-boot-2012.10$ size u-boot
    text	data	bss	dec	hex	filename
    149612	3304	8384	161300	27614	u-boot
    

    nm:常用于查看可执行程序的符号列表(便于人去观看与程序执行无关的列表)
    T:全局函数标签  t:被static修饰的函数区间  D:全局变量区  d:局部变量区被static修饰 
    strip:剔除符号列表
    strings:查看可执行程序中的常量字符串(是否剔除符号表与此命令成功与否无关)
    objcopy:剔除可执行文件的头信息
    代码调试指令:objdump 、hexdump

    反汇编查看文件(输出C源代码和反汇编出来的指令对照的格式)  arm-linux-objdump -S  文件名

    在管道中查看:arm-linux-objdump -S 文件名|less

  • 相关阅读:
    使用jQuery对象
    jQuery插件
    使用jQuery函数
    jQuery的两把利器
    初始jQuery
    BOM——特效
    BOM的介绍
    DOM——节点操作
    miaov- 自动生成正V反V大于号V小于号V楼梯等图案
    H5 -- 本地存储计数器的值 和前端校验用户
  • 原文地址:https://www.cnblogs.com/embeded-linux/p/10505328.html
Copyright © 2011-2022 走看看