历史上的今天
返回首页

历史上的今天

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

正在发生

2020年01月21日 | 【嵌入式】arm-linux-gcc/ld/objcopy/objdump参数概述

2020-01-21 来源:eefocus

arm-linux-gcc

  -o 只激活预处理,编译,和汇编,也就是他只把程序做成obj文件

 

  -Wall 指定产生全部的警告信息

 

  -O2 编译器对程序提供的编译优化选项,在编译的时候使用该选项,可以使生成的执行文件的执行效率提高

 

  -c 表示只要求编译器进行编译,而不要进行链接,生成以源文件的文件名命名但把其后缀由 .c 或 .cc 变成 .o 的目标文件

 

  -S 只激活预处理和编译,就是指把文件编译成为汇编代码

 

arm-linux-ld

  直接指定代码段,数据段,BSS段的起始地址

-Ttest startaddr


-Tdata startaddr


-Tbss startaddr 

  示例:


Arm-linux-ld –Ttext 0x0000000 –g led.o –o led_elf

 


  使用连接脚本设置地址:  


Arm-linux-ld –Ttimer.lds –o timer_elf  

  其中timer.lds 为连接脚本


 


  完整的连接脚本格式:


SECTIONS

{

    …


    Secname start ALING(aling) (NOLOAD):AT(ldaddr)


    {contents} > region:phdr=fill


    …..


}


 

arm-linux-objcopy

  被用来复制一个目标文件的内容到另一个文件中,可用于不同源文件的之间的格式转换


  示例:


Arm-linux-objcopy –o binary –S elf_file bin_file 

  常用的选项:


  input-file , outflie


  输入和输出文件,如果没有outfile,则输出文件名为输入文件名


   -l bfdname或—input-target=bfdname


  用来指明源文件的格式,bfdname是BFD库中描述的标准格式名,如果没指明,则arm-linux-objcopy自己分析


  -O bfdname 输出的格式


  -F bfdname 同时指明源文件,目的文件的格式


  -R sectionname 从输出文件中删除掉所有名为sectionname的段


  -S 不从源文件中复制重定位信息和符号信息到目标文件中


  -g 不从源文件中复制调试符号到目标文件中


 


arm-linux-objdump

 


  查看目标文件(.o文件)和库文件(.a文件)信息

arm-linux-objdump -D -m arm led_elf > led.dis 

  -D 显示文件中所有汇编信息


推荐阅读

史海拾趣

铨力(ALLPOWER)公司的发展小趣事

随着市场竞争的加剧,铨力公司意识到单纯依靠太阳能电源产品已无法满足市场需求。于是,公司开始着手研发更为先进、高效的能源技术。经过多次试验和改进,铨力成功突破了技术瓶颈,研发出了新一代高效能、低成本的太阳能电池板。这一技术的突破不仅提升了产品的竞争力,也为公司打开了更广阔的市场空间。

Fabrimex AG公司的发展小趣事

1995年,Fabrimex GmbH成立,作为电子组装和电源生产的生产公司。这一举措标志着公司进一步向国际化发展迈进。通过设立生产公司,Fabrimex AG能够更好地控制产品质量和生产成本,提高市场竞争力。同时,公司还加强了在全球范围内的销售活动,进一步扩大了市场份额。

ABOV(现代单片机)公司的发展小趣事

Fabrimex AG成立于1947年5月19日,总部位于瑞士苏黎世。公司最初进入电子市场是通过收购国际整流器公司(美国)的总代表处,开始涉足半导体产品。随着德州仪器活动的加入,Fabrimex AG逐渐在电子市场中稳固了地位。在这个阶段,公司积极寻求市场机会,通过多元化的产品线和灵活的商业模式,为未来的发展奠定了坚实的基础。

ETL [E-Tech Electronics LTD]公司的发展小趣事

在国内市场取得一定成功后,ETL开始积极拓展国际市场。公司参加了多个国际电子展会,与全球各地的客户和合作伙伴建立了广泛的联系。同时,ETL还通过与国际知名企业的合作,不断提升自身的技术水平和产品质量。这些努力使得ETL的产品逐渐走向国际市场,为公司的发展注入了新的动力。

EFINIX公司的发展小趣事

EFINIX公司成立于2012年,由一群来自知名FPGA企业的创始人团队创立。他们拥有丰富的FPGA设计经验,并致力于在可编程逻辑行业实现突破性的创新。公司总部位于美国加利福尼亚州圣克拉拉市,计划采用一种全新的现场可编程门阵列(FPGA)技术——量子可编程技术,来设计芯片。这种技术旨在实现芯片尺寸仅为传统芯片的四分之一,能耗减少一半,同时结构更加简化。EFINIX公司相信,这种技术将推动人工智能和深度学习的发展,使数据处理更加高效。

Global Power Technologies Group公司的发展小趣事
通过调整RC时间常数,可以实现信号的延时输出,用于信号处理、控制系统等领域。

问答坊 | AI 解惑

德州仪器TMS320DM6467介绍

Datasheet下载: 功能框图: DM6467实现了在各种视频终端产品间的无缝内容传输。它集成了ARM926EJ-S内核与600MHz C64x+ DSP内核,并采用高清视频/影像协处理器(HD-VICP)、视频数据转换引擎以及目标视频端口接口。在执行高达H.264 HP@ L4(10 ...…

查看全部问答>

Linux下烧写镜像

小弟刚刚接触ARM,跟着开发板的说明移植内核,发现自己的Linux系统下不会烧写镜像,可以说是啥也不会,望有经验的同志告之 PS:小弟用惯了Linux,不想回到Windows下去,望能有详细的方法(小白一个)…

查看全部问答>

S3C2440硬件定时器

我想用用定时器输出微秒级的控制(mirco2440的板子),控制普通GPIO口输出高低电平(PWM被占用),整体思路是什么样的(驱动,应用程序调用)。。求助…

查看全部问答>

求WINCE5.0下JAVA语言的开发软件~~

RT 求 用JAVA语言的做WINCE5.0下应用程序 的软件 感激不尽~~ …

查看全部问答>

WINCE5.0 显示和ImageViewer问题

接触WINCE5.0不久,不知道怎么办. WINCE 原来的缺省显示支持240*320的LCD,而我们用的LCD是320*240.在PB中把WINCE5.0自带的ImageViewer软件加入过来,发现很多地方,打开该应用程序菜单项窗口以后,有些窗口显示框超出了我的LCD.由于看不到WINCE源代码, ...…

查看全部问答>

AN016 — 电源管理技术及功耗计算.pdf

本帖最后由 dontium 于 2015-1-23 13:22 编辑 C8051 …

查看全部问答>

430两路捕获计时问题

我用P1.2,1.3口捕获两个输入方波信号,均上升沿促发。两个捕获计数值差值得出时间差。但是计数差值很不稳定。。一段时间较为正常,一千多。一段时间突然保持在-几万。求助 #include   long int cap1=0; long int cap2=0; long int ca ...…

查看全部问答>

FatFs应用总结

多年来一直在使用FatFs开发各种项目(特别感谢FatFs作者的奉献),但都是或多或少的应用,并没有全面的应用到FatFs的所有功能。最近一个项目需要操作大量的文件,终于进入FstFs应用的全面期,也遇到了不少问题,现将逐步总结这些应用中遇到的各种问 ...…

查看全部问答>

西门子电路板元件怎样拆除

我想问一下,有谁知道西门子电路板(工业用的)的直插电子元器件怎样拆除,它的耐温怎么那么高,我把烙铁温度调到300度,那焊锡还是不化?…

查看全部问答>

【转】Altera SoC的Linux内核编译方法

本帖最后由 chenzhufly 于 2015-1-19 15:54 编辑 SoC的Linux内核编译方法 这里介绍如何编译SD Card的image。这里并没有太多的原理需要讲述,但是大多数刚刚接触到linux 嵌入式的朋友还是需要花些时间找编译方法。这里提供了为SoCFPGA编译内核 ...…

查看全部问答>