gcc编译hex文件
㈠ hex文件是通过什么软件编译过来的
Hex文件是可以烧写到单片机中,被单片机执行的一种文件格式,生成Hex文件的方式由很多种,可以通过不同的编译器将C程序或者汇编程序编译生成hex。
Hex文件如果用特殊的程序来查看(一般记事本就可以实现)。打开后可发现,真个文件以行为单位,每行以冒号开头,内容全部为16进制码。Hex文件可以按照如下的方式进行拆分来分析其中的内容:
例如:
:020000040000FA , 我把它看做 0x02 0x00 0x00 0x04 0x00 0x00 0xFA
第一个 0x02 为数据长度。
紧跟着后面的0x00 0x00 为地址。
再后面的0x04为数据类型,类型共分以下几类:
'00' Data Record
'01' End of File Record
'02' Extended Segment Address Record
'03' Start Segment Address Record
'04' Extended Linear Address Record
'05' Start Linear Address Record
然后,接着0x04后面的两个 0x00 0x00就是数据。最后一个0xFA是校验码。
㈡ c语言怎么转换汇编程序
在单片机中,C语言转换成汇编语言有一个小窍门,这要借助于KEILC这个编译软件,步骤如下:
1、运行KEIL,建立工程,导入C语言。
㈢ 怎么样把hex转化成C语言形式
基本上不可能,因为HEX必定是单片机的程序格式,
从C语言编译完成出来的程序格式和编译器,MCU都有关系,
7 ,8年前见过一个最厉害的C反编译器,但是也只能在 dos 下,反编译 TC
而且还需要反编译器自己的库。也就是反编译之后,没法在TC下编译,
如果你想做逆向功能,建议你还是多精通 汇编。然后用 IDA5.5 或者 SOFT-ICE
呵呵,目前这个是最可行的方案。
㈣ C语言格式怎么转换成hex格式
在KEIL软件上建立工程项目,编辑C语言,编译调试无错后,点击project下的optionsfortarget,在output标签下勾选输出HEX,确定后就在编译一下会自动生成HEX文件在相同目录里。
㈤ 单片机:在keil里从新建工程——书写程序——编译——生成HEX文件,步骤是这样的越详细越好!拜托了各位大
第1步:打开Keil uVision2/3
第2步:新建工程
project->new project
将弹出 creat new project框,写入工程名称,例如 test。为了便于集中管理建议新建一个文件夹(上面第二个图标)。
点击确定后 弹出一个芯片选择项,你可以选一个。例如选atmel AT89C51。很多单片机,上面可能没有列举,我们任意选一个即可,51单片机选AT89C51代表即可。
然后 弹出一个框,选择“否”
第3步:新建文件。
file--new
将弹出一个文本框,你可以写入程序。例如
#include <reg51.h>
main()
{
P1=0XAA;
}
然后保存这个文件
file--save
弹出框save as 填写你要保存的文件名。例如main.c。注意一定要带上后缀.c。切记
第4步:加载程序。把我们编写的c文件加载进入
看到左边 source group1,点击右键,选择倒数第四项 “add files....”进入add框,选择你刚才保存的main.c文件,然后add
看到 左边source group1下面是不是加载上main.c了
第5步:编译。
编译前要进行一个重要的操作。生成HEX文件。
右边 target 1 右键弹出框,找到output,再找到creat hex fi:前面复选框选中 OK
开始编译了,
project--build target或者按F7或者看到上面图标(一个图标有两个方向向下的箭头)
编译的时候,你会发现最先面编译结果,0 Errors
恭喜你,你已经成功编译了程序。
打开你先前建立的test文件夹,你会发现有个test.hex文件
记住步骤,慢慢就很熟练了,用快捷方式或图标更方便
祝好
㈥ )如何编译工程生成.hex文件,该文件有何作用
一条接一条的指令。
打开keil找到自己编程过的程序比如11.c文件。选择Target后面的按键。然后选择targetoutput。在CreatExecutable中可以看到下面有两行字,在第二行字的Creathexfile的前面打一个对号。确认,再重新编译下就能看到有hex文件生成,就可以开始网单片机传送所需要的程序了。
它其实是这么组成的,数据地址加数据长度加实际数据组成的,而实际数据就是BIN文件的组成部分。所以,bin文件和hex是可以互相转换的,但hex肯定比bin大。
㈦ 谁能帮我把一个hex文件反编译为c语言文件
文件有两种,一种是文本文件,一种是程序二进制文件,不管哪种文件都可以用十六进制编码来显示,称为hex文件。
1、文本Hex文件一般不需要转成C语言,更多的是程序二进制文件,用十六进制显示,可以转换成C语言,一般使用相应的反汇编程序来实现,这方面的工具很多,不同的平台略有不同。Windows平台一般常用的OllyDbg、Windbg、IDA,Linux平台使用最多的是GDB和Linux版的IDA。
OllyDbg,简称OD,一般是软件逆向工程爱好者,最先使用的一个工具,但是因为当下不在更新,所以一般用一般用于学习使用,下图中左上角的区域即为反汇编区域 ,用户可以根据汇编指令,分析程序算法,然后自己编写代码。
通过这个实例 ,相信应该能理解一个大致的流程啦。