精华内容
下载资源
问答
  • ARM的BIN文件反汇编方法
    千次阅读
    2021-05-09 01:56:49

    最近在调试uboot的代码时,用的新版本的uboot,lowlevel_init函数里是空的,而且在链接文件中也没有发现对lowlevel_init.o的链接。在bl lowlevel_init 之前和之中加了两个电灯,发现在bl之后的部分并没有被执行,所以想看看具体程序有没有运行这个函数。在网上找反汇编bin文件的时候发现有朋友提供的方法,很好用。

    使用arm-linux 工具链里面的arm-linux-objdump 就能反汇编

    cd到bin文件所在的目录, 在命令行下输入:

    arm-linux-objdump -D -b binary -m arm xxx.bin > xxx.asm

    参数: -D 反编译所有代码 -m 主机类型, arm -b 文件格式, binary

    对于ELF格式的文件只要一个-D参数即可

    就可以把xxx.bin反汇编到xxx.asm文件

    .axf 转化 .bin文件 的方法

    按住shift 右击按键,进入在 X:\Program Files\Keil\MDK510\ARM\ARMCC\bin . 中打开命令cmd.exe ,然后进入一下操作. 编译自己的工程,并将&quo ...

    Keil如何生成bin文件【Keil生成Bin文件的方法】

    使用过Keil的同鞋都知道,现在Keil中默认可以输出.axf的调试文件和可以通过钩选输出的.hex可执行文件,没有bin(二进制)文件的输出选项.可是偏偏某些时候需要或者习惯性的使用.bin文件来进 ...

    合并BIN文件的两种方法(转)

    源:http://blog.chinaunix.net/uid-20745340-id-1878803.html 合并BIN文件的两种方法 在单片机的开发过程中,经常需要将两个单独的BIN文件合并成一 ...

    S03_CH11_基于TCP的QSPI Flash bin文件网络烧写

    S03_CH11_基于TCP的QSPI Flash bin文件网络烧写 11.1概述 针对ZYNQ中使用QSPI BOOT的应用,将BOOT.bin文件烧写至QSPI Flash基本都是通过USB C ...

    ARM 之一 ELF文件、镜像(Image)文件、可执行文件、对象文件 详解

    [转]https://blog.csdn.net/ZCShouCSDN/article/details/100048461 ELF 文件规范   ELF(Executable and Linking ...

    JLINK通过JFLASH烧写bin文件报错处理方法

    错误原因:烧写开始地址出错,打开BIN文件后弹出的设置开始地址不正确不能为0 解决措施:用J-FLASH LITE或者将开始地址设置成正确的地址(KEILMDK中IROM1的开始地址

    keil_v5生成.bin文件方法

    按ALT+F7,打开如下对话框 如上图,选择 After Build/ Rebuild下的Run#1,输入: C:/keil_v5/ARM/ARMCC/bin/fromelf.exe -bin -o ...

    KEIL_MDK生成Bin文件

    1.MDK配置 MDK是使用安装目录下的(formelf.exe)工具来生成bin文件,配置方法:勾选 "Run # 1",在后面输入框写入bin文件生成方式 2.绝对路径 &qu ...

    Keil开发环境如何生成BIN文件

    为什么需要BIN文件呢? 有些烧录器只支持BIN文件. 进行OTA远程升级时,只能使用BIN文件. 使用JLink脚本文件进行一键烧录时,只支持BIN文件. BIN文件要比HEX和AXF文件小的多. ...

    随机推荐

    Java终止线程

    Thread提供了stop()方法终止线程,但是该方法是强行终止,容易产生一些错误,已经被废弃. 可以使用退出标志来终止线程,在run()函数里面设置while循环,把退出标志作为while的条件,当 ...

    PHP开发者常犯的10个MySQL错误

    原文出处: kaiyuanba   欢迎分享原创到伯乐头条 数据库是WEB大多数应用开发的基础.如果你是用PHP,那么大多数据库用的是MYSQL也是LAMP架构的重要部分. PHP看起来很简单,一个初 ...

    理解CRC校验

    举个最简单的例子,A向B发送一个数字,B如何检测数字在传输过程中有没有发生错误呢? A和B之间,定下一个协议,两边都知道一个除数X,A向B发送数字的时候,同时把余数附带后面发过去.比如,两边定的除数是 ...

    SDWebImage 清除缓存

    1.找到SDImageCache类 2.添加如下方法: - (float)checkTmpSize { float totalSize = 0; NSDirectoryEnumerator *file ...

    在MVC中如何愉快使用Ajax

    前言: 这个故事要从我老大与客户谈需求开始说起.前几天,遇见一个逗比客户,不知道是听了哪个逗比程序员的临终遗言...让我们给他做一个手机端的Web应用出来,还说要使用MVC来做(不是App).马币,客 ...

    BZOJ 3173: [Tjoi2013]最长上升子序列 [splay DP]

    3173: [Tjoi2013]最长上升子序列 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1613  Solved: 839[Submit][St ...

    thinkPHP验证码不显示问题

    使用验证码的时候,不显示图片时,要清理下输出缓存:ob_clean_end();

    oracle 表空间不足处理

    linux环境将*.dmp文件导入数据库时,df  -h 发现测试环境虚拟机空间不足,而数据文件xxx.dbf所占空间达到40G左右,果断删除表空间重建在导入. 一.查出存储数据表空间名称 selec ...

    excel 中怎么让两列姓名相同排序(转)

    如图,A列B列不动,C列和D列行值不变,以A列姓名为主让C列姓名和A列相同姓名的对齐(行),D行跟着C行不变. 在E1输入公式=MATCH(C1,A:A,0)然后下拉,接著选中C,D,E列,以E列为标 ...

    (zhuan) 126 篇殿堂级深度学习论文分类整理 从入门到应用

    126 篇殿堂级深度学习论文分类整理 从入门到应用 | 干货 雷锋网 作者: 三川 2017-03-02 18:40:00 查看源网址 阅读数:66 如果你有非常大的决心从事深度学习,又不想在这一行打 ...

    更多相关内容
  • Bin编译工具

    2017-11-13 18:19:58
    三款强大Bin编译工具: unbin.exe 237K c51fby.exe 256K Bin2C.exe 22K
  • bin反编译器

    2017-11-07 17:04:12
    bin编译工具 bin编译工具 bin编译工具 bin编译工具
  • hadoop2.7.2windows10编译后的bin目录文件, hadoop2.7.2windows10编译后的bin目录文件 hadoop2.7.2windows10编译后的bin目录文件
  • keil 编译完后自动生成bin文件

    千次阅读 2018-07-09 15:17:31
    3,在下方 After Build /Rebuild下填入:fromelf.exe "D:\program\M10_OLD\V1.03_20180705OK\V1.03\project\RVMDK\Obj\M10_RF.... --bin --output "D:\program\M10_OLD\V1.03_20180705OK\V1.03\M10_RF....

    1,点击



    2,选择 ‘’User“, 。



    3,在下方 After Build /Rebuild下填入:

    fromelf.exe  "D:\program\M10_OLD\V1.03_20180705OK\V1.03\project\RVMDK\Obj\M10_RF.axf" --bin --output "D:\program\M10_OLD\V1.03_20180705OK\V1.03\M10_RF.bin"


    fromelf.exe  "D:\program\M10_OLD\V1.03_20180705OK\V1.03\project\RVMDK\Obj\M10_RF.axf" --bin --output "D:\program\M10_OLD\V1.03_20180705OK\V1.03\M10_RF.bin"

    其中:fromelf.exe  固定格式

    第一个“xx ”中内容:"D:\program\M10_OLD\V1.03_20180705OK\V1.03\project\RVMDK\Obj\M10_RF.axf",为自定义的工程生成的的.axf文件的路径,根据自己的工程路径定义。

    --bin --output  :固定格式,表示生成输出二进制文件。

    第二个“xx ”中内容: "D:\program\M10_OLD\V1.03_20180705OK\V1.03\M10_RF.bin" ,为自定义的工程生成的.bin文件的路径,根据自己的工程路径定义。


    编译后,自动生成:







    展开全文
  •  当该目标依赖的update_rootfs和optee-os编译完成之后,会调用定义在qemu,mk文件中的bios-qemu-common函数来执行bios.bin镜像文件的编译和生成,该函数的定义如下:   ##################################...

        历经一年多时间的系统整理合补充,《手机安全和可信应用开发指南:TrustZone与OP-TEE技术详解 》一书得以出版,书中详细介绍了TEE以及系统安全中的所有内容,全书按照从硬件到软件,从用户空间到内核空间的顺序对TEE技术详细阐述,读者可从用户空间到TEE内核一步一步了解系统安全的所有内容,同时书中也提供了相关的示例代码,读者可根据自身实际需求开发TA。目前该书已在天猫、京东、当当同步上线,链接如下(麻烦书友购书时能给予评论,多谢多谢)

    京东购买地址

    当当购买地址

    天猫购买地址

    非常感谢在此期间大家的支持以及各位友人的支持和帮助!!!。

    为方便和及时的回复读者对书中或者TEE相关的问题的疑惑,也为了大家能有一个统一的交流平台。我搭建了一个简单的论坛,网址如下:

    https://www.huangtengxq.com/discuz/forum.php

    关于您的疑问可在“相关技术讨论“”中发帖,我会逐一回复。也欢迎大家发帖,一起讨论TEE相关的一些有意思的feature。共同交流。同时该论坛中也会添加关于移动端虚拟化的相关技术的板块,欢迎各位共同交流学习

      

    bios.bin镜像是启动的时候会被使用到的主要image,在编译目标run-only中,最终借助qemu-system-arm命令来启动OP-TEE和linux kern,以及挂载rootfs,在运行该命令时,其中有一个参数为"-bios",该参数就是告诉qemu使用其后所带的bios.bin来启动。

      bios.bin中会包含linux kernel image, OP-TEE OS的image以及rootfs。该镜像文件是在bios-qemu的目标中被编译出来的,该编译目标如下,定义在build/Makefile文件中:

      当该目标依赖的update_rootfs和optee-os编译完成之后,会调用定义在qemu,mk文件中的bios-qemu-common函数来执行bios.bin镜像文件的编译和生成,该函数的定义如下:

     

    ################################################################################
    # QEMU
    ################################################################################
    define bios-qemu-common
    	+$(MAKE) -C $(BIOS_QEMU_PATH) \
    		CROSS_COMPILE=$(CROSS_COMPILE_NS_USER) \
    		O=$(ROOT)/out/bios-qemu \
    		BIOS_NSEC_BLOB=$(LINUX_PATH)/arch/arm/boot/zImage \
    		BIOS_NSEC_ROOTFS=$(GEN_ROOTFS_PATH)/filesystem.cpio.gz \
    		BIOS_SECURE_BLOB=$(OPTEE_OS_BIN) \
    		PLATFORM_FLAVOR=virt
    endef

      执行该函数时会编译有变量BIOS_QEMU_PATH定义的目录,该函数执行的时候会执行makeBIOS_QEMU_PATH定义的目录,并带入相关的编译参数,参数说明如下:

     

    CROSS_COMPILE:编译时使用的编译参数,包括编译器,cflag等

    O:编译结果的输出目录

    BIO_NSEC_BLOB:定义该变量,指定linux kernel image的名称和路径

    BIOS_NSEC_ROOTFS:定义该变量,指定生成的rootfs存在的目录和cpio格式文件名

    BIOS_SECURE_BLOB:定义该变量,指定OP-TEE OS镜像文件名

    PLATFORM_FLAVOR:定义该变量,设定平台变量

      在使用qemu+OP-TEE方式运行时,BIOS_QEMU_PATH的值为bios_qemu_tz_arm。也即是在此情况下是去编译bios_qemu_tz_arm目录,进入该目录,找到Makefile文件,并找到对应的all目标,然后进行编译。

    通过在Makefile中include各种.mk文件,完全展开之后,真正的all目标实体被定义在bios_qemu_tz_arm/bios/link.mk文件中,具体内容如下:

    bios_qemu_tz_arm目录中makefile的all目标的整体依赖关系如下:


    从上图的目标依赖关系可以看到, 在make指令中设定的几个变量都被使用到了,编译的时候,linux kernel image, OP-TEE os image, rootfs都会被转换成.o文件,然后再和其他的.o文件(main.o, entry.o等)一起连接成bios.bin文件。

    linux kernel image将会被放在bios.bin中名称为nsec_blob的section中

    OP-TEE os image将会被放在bios.bin中名称为secure_blob的section中

    rootfs image将会被放在bios.bin中名称为nsec_rootfs的section中

    上述将image转换成.o文件的动作是通过OBJCOPY带--rename-section参数来实现的,具体的内容可以link.mk文件中找到bios_qemu_tz_arm/bios/entry.s文件存放的就是在启动的时候bios.bin的入口文件

     

     

    展开全文
  • 如何在MDK中编译生成bin文件

    千次阅读 2016-04-08 13:37:26
    今天由于没有带Jlink仿真器,然后就想着在MDK中生成bin文件吧,然后拿第三方软件烧写程序不就好了吗?但是,网上一查,虽然这方面有人问,也有人回答,但是都很不详细,很多需要注意的地方都没有提出来,最后,经过...

    今天由于没有带Jlink仿真器,然后就想着在MDK中生成bin文件吧,然后拿第三方软件烧写程序不就好了吗?但是,网上一查,虽然这方面有人问,也有人回答,但是都很不详细,很多需要注意的地方都没有提出来,最后,经过自己的摸索,结合网友的经验,终于知道了,现总结如下,其中,有一些必须要注意的地方,我也会标注出来,免得后面碰壁!

    首先,在你的工程里,点击项目管理那个窗口,选中第一个,然后右键,如下图:



    右键之后会出现如下图,然后点击第一项,如箭头所指:



    在出现的Options for Target 'XXXXXX'中,选择User 选项卡,如下图,接着就开始配置了,




    首先,勾选Run#1复选框,然后在 后面的框框中填入如下信息,先给出我的配置信息:

    G:\Program Files\KeilMDK\ARM\BIN40\fromelf.exe --bin --output ../output/BS2015P_FLY_MAIN.bin ../output/BS2015P_FLY_MAIN.axf

    具体格式:fromelf.exe绝对路径+空格+--bin(注意是两个短横的)+空格+--output(两短横)+空格+../输出目录相对路径+空格+名字.bin+空格+../输出目录相对路径+空格+名字.axf

    重点来了,现在解释一下,1、【G:\Program Files\KeilMDK\ARM\BIN40\fromelf.exe】这个是你的MDK的安装目录,如果是MDK4 的话,那么就是%ARM\BIN40\fromelf.exe,

    如果是MDK3的话,那么就是%ARM\BIN\fromelf.exe,

    2、接着是格式化的东西,【--bin --output】格式化的东西

    3、【../output/BS2015P_FLY_MAIN.bin ../output/BS2015P_FLY_MAIN.axf】这里的相对路径是系统的编译信息输出的目录,直接写相对路径就好了:

    路径如下图:





    这里要注意了,BS2015P_FLY_MAIN.axf  必须是 目录下已有的,不然会报错:

    "../output/BS2015P_FLYMAIN.axf": Error: Q0122E: Could not open file '../output/BS2015P_FLYMAIN.axf': No such file or directory

    ,如下图



    因为:


    .bin 文件是由 .axf 文件生成的,所以必须保证.axf文件是目录下已有的文件,且必须文件是正确的,一样的,至于生成的.bin的文件名按照自己意愿起,但是建议一样。


    展开全文
  • Keil 编译前后 自动将 hex 转 bin

    千次阅读 2018-12-09 01:55:48
    After Buid/Rebuid 选项下的Run#1 打上勾,在后一格添加一行代码,此代码的功能为将Objects下的...其中.axf文件为keil编译过程产生的文件。 fromelf --bin --output Objects\project.bin Objects\project.axf fro...
  • S32DS 编译bin文件太大

    千次阅读 2018-09-28 13:36:14
    使用S32DS 编译S32k144,链接自己添加段后编译生成的bin文件超大,记录下解决过程:   这两篇文章解释了为什么bin文件变大 ... ...
  • 关于arm-linux-gcc编译bin文件直接copy到运行载体上不能运行情况
  • STM32编译生成的BIN文件详解

    万次阅读 多人点赞 2018-11-15 10:25:22
    在做stm32的IAP功能,大概思路参见我的另一篇文章,跟别人讨论了关于app中发生中断之后流程的问题,然后看了一下BIN文件格式,主要是因为BIN文件就是镜像,不包含任何其他信息(如下载的地址等),就是对ROM的绝对...
  • 如果仅仅想借助eclipse平台开发一个C/C++ 的IDE,借助CDT还有GCC就可以做到。只是这样对源码编译之后生成的文件是exe文件。如果想生成elf以及bin文件应该怎么做呢?
  • Android编译自己的程序到/system/bin

    千次阅读 2018-06-19 16:48:16
    背景 有时候我们想创建一个程序,放在系统中,供其他APP...所以,我们想办法让编译系统在编译的过程中,把我们的程序编译了,并把编译生成的二进制文件自动放到out/target/product/[product]/system/bin。 做法 ...
  • 在工程目录下建立一个build_required_x64文件夹 右击工程属性,生成事件中下入如下代码: xcopy "$(SolutionDir)build_required_$(PlatformName)" "$(TargetDir)" /S /Y 原理就是利用PlatformName为x64来生成...
  • 编译内核或uboot时,出现/bin/sh: 1: bison: not found错误。 imaginemiracle@:u-boot-master$ make menuconfig HOSTCC scripts/basic/fixdep UPD scripts/kconfig/.mconf-cfg HOSTCC scripts/kconfig/mconf.o ...
  • KEIL 工程下 编译生成 hex和 bin文件

    万次阅读 2018-05-11 09:16:27
    确定即可2、生成bin 同样点击1中所说的option , 然后点击User, 然后在After Build/Rebuild 下的 Run #1前面打钩,并在后面的User Command增加一行脚本命令:fromelf.exe --bin -o "%L@L...
  • 1.为什么不是gcc在开发stm32的时候,编译工具链要使用gcc-arm-none-eabi,为什么不是gcc呢?这就要说到linux下的交叉编译了,因为我们要在PC机...
  • IDA是一款功能强大的反编译软件,网上找了许久没找到它的使用教程,经过摸索可将STM32的hex文件进行反汇编,操作步骤如下,首先下载IDA Pro版破解软件,免安装。 IDA Pro下载链接:...
  • 设置KEIL MDK 编译完成生成 bin 文件

    千次阅读 2018-09-08 20:53:44
    ... 3. After Buid/Rebuid 选项下的Run#1 打上勾,在后一格添加一行代码,此代码的功能为将Objects下的project.axf文件转换为project.bin...其中.axf文件为keil编译过程产生的文件。 fromelf --bin --output Obje...
  • 打开TrueSTUDIO的工程属性,下图: 若编译后生成hex,则添加: arm-atollic-eabi-objcopy.exe -O ihex “${BuildArtifactFileBaseName...若编译后生成bin,则添加: arm-atollic-eabi-objcopy.exe -O binary “...
  • .bin文件的反汇编记录

    千次阅读 2020-08-26 11:30:32
    前言 原本打算把IDA的使用与技巧写完,发现其实网上也有很多,这就以后再议吧(主要还是懒+拖延症吧…) 工作需要接触的逆向,从开始到现在做的一直是elf格式...通常来说,它的内容是机器代码,汇编语言编译后的结果。
  • 一、Bin  Bin文件是最纯粹的二进制机器代码,按照程序执行顺序存放。编译器把高级语言翻译成汇编,再把汇编代码翻译成二进制机器代码保存成bin文件,因此Bin是没有经过处理或附加信息程序原本的大小。Bin文件内部...
  • @echo offecho %date%echo %time%cd /d %~dp0set a=./Project.binset yy=%date:~3,4%set mm=%date:~8,2%set dd=%date:~11,2%set hh=%time:~0,2%set mn=%time:~3,2%set ss=%time:~6,2%set value=%yy%%mm%%dd%%hh%%mn%...
  • IDA编译STM32 Hex\Bin文件成C代码

    万次阅读 多人点赞 2019-01-11 16:43:45
    IDA是一款功能强大的fan编译软件,网上找了许久没找到它的使用教程,经过摸索可将STM32的hex文件进行fan汇编,操作步骤如下,首先下载IDA Pro软件,免安装。 IDA Pro下载链接:...
  • 在proting fingerprint sensor的时候,厂商给出的guide里需要将vfmService这个已经编译好的bin档放入 机台的system/bin目录下 具体的做法如下: 首先在源码中搜寻是否有类似的做法,因为这个bin档不需要编译,所以...
  • execvp: /bin/sh: Argument list too long问题出现的两种情况: 1、make的时候,如编译Linux内核、驱动、Android版本等较多文件的情况; 2、shell操作,涉及较多文件的情况,如删除大量文件时,直接用rm; 问题...
  • GCC编译生成bin

    千次阅读 2013-09-02 16:44:42
    #连接 arm-linux-ld -Tboot.lds -o a.out $^ ...#将elf文件转换为bin arm-linux-objcopy -O binary -S a.out a.bin #boot.lds文件 SECTIONS {  . = 0x30000000;  .text : { *(.text) }  .rod
  • MDK编译程序完成后,如下所示: linking... Program Size: Code=4972 RO-data=268 RW-data=52 ZI-data=1700 FromELF: creating hex file... After Build - User command #1: C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe...
  • 为学习Hadoop亲手在Windows 7(64bit)编译
  • 在Linux下编译代码,或多或少会遇到链接错误,其中''/usr/bin/ld: cannot find -lxxx''算是比较常见的,这里根据自己遇到的问题和网上查找的资料整理下该问题的解决方法,供自己遗忘时翻阅,也希望能帮助其它网友 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 725,742
精华内容 290,296
关键字:

共bin编译