重庆建设摩托车网站,做公司网站用哪个公司比较好,有什么免费ppt模板网站,wordpress 服务器错误【车载开发系列】单片机烧写的文件 【车载开发系列】单片机烧写的文件 【车载开发系列】单片机烧写的文件一. 什么是bin二. 什么是Hex三. 什么是Motorola S-record#xff08;S19#xff09;四. ELF格式五. Bin与Hex文件的比对六. 单片机烧写文件的本质 一. 什么是bin
bin是…【车载开发系列】单片机烧写的文件 【车载开发系列】单片机烧写的文件 【车载开发系列】单片机烧写的文件一. 什么是bin二. 什么是Hex三. 什么是Motorola S-recordS19四. ELF格式五. Bin与Hex文件的比对六. 单片机烧写文件的本质 一. 什么是bin
bin是binary的缩写翻译为“二进制”。binary file二进制文件是一个非text file文本文件的计算机文件。 binary file是一种计算机文件格式它以二进制编码表示文件的内容。这些文件通常包含计算机程序或数据例如软件/固件、操作系统、文档、音频和视频等。 它是我们最常见的二进制文件它是纯数据文件也即是“所见即所得”所以如果我们想看看需要下载到单片机flash的数据的大小最简单的方法就是查看我们编译连接后生成的bin文件大小。
二. 什么是Hex
hex文件是Intel很早就推出的一种文件格式它除了有效数据信息之外还包含了一些多余信息(包括地址信息校验码之类的等等信息)所以hex文件是很大的而最终下到单片机的flash里的仍是其中的有效数据段而其他的信息段则是作为flash编程软件的辅助信息的(包括地址信息)。 Intel Hex格式最初于1973年为Intel的Intellec Microcomputer Development Systems (MDS)设计以便从纸带上加载和执行程序。它还被用于向Intel指定memory内容以便生产ROM。1973年Intel的“软件小组”仅由Bill Byerly和Ken Burget以及作为外部顾问的Gary Kildall组成。从1975年开始该格式被MCS系列II ISIS-II系统所利用使用文件扩展名HEX。 后来许多PROM和EPROM编程设备接受了这种格式。 如果烧写或者下载Bin文件时软件会弹出首地址框输入相应地址信息而在烧写Hex文件的时候则不必再输入地址信息了因为Hex里面已经包含了。 Intel Hex文件格式是一种以ASCII文本形式传达二进制的十六进制值信息的文件格式。它通常用于对Microcontroller微控制器、EPROM和其它类型的可编程逻辑器件和硬件仿真器进行编程。在一个典型的应用程序中compiler编译器或assembler汇编器将程序的源代码例如C或汇编语言转换为machine code 机器码并将其输出到HEX文件中。有些人还将其用作容纳流数据包的容器格式。由此产生的文件常用的扩展名是.HEX或.H86。然后programmer编程器读取HEX文件以将机器码写入PROM中或传输到目标系统进行加载和执行。 Hex文件内部是以文本格式来存储内容的每行以冒号起始后面每两个字母是一个8bit的16进制数
三. 什么是Motorola S-recordS19
Motorola S-record是一种文件格式由摩托罗拉在20世纪70年代中期为Motorola 6800处理器创建以ASCII文本形式传达二进制信息的十六进制值
四. ELF格式
可执行与可链接格式 Executable and Linkable FormatELF常被称为ELF格式是一种用于可执行文件、目标代码、共享库和核心转储core dump的标准文件格式一般用于类Unix系统比如LinuxMacox等。ELF格式灵活性高、可扩展并且跨平台。比如它支持不同的字节序和地址范围所以它不会不兼容某一特别的CPU或指令架构。这也使得ELF格式能够被运行于众多不同平台的各种操作系统所广泛采纳。 ELF文件一般由三种类型的文件
可重定向文件 文件保存着代码和适当的数据用来和其他的目标文件一起来创建一个可执行文件或者是一个共享目标文件。比如编译的中间产物.o文件可执行文件 一个可执行文件共享目标文件 共享库。文件保存着代码和合适的数据用来被下连接编辑器和动态链接器链接。比如linux下的.so文件。
五. Bin与Hex文件的比对
-Bin文件Hex文件格式不同二进制数据十六进制值信息使用不同只包含数据本身还包括地址信息文件大小小大是Bin文件两倍以上指定烧录的起始地址需要不需要
直接传输bin文件可以简化bootloader软件的设计减少一些处理过程缩小boot程序的体积但是要注意需要事先规定写入的地址而通过上位机软件和下载器烧写时使用hex文件可以简化操作、增加可靠性。 一般软件IDE都可以生成hex文件有的也能生成bin文件可以将hex转bin。
六. 单片机烧写文件的本质
把单片机当做一个存储器每一条程序指令都对应一个唯一的存储地址把这些指令以字节为单位一条条存储到指定的存储地址中这就是烧录程序的本质。下载过程时上位机软件根据.hex文件记录的指令内容和对应的地址信息经过USB转串口线跟单片机的预置系统程序进行串口通讯从而把.hex记录的信息传输到单片机内部的flash存储器中实现了程序的烧录下载。单片机程序下载的本质就是将由0和1组成的hex文件写入到掉电数据不会消失的EEPROMElectrically Erasable Programmable Read Only Memory电可擦除可编程只读存储器中。