首页 > 其他分享 >gcc bin 文件转化为静态库文件

gcc bin 文件转化为静态库文件

时间:2024-04-07 19:15:12浏览次数:27  
标签:bin 文件 gcc binary driver prj mag

D:\workplace\project\driver_prj\driver_prj_mag\bin\Release\driver_mag_prj.elf D:\workplace\project\driver_prj\driver_prj_mag\bin\Release\driver_mag_prj.bin
C:\Program Files (x86)\EmBitz\1.11\share\em_armgcc\arm-none-eabi\bin\objcopy.exe -I binary -O elf32-little -B arm D:\workplace\project\driver_prj\driver_prj_mag\bin\Release\driver_mag_prj.bin D:\workplace\project\driver_prj\driver_prj_mag\bin\Release\akm_cali.o
C:\Program Files (x86)\EmBitz\1.11\share\em_armgcc\arm-none-eabi\bin\ar.exe rcs D:\workplace\project\driver_prj\driver_prj_mag\bin\Release\akm_cali.a D:\workplace\project\driver_prj\driver_prj_mag\bin\Release\akm_cali.o

 

 

解释

对于 Cortex-M4 的 32 位 ELF 格式,你应该使用以下命令:

bash
objcopy -I binary -O elf32-little -B arm binary_file.bin binary_file.o
解释:

-I binary:指定输入文件(binary_file.bin)是二进制格式。
-O elf32-little:指定输出文件(binary_file.o)是 32 位小端序 ELF 格式。Cortex-M4 通常是小端序的。
-B arm:指定目标体系结构为 ARM。
请确保你使用正确的目标文件格式和架构,这取决于你的二进制文件以及你计划如何使用转换后的 .o 文件。如果你的二进制文件包含 ARM Cortex-M4 机器代码,那么上面的命令应该适用。如果你计划将这个 .o 文件链接到 ARM Cortex-M4 的程序中,那么 .o 文件应该与你的链接器脚本和编译器设置兼容。

如果你遇到任何问题或错误,请检查你的二进制文件是否真的包含有效的 ARM Cortex-M4 指令,以及你的工具链(包括 objcopy)是否支持这个特定的架构和格式。

18:23
ar rcs
ar rcs 是 GNU 二进制工具 ar 的一个命令选项,用于创建或更新静态库文件(.a 文件)2。

ar rcs 命令中的选项含义如下:

r:在库中插入模块(替换)。当插入的模块名已经在库中存在时,会替换同名的模块。如果若干模块中有一个模块在库中不存在,ar 会显示一个错误消息,并不替换其他同名模块1。
c:创建一个库。不管库是否存在,都会创建1。
s:创建目标文件索引,这在创建较大的库时能加快时间。如果不需要创建索引,可改成大写 S 参数;如果 .a 文件缺少索引,可以使用 ranlib 命令添加

标签:bin,文件,gcc,binary,driver,prj,mag
From: https://www.cnblogs.com/lzqd/p/18119697

相关文章

  • C语言文件操作
    本篇文章从文件是什么,为什么使用文件,到怎么使用文件来介绍文件。一.文件是什么?磁盘(硬盘)上的文件是文件。但是在程序设计中,我们一般谈的文件有两种:程序文件、数据文件(从文件功能的角度来分类的)。1.文件名文件名包含3部分:文件路径+文件名主干+文件按后缀。2.程序文件程序......
  • Python——__init__.py文件
    在Python中,__init__.py文件是一个特殊的文件,常用于将一个普通的文件夹变成一个Python包。这个文件的存在告诉Python解释器,该文件夹应该被视为一个Python包或模块,从而可以导入其中的模块或子包。__init__.py的用途:初始化包:__init__.py文件将一个目录标识为Python包,允许......
  • 3-STM32+W5500远程升级篇OTA(阿里云物联网平台)-STM32通过W5500使用http下载程序文件,
    <p><iframename="ifd"src="https://mnifdv.cn/resource/cnblogs/STM32W5500AIR202A/alyota.html"frameborder="0"scrolling="auto"width="100%"height="1500"></iframe></p>  ......
  • ZW3D二次开发_文件_操作用户属性
    1.什么是文件用户属性?文件用户属性是指用户保存在ZW3D文件内的自定义属性。如下图打开ZW3D文件用户属性界面可查看用户属性:2.如何使用代码操作文件用户属性?1)添加用户属性//添加用户属性 constintnumber=5; svxAttributeuserAttrs[number]={0}; strcpy......
  • WebSocket socket.io.js文件镜像源
    前言全局说明WebSocketjs文件镜像一、说明js文件名字中带min的,是压缩版(去掉空格、换行等字符),方便传输。如果想查看源码,就选不带min字样的。二、cloudflare.com镜像<scriptsrc="//cdnjs.cloudflare.com/ajax/libs/socket.io/4.2.0/socket.io.js"></script>三......
  • 前端package.json文件
    package.json 文件是Node.js项目的配置文件,用于描述项目的元数据和依赖关系。它是一个JSON格式的文件,位于项目根目录下。在这个文件中,你可以定义项目的名称、版本号、作者、许可证等项目信息,并且可以列出项目所需的依赖包和脚本。在创建新的Node.js项目时,通常会通过运行 ......
  • VS+QT 创建UI界面自动生成.h和cpp文件
    1.创建QT窗口界面创建内容:qtwidgetClass:创建.UI文件以及对应的窗口类文件,其余的只创建ui文件,记一笔免得又忘记了自己填写类名称,选择基类,完成创建就好 ......
  • kaldi的feat和featbin特征可视化
     https://blog.csdn.net/zhulinniao/article/details/106812169/kaldi的feat和featbin特征可视化1copy-feat2copy-matrix3copy-feats-to-htkcopy-feats-to-sphinxReference1copy-featkaldi产生的特征由steps/make_mfcc_pitch.sh或steps/make_mfcc.sh产生ark文件ark文件可......
  • 前端【VUE】02-vue指令【v-html 、v-show、 v-if 、v-else、v-on、v-bind、v-for、v-m
    Vue指令①v-html1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<metahttp-equiv="X-UA-Compatible"content="IE=edge">6<metaname="view......
  • HOW - Typescript 类型声明文件
    目录一、背景二、如何添加类型定义支持智能提示方法一:使用JSDoc注释方法二:使用TypeScript编写类型声明文件.d.ts方法三:JSDoc注释转Typescript类型声明文件总结二、使用TypeScript编写类型声明文件1.创建类型声明文件2.编写类型声明2.1dec......