C8051F读取hex文件
操作指南

U-EC5操作指南简介C8051F单片机的低价位开发套件是为您提供快速开发应用系统的工具。
该套件包含了开发所需的软件和硬件,性能优于传统的仿真器。
U-EC5具有:完全的USB2.0接口、免安装驱动程序、硬件加强型保护功能(减少使用不当造成的硬件损坏率)。
该工具可实现单步、连续单步、断点、停止/运行,支持寄存器/存储器的观察和修改,下载程序到Flash存储器等功能。
另一特点为可使用专用软件(U-EC5中文编程软件)快速将程序代码烧录到C8051F MCU中。
一、U-EC5调试适配器操作说明1. 说明: 1.1 U-EC5调试适配器适用于C8051FXXX系列的所有芯片。
1.2 软件运行环境:Microsoft Winodows 98/2000/NT/XP。
2. 硬件安装操作2.1 按图1进行硬件连接(PC机会自动识别,用户继续下一步操作)。
图13. 使用操作*若用户在IDE中使用U-EC5,则按以下步骤操作:3.1 打开集成开发环境“Silicon Laboratories IDE.exe”3.2 在菜单栏中点击“Options”选项,在其下拉子菜单中点击“Connection Options …”选项,出现如图2的对话框,进行如下设置:3.2.1 在“Serial Adapter”栏选择“USB Debug Adatper”。
3.2.2 在“Debug Interface”栏中选择调试接口类型。
●当MCU为:C8051F00X/01X/02X/04X/06X/12X/2XX系列时,选择JTAG;●当MCU为C8051F3XX系列时,选择C2。
图24、在菜单栏中点击“Debug”选项,在其下拉子菜单中点击“Connect”选项,进行连接。
成功则会激活“Debug”菜单下的其它操作,如图3。
图35、点击工程栏中的“New Project”选项,再点击鼠标右键,在出现的对话框中点击“Save ProjectNew_Project”选项,在出现的“Save Workspace”对话框中为要建的工程起个新名并保存起来,工程栏中会出现新的工程名,例新的工程名为Project1,如图4。
C8051Fxx单片机开发工具及调试技术

关于开发工具及调试的技术问答1、问:C8051FXX系列单片机的开发工具是不是串行适配器(PC机串口和JTAG协议转换适配)相同而目标版不同?答:开发套件中串行适配器(核心部件)是通用的,只是目标版不同。
只要您购买一套开发套件,就可以开发全系列单片机,只要将集成开发环境软件升级就可以了。
为了加快您的开发进程,您只要购买带有相关型号单片机的目标板就可以了。
2、问:C8051F单片机是怎样调试用户系统的?答:C8051F单片机是用开发套件来调试用户系统的。
单片机开发套件包括开发软件IDE(集成开发环境),ML-EC3至PC机USB口和单片机JTAG接口的协议转换模块和一个目标板(板上有C8051FMCU)。
IDE中集成编译器,汇编器和连接器,支持汇编语言和C语言(第三方支持);ML-EC3是从USB口到JTAG协议的转换模块。
目标板上带有一块相应的C8051FMCU和一些简单的外围电路构成一个最小单片机系统,并将所有引脚连接到插座。
C8051F单片机内集成了一个以JTAG协议为基础的调试电路,这样在调试您的系统时,不需要专用仿真芯片、目标仿真头及目标RAM等。
您在IDE上编译生成程序代码后,通过ML-EC3(连接到计算机USB口和JTAG接口)将代码下载到用户系统板的C8051FMCU的Flash存储器中,然后您就可以调试您的目标系了。
3、问:可以用KeiluVision2IDE调试全系列C8051F单片机应用系统吗?答:可以。
但必须安装动态链接库。
该驱动程序可以在我公司的网站上下载。
4、问:如何将绝对目标代码转换成hex格式文件?答:第一,可以使用KEILC,在编译时直接生成。
第二,使用OH51(DOS命令)将目标文件转换成hex格式的文件。
Oh5Linputfile〔hexfile〕第三,在IDE环境中生成HEX文件﹙1﹚.在TOOL菜单中选择ADDREMOVEUSERTOOL﹙2﹚.点击ADD按钮,增加一个MENUTEXT(名称可以任何输入)﹙3﹚.在TOOLS里选择OH51.EXE文件(此文件在KEIL的BIN目录中有,必须将此文件放在项目所在目录)﹙4﹚.在ARGUMENTS里输入文件名或项目名﹙5﹚.在DIROF里输入HEX文件的保存目录5、问:Silabs IDE中带有4K代码限制版的KeilC51,那么如何将无限制版的KeilC51嵌入到Silabs IDE中呢?答:先将您完全版的KeilC51安装到您的PC机中;然后进入Silabs IDE界面,选择Project-﹥TOOLChainIntegration弹出对话框,单击Browse按钮,更换A51.EXE和BL51.EXE的路径(换成“Keil安装目录”/c51/bin)即可。
U-EC5使用手册

图15 7、菜单-Program(编程操作)如图 16
图 16 7.1 Read(读出)
将芯片内 FLASH 的内容读到缓冲区如图 17。
图 17 7.2 Write(写入)
将缓冲区的内容写到芯片的FLASH, 如图18。
图18
6
7.3 Lock(加密) 将芯片加密。
7
U-EC5 操作指南
9.1.5 是否允许自动添加序列号 此功能是为生产的产品在内存区的指定地址上注明生产的序列号。
9.1.6 序列号长度 指定所写字节的长度。
9.1.7 存储地址 指定序列号所要保存的地址。
9.1.8 异或值及初始号码 Fra bibliotek此两项的值异或操作后存入指定的地址。
9.1.9 自动处理操作 选择自动处理时所执行的命令。
图8
15、
用户需点击菜单栏“Project\Options for Target …”选项,在出现的新对话框中点击菜 单栏的“Debug”选项,进行如下设置,以进行 C8051F 系列 MCU 的硬件调试。如图 9
15.1 选择“use Silicon Laboratories C8051FXXX” 15.2 选择“Go till main” 15.3 在“Setting”中设置端口
1.2 软件运行环境:Microsoft Winodows 98/2000/NT/XP。 2. 硬件安装操作
2.1 按图 1 进行硬件连接(PC 机会自动识别,用户继续下一步操作)。
图1 3. 使用操作
*若用户在 IDE 中使用 U-EC5,则按以下步骤操作: 3.1 打开集成开发环境“Silicon Laboratories IDE.exe” 3.2 在菜单栏中点击“Options”选项,在其下拉子菜单中点击“Connection Options …” 选项,出现如图 2 的对话框,进行如下设置: 3.2.1 在“Serial Adapter”栏选择“USB Debug Adatper”。 3.2.2 在“Debug Interface”栏中选择调试接口类型。 ● 当 MCU 为:C8051F00X/01X/02X/04X/06X/12X/2XX 系列时,选择 JTAG; ● 当 MCU 为 C8051F3XX 系列时,选择 C2。
C8051Fxxx软件配置说明

C8051Fxxx配置调试本文主要介绍在怎样在Keil μVision2环境下对C8051Fxxx进行调试。
结合一个工程介绍安装配置,以及说明怎么使用Keil μVision2进行调试。
一、安装配置用户在使用Keil μVision2 对C8051Fxxx单片机进行编程时,需要进行一定的安装配置,因为Keil μVision2本身没有这样的调试驱动。
首先安装Keil μVision2下的C8051F的驱动SiC8051F_uv2.exe(可以在压缩包里SiC8051F_uv2(2).zip压缩吧包里面找到)。
然后对Keil μVision2进行软件配置:1、新建一个工程,选择Silicon Laboratories下面的C8051F021为CPU,如下图(如果是加载好的工程同样可以更改CPU和下面的设置):2、单击Project\Options for Target ‘Target 1’选项,在出来的对话框中选择Target 选项,设置对应板卡上的晶振,这里是22.1184Mhz,如图如果需要下载Hex文件,则在Output选项中在Creat Hex File前面打对勾,否则去掉。
点击Debug选项,选择应用use Silicon Labs C8051Fxxx Drivers,选择Go till main。
如图:如果需要则在Setting中设置相应的端口和波特率。
由于使用是调试适配器用的是USB 口,且驱动是人体学输入设备,所以不用选择。
3、至此安装设置完成,可以使用Keil μVision2对C8051Fxxx系列单片机进行编写、编译、下载和运行程序。
二、相关操作1、编写程序在工程里面编写并添加程序,首先是新建一个C文件或者ASM文件:点击菜单栏中的file\new…打开编写程序的对话框,点击保存,弹出对话框进行保存,要编写成C文件后缀名为.C,如果是汇编语言则后缀名为.ASM,然后保存。
如下图:这就可以在文本对话框中进行程序编写了。
C8051F脱机编程器操作指南

XHL---TJBCQ0001。界面如下图:
Generated by Foxit PDF Creator © Foxit Software For evaluation only.
ID 设置 > 填加 ID: 是(否)
ID 初始地址: xxxx ID 初始值: xxxx
图 C.32 按面板▲▼键,光标移动到“填加 ID:”处,确定。 再按▲▼键,选择是否要填加 ID,选好后确认。
如果选择需要填 ID,按▲▼键,移动光标至“ID初始地址:”,确定。 (见图 C.33). 按左右键,选择要输入数字的位置。按▲▼键,选择数 字,设好地址后,按“确认”键,保存 ID 初始地址设置。
脱机编程器 >芯片编程
烧录文件信息 编程器设置
B. . C.
用 10PIN扁平电缆连接脱机编程器和目标板。 按面板的▲▼键,选择不同的功能:“芯片编程” ,“烧录文件信息”及 “编程器设置”。
三. C8051F脱机编程器具体功能介绍
Generated by Foxit PDF Creator © Foxit Software For evaluation only.
ID 设置 填加 ID: 是 > ID 初始地址: xxxx ID 初始值: xxxx
图 C.33
按▲▼键,移动光标至“ID 初始值”,确定,开始设置 ID 初始值。 (见图 C.34). 按左右键,选择要输入数字的位置。按▲▼键,选择数
字,设好后,按“确认”键,保存 ID 初始值。
ID 设置 填加 ID: 是 ID 初始地址: xxxx > ID 初始值: xxxx
单片机烧录用的hex文件,文件格式解析(转载)

单⽚机烧录⽤的hex⽂件,⽂件格式解析(转载)含有单⽚机的电⼦产品在量产的时候会⽤到.hex⽂件或者.bin。
hex是⼗六进制的,包含地址信息和数据信息,⽽bin⽂件是⼆进制的,只有数据⽽不包含地址。
任何⽂件都有⼀定的格式规范,hex⽂件同样具有完整的格式规范。
今天和⼤家分享⼀下,hex是如何解析的。
⼀、hex⽂件解析hex⽂件可以通过UltraEdit、Notepad++、记事本等⼯具打开,⽤Notepad++打开之后会看到如下数据内容。
使⽤Notepad++打开后会不同含义的数据其颜⾊不同。
每⾏数据都会有⼀个冒号开始,后⾯的数据由:数据长度、地址、标识符、有效数据、校验数据等构成。
以上图的第⼀⾏为例,进⾏解析:第1个字节10,表⽰该⾏具有0x10个数据,即16个字节的数据;第2、3个字节C000,表⽰该⾏的起始地址为0xC000;第4个字节00,表⽰该⾏记录的是数据;第5-20个字节,表⽰的是有效数据;第21个字节73,表⽰前⾯数据的校验数据,校验⽅法:0x100-前⾯字节累加和;其中,第4个字节具有5种类型:00-05,含义如下:字段含义00表⽰后⾯记录的是数据01表⽰⽂件结束02表⽰扩展段地址03表⽰开始段地址04表⽰扩展线性地址05表⽰开始线性地址单⽚机的hex⽂件以00居多,都⽤来表⽰数据。
hex⽂件的结束部分如下图所⽰。
最后⼀⾏的01表⽰⽂件结束了,最后的FF表⽰校验数据,由0x100-0x01=0xFF得来。
⼆、扩展地址细⼼的同学可能发现了,上⾯的地址都是两个字节,范围从0x000-0xFFFF,如果地址是0x17FFFF该怎么办呢?这就要⽤到扩展字段了,举例如下:第⼀⾏中,第⼀个字节为0x02,表⽰只有两个字节的数据,⽽扩展段的标识符为0x04表⽰后⾯的数据0x0800为扩展线性地址,基地址的计算⽅法为:(0x0800<<16)=0x08000000,在0x04标识段出现之前,下⾯的数据都是这个基地址。
C8051F开发环境和烧录环境

一.C8051F开发环境之Keil C51
以下图是开发环境遇面。
利用Keil C51的话,那么需要安装C8051F系列单片机的调试驱动程序。
那个程序能够在Silabs的官方网上下载。
或更新的版本。
在安装那个程序前需要先安装Keil C51. 然后把上述文件安装到Keil C51所在的目录。
安装完毕后,任意打开C51的一个工程(如开发板工程Source Code\LED_Flow\project),先进行一系列的设置。
如下所示:
第一步:在Project 菜单下面选择Option for Target “xxxxxx”
第二步:点击后打开选项对话框,在Debug选项卡上,选择如以下图所示。
第三步:选择FLASH烧写工具,在同一个对话框被选择Utilities
最好选择OK确认,Keil C51 调试和烧写环境就配置好了。
咱们以开发板的Source Code\LED_Flow\project为例,打开后
第一步:按Rebuild all target files从头编译整个工程。
第二步:用C2调试器连接开发板,上电,点击Keil C51的Start/Stop Debug Session. 假设是没有问题的话,将弹出烧写FLASH的窗口:
二、烧录环境配置和烧录步骤
能够用u-ec5中文下载程序直接进行单片机程序的烧录(烧录文件为HEX的文件):
一、先安装u-ec5中文下载程序
二、进行烧录端口配置:1)点菜单栏的选择:取得:
确保调试接口类型为C2,选择‘USB系列’!
3、烧录步骤:见图中所示
烧录完毕后退出!。
C8051F脱机编程器操作指南

C8051F脱机编程器操作指南一. 适用芯片型号:所有C8051F单片机.二. 使用基本步骤1.将用户程序通过USB线下载到脱机编程器中.具体操作步骤如下:A: 将脱机编程器通过USB线连到PC机上.B: 双击应用程序”脱机编程器下载工具”,出现图1下载界面图1.C: 单击下载界面”刷新”按钮,可看到脱机编程器器件序列号: XHL---TJBCQ0001。
界面如下图:D: 单击”连接”,如果PC”连接”按钮变成”关闭”,且脱机编程器显示”已连接PC”,表示编程器与PC通信正常,跳到步骤E.如果点”连接”时,PC界面长时间无反应,请拔掉USB线,重新插入,将下载界面关掉重新打开.再从步骤A开始操作.E: 单击”浏览”, 选择要下载的hex文件.(如果是F12X_13X系列需要分块的芯片. 在KEIL下生成HEX文件,如果生成的不是4个HEX文件,在”C8051F 脱机编程器”装载时显示H0X这时下载后程序不能正常运行。
可以用U-EC5中文下载软件转化一下,在U-EC5中文下载软件里先选择芯片型号然后先装载在KEIL下生成的HEX文件的第一个文件,然后再以HEX文件类型保存,就可以生成4个HEX类型的文件。
在”C8051F脱机编程器”下载时只选择第一个文件H00,加载后显示H03)。
可看到该文件的”文件长度”及”校验和”数据.这两组数据要记录下来,以便与脱机编程器中烧录文件信息对比是否一致。
F: 在”器件型号”下拉菜单中选择使用的芯片型号,单击”下载”. 脱机编程器显示”程序下载中….”.等待PC下载界面显示”文件下载完成”,单击”确定”.G: 单击PC下载界面”关闭”, 脱机编程器回到编程界面.2.用脱机编程器给目标板下载程序.A: 通过USB线或电池给脱机编程器接上电源。
B.用10PIN扁平电缆连接脱机编程器和目标板。
. C. 按面板的▲▼键,选择不同的功能:“芯片编程”,“烧录文件信息”及“编程器设置”。
单片机,认识HEX文件

认识HEX文件作者:林申茂看过几篇常用指令的用法后,我们换换口味,介绍一下Intel 原厂所公布的HEX文件标准格式,相信经过本文的介绍,一定可以让您对8051的操作有更进一步的认识。
以下是一个程序经编译器编译后所得到的HEX文件内容:Example.hex行号原始码1 : 10 0000 00 020003787FE4F6D8FD75812B02004A02 D62 :10001000008FE493A3F8E493A34003F68001F208713 :10002000DFF48029E493A3F85407240CC8C333C4354 :10003000540F4420C8834004F456800146F6DFE4A05 :10004000800B01020408102040809000C2E47E01716 :100050009360BCA3FF543F30E509541FFEE493A3137 :1000600060010ECF54C025E060A840B8E493A3FAF78 :10007000E493A3F8E493A3C8C582C8CAC583CAF0B19 :10008000A3C8C582C8CAC583CADFE9DEE780BEE43210 :10009000F52AF52BE52B25E02408F8E6F52808E6F711 :1000A000F529F590E528F5B07F707E171200E6057A12 :1000B0002BE52B7002052AC39410E52A940040D44613 :1000C00080CD20200800010002000400080010007C14 :1000D000200040008001000200040008001000200115 :1000E000004000800000D3EF9400EE94004007EF4216 :0700F0001F70F31E80F022D717 :00000001FF面对这一大串的十六进制码,有没有头昏眼花的感觉呢?别急别急,经过本文的介绍,你一定会爱上这个会让你头昏眼花的机器码的!首先我们先介绍HEX文件的编码格式,举范例程序中第一行说明:: 10000000020003787FE4F6D8FD75812B02004A02D612 3 4 5 6为了方便解说,笔者将原始码以空格区分成六个部分,在实际转换的原始内容应该没有空格也没有行号的。
C8051F系列单片机下载说明

下载程序前,确保计算机已经安装“
C8051F调试器UtilDLL.exe”。
下载步骤:(连接适配器时,电路板务必断电)
1、将适配器连接到电路板的调试接口,并通过USB连接到计算机,连接好后电路板通电;
2、打开下载软件:
“开始”→“Silicon Laboratories”→FLASH Programming Utility
;
3、在“Connect / Disconnect”页面选择“JTAG”、“USB Debug Adapter”,并点连接按钮;
如果“USB Debug Adapter”单选框和“Adapter Selection下拉框”为灰色时,应该是适配器未连接正确或损坏;如果“Adapter Selection下拉框”可用但是内容为空时,点击“Enumerate USB”按钮,下拉框会列出适配器编号。
点击“Connect”连接,适配器连接到单片机,如下图(右):
4、在“Download Hex File / Go / Stop”页面下载程序:
点击“Browse”按钮,选择需要下载的文件(*.hex);
选中“Erase all Code Space before download”复选框,另外两个复选框不用勾选;
点击“Download”按钮,进行下载程序。
下载成功后弹出对话框,点击确定。
单片机下载文件:HEX文件和BIN文件的区别

单片机下载文件:HEX文件和BIN文件的区别单片机程序写好之后,我们都要把程序下载到单片机的内存中,单片机才会按照程序员的逻辑执行命令实现功能。
之前也讲过下载单片机的几种方式,比如ISP下载,JTAG下载,下载文件的格式最常见的是hex文件,这个格式大家都是知道的,还有一种bin文件是单片机的下载文件。
下面介绍这两种格式的区别。
HEX文件和BIN文件是我们经常碰到的2种文件格式。
下面简单介绍一下这2种文件格式的区别:1. hex文件包含地址信息。
在用ISP 方式烧写程序时,我们都有这样的经验:1)选择单片机型号;2)选择串口号;3)设置波特率(或者默认);4)选择下载的文件;5)点击下载按钮下载。
如下图所示。
经过这几步后,程序下载工作就完成了,在以上的步骤中我们并没有选择要把程序下载到单片机的哪块内存中,即不需要设置地址。
因为HEX文件内部的信息已经包括了地址。
而烧写BIN文件的时候,用户是一定需要指定地址信息的。
单片机多下载hex文件。
2. BIN文件格式只包括了数据本身,没有包含地址bin文件本身只是数据,没有包含地址信息,所以在下载bin文件时需要选择内存的起始地址和终止地址,即要把bin文件下载到指定的内存空间。
通常需要指定程序内存地址的芯片为ARM芯片和DSP 芯片。
3、HEX文件和BIN文件大小不一样对于bin文件,通过右键属性查看到的文件的大小就是数据的实际大小。
而对HEX文件而言,你看到的文件大小并不是实际的数据的大小。
一是因为HEX文件是用ASCII来表示数据,二是因为HEX文件本身还包括别的附加信息。
hex文件的大小该怎么看呢?之前我推送过查看方法,忘记的同学可以点下面的链接查看:。
c8051f340单片机简介

2.1 设备连接与软硬件开发平台
一个完整的C8051F开发环境,需具备“软件开发平台”和“硬件开发平台”
软件开发平台:
1、编译软件
程序的编写最常见的两种语言是C语言和汇编语言,而编写语言就需要使用编译软件。
工程师通过编译软件把编写完成的源代码(C或汇编语言)编译为可以直接烧录到单片机内的"hex"文件。
目前适用于C 的常用编译软件有Silabs IDE、Keil和SDCC,我们所有开发板的示例程序都是基于Silabs IDE和Keil这两款编译软件进行编写的。
2、烧写和仿真软件
烧写和仿真软件目前在市面使用上主要为Silabs IDE和Keil两款软件,但我们推荐使用Silabs IDE,因为这款IDE软件是由C8051F单片机的厂家"silabs"公司出的官方软件,其兼容性与实时性都是比较好硬件开发平台:
硬件开发平台需具备3样最基本的硬件,分别是PC机(电脑)、编程器或仿真器、带有单片机的目标板。
1、PC机(电脑)上需要安装编程器、仿真器的驱动和软件开发环境;
2、编程器、仿真器需要用户了解其支持的芯片型号及编程接口,以便用户对希望编程烧写的芯片进行正常操作;
3、目标板必须是一款可以正常运行的C8051F单片机系统,目标板可独立供电,编程器、仿真器可对目标板进行供电。
博嵌电子C8051F仿真器产品说明书

博嵌电子 C8051F 仿真器产品说明书目录目录 (2)一、产品概述 (3)1.1 C8051F 调试工具简介 (3)1.2 产品性能 (4)1.3 仿真器接口定义 (4)二、在 KEIL 下使用 USB Debug Adapter (5)三、使用批量下载工具 (7)Silicon Laboratories Flash Utility (7)Silicon Labs MCU Production Programmer (8)四、EC6 固件更新 (9)一、产品概述1.1 C8051F 调试工具简介C8051F 系列单片机是 Silabs 公司推出的一系列增强型 51 单片机,其指令集兼容传统 MCS-51。
内核采用增强型 CIP-51,其最大指令速率达到 100MIPS,丰富的外设以及灵活的 交叉开关,形成一个 SOC,为目前绝大多数 8 位单片机所不能比拟。
C8051F 单片机目前 正在高速增长,由于具有兼容传统 51 的先天优势,已经被越来越多的爱好者和设计者所青 睐,C8051F 单片机已经进入大学课堂,成为大学单片机教材。
C8051F 单片机开发工具经过多个版本发展,经历了并口、串口、USB-串、USB。
目前, 以及发展到真正的 USB 通信,不再使用串并口或者虚拟串口。
C8051F 开发工具还包括 U-PDC 等,但是使用最方便、最普遍的仍然是 U-EC6。
博嵌电子开发的这款 U-EC6 仿真器采用国外原装电路改进而 来,可实现支持单步、连续单步、断点、 观察点、 堆栈监视器, 可以观察/修改存储器和寄 存器, 下载程序到 Flash 存储器等功能,兼容国内任何一家的 C8051F 调试工具。
多次得到 高校的批量订单,使用效果反馈良好。
请定期去官方网站 /下载最新版本软 件,以达到更好的使用效果。
也可以在国内代理商 下载。
1.2 产品性能- 可与 Keil、silabs 官方推出的各种软件,如 Silicon Laboratories IDE,FLASH Utility Programmer,Product Programmer,新华龙 U-EC5 中文下载程序软件等软件实现无缝连接调 试。
单片机烧录文件HEX文件格式说明

HEX文件格式说明在我讲解《微型计算机控制技术》的时候,一个学生问我关于HEX的内容解释时,我的解释不够清晰,感觉不太,我下课后立刻上网查找收集资料,并且整理如下,同时发给学生一份。
整理如下:概念描述HEX文件格式是一种能够烧写到单片机中,被单片机执行的文件格式。
可以使用不同的编辑器将C 或汇编源文件编译成HEX文件,如IAR,KEIL等。
Hex文件是遵循Hex文件格式的ASCII文本文件。
在Hex文件的每一行中都包含了一个hex记录。
这些记录是由一些代表机器语言代码和常量的16进制数据组成。
Hex文件常用来传输要存储在ROM、EPROM或者Flash中的程序和数据。
大部分的EPROM编程器都能使用Hex文件。
格式介绍Hex由任意数量的十六进制记录组成。
每个记录包含6个域,它们按下列格式排列。
| MARK | RECLEN | OFFSET | RECTYP | DA TA | CHKSUM |,实际表示如下例1::04010C00303230005D用以下表1解释上述格式:1Byte(8 bit)用表 1 HEX格式组成| MARK |——(1Byte)Start Code(冒号):每个HEX记录都由冒号开头;| RECLEN |——(1Byte)Byte count(本行数据长度):是数据长度域,它代表记录中数据的字节量,如例1中的04表示本条记录中有4个字节的数据;| OFFSET |——(2 Byte)Address(本行数据的起始地址):是地址域,它代表记录当中数据的起始地址;如例1中的010C表示本条记录中第一个数据30的地址为010C。
| RECTYP |-----> (1 Byte)Record type(数据类型):是代表HEX记录类型的域,它可能是以下数据当中的一个:例子中的00表示该行为数据记录。
表 2 数据类型对照表| DATA |——(n Byte)Data(数据):是数据域,一个记录可以有许多数据字节.记录当中数据字节的数量必须和数据长度域中指定的数字相符;最多0xFF个。
如何在单片机上调试Hex文件的程序

如何在单片机上调试Hex文件的程序展开全文会单片机编程的朋友都知道,在编写一个单片机的程序过程中和编好程序后,都需要多次地调试程序段。
一般的方法是用仿真器进行试运行,仿真器有软件仿真和硬件仿真两种。
软件仿真只能仿真部分常用硬件,如MPU、8255、RAM、E2ROM等,对LCD显示模块、键盘接口等外接部分就无能为力了。
硬件仿真需要选购合适的仿真器设备,一般较贵,而且硬件环境也不一定能完全和所编程序的目标环境完全一样。
还有一种比较落后的方法是把编写好的程序编译后,直接烧录到目标单片机环境的芯片上进行调试。
一般的芯片出厂后都有规定的重复写入次数。
这样,如果编程不顺利的话,芯片多次重复写入,使用寿命就大打折扣了。
笔者试过用编程器多次烧录89C51芯片,开始时烧录很快,次数多了以后就不能再一次烧录成功,到后来刚烧录到一半就停止了,因为有一些存储单元校验结果与写入的数据不一致。
怎样在编程过程中使程序经常得到实际单片机环境的验证,又不损坏芯片呢?本文介绍一种在实际的单片机目标环境中调试编译后的Hex文件的方法。
这种方法不仅适用于MCS-51系列的单片机系统,其它系列的单片机系统依据此方法的基本原理,只需重新编写字节很少的串口中断服务程序仍然适用。
单片机硬件部分这一调试方法的基础是通过串行通讯手段,把在计算机上编译好的Hex文件发送到目标单片机系统的RAM存储器中。
然后,发送运行程序的命令,使已存入RAM的程序在目标单片机系统上试运行,检验程序能否进行正确动作。
所以,首先要解决计算机与单片机系统的串口连接问题。
一般来说,计算机串口与单片机的串口可用如图1所示的方式进行连接。
本例中的单片机串口出入端采用了由两个三极管组成的简单电路,经多次试用发现其通信效果极好,当然还可以用专用的集成电路,如MAX323等。
其次,还需要一个基本的单片机硬件结构以完成Hex文件存入RAM静态存储器。
本例中,以AT89C51组成的目标单片机环境,由AT89C51、74HC373、RAM静态存储器组成基本的调试用环境。
单片机HEX文件完全解读

单片机HEX文件完全解读HEX文件,是Intel公司提出的按地址排列的数据信息,数据宽度为字节,所有数据使用16进制数字表示。
以下是一个HEX文件的内容::0E00030075801175902275A03375B04480FE93:03000000020011EA:0C001100787FE4F6D8FD7581070200033B:00000001FF解释:冒号为每行数据的开始符号;蓝色表示此行数据长度,十六进制,如0E就是14;红色是数据存放的地址,如0003;粉红色是表示数据类型,00表示数据记录,01表示文件结束,02表示扩展段地址记录,03表示开始段地址记录,04表示扩展线性地址记录,05表示开始线性地址记录;后面紧跟着的是N位数据,长度由蓝色的长度位决定;天蓝色为校验位。
一般单片机程序不会超过64K,所以通常数据类型只会出现00或者01,当然其它情况笔者还没有太深入研究。
根据上面的分析,笔者写了一个将HEX文件转换成比特流文件的C程序,可以将常见的HEX文件写到64K的比特文件里。
该程序也是在上一篇笔者写的51单片机软核仿真的时候用到的,转换后的比特文件,可以在ModelSim里用TCL脚本读入到内存里,从而可以对该软核进行具体程序的仿真运行。
本人喜欢开源,所以公布出C代码。
该程序运行会生成内容为65536行8位二进制数据的mem.txt文件,即64K的二进制数据。
Intel hex 文件常用来保存单片机或其他处理器的目标程序代码。
它保存物理程序存储区中的目标代码映象。
一般的编程器都支持这种格式。
Intel hex 文件全部由可打印的ASCII字符组成(可以用记事本打开),如下例所示::2000000012014c75a800e4f508f509780a7a78e4f608dafcd2 83fcfded240af9a7050dbd81:2000200000010ced2488ec34ff50edc283e4fcfded240af9e76 d7013ed33e43c700d0dbd2a:2000400000010ced2488ec34ff50e50509e50970020508e50 924a8e50834fd50aee4f50874Intel hex 由一条或多条记录组成,每条记录都由一个冒号“:”打头,其格式如下::CCAAAARR...ZZ其中:CC本条记录中的数据字节数AAAA本条记录中的数据在存储区中的起始地址RR记录类型:00 数据记录 (data record)01 结束记录 (end record)02 段记录 (paragraph record)03 转移地址记录 (transfer address record)...数据域ZZ数据域校验和Intel hex文件记录中的数字都是16进制格式,两个16进制数字代表一个字节。
C8051F32X带USB接口的单片机进行数据采集和USB接口通信(四)——单片机编译软件、开发工具及USB通信驱动软件

所示.
安装完成后,在PC列表上可显示:Silicon
laboratories usbxpressdeveIOp k|t。
图9
点击浏览框,可选到需要下载的hex代码文件。. 并在浏览条框下面的头2个功能小框(擦flash等) 画钩。再点击(下载)框,即开始下载程序。几秒后. 当下载框的字体被激活时,即表示下载完成了。
目5
莺在targetl大国中设置定位l[ash起始地址. 点击b151 locate框,设flash起始地址,如0100h. 如图6所示。
Z点击targetl长条框右边的按钮.进^选 源程序、库文件界面。点击addfile框.加^ usbadl c.usbx_f320—1 lib文件到软件中,然后点 击确认,如图7所示。
万方数据
二、使用C8051F-=P-片机程序下载器将 代码写到单片机内
在生成usbadl hex代码文件后.需要使用 C8051F单片机程序下载器方能将代码写到C8051F 单片机内。下面介绍具体操作。
苫选择、迸^下载器软件:用鼠标左键点击 flashutil exe的图标.就可进^flash程序下载器的
r————…一J口侈sE KERs幽 就业技能}燃
mal l Il
编者按:为了帮助初学者解决印制板设计中的一些技巧性问题,从201 0年第2期起,我们将刊登“跟 我学做印制板”连载,详尽地讲解印制板设计制作中的各个技术细节。内容的安排,以“讲座”的形式刊出, 每期重点讲解一个专题,整个内容的重点在印制板的设计,也涉及电原理图设计过程中的一些问题等。
①所有软件文件都存在于美国silicon公司的
边(C2)的小圆框。
usbxpress(3.1 1)压缩包内。
④连接好PC和USB下载器连线。并将下载器
C8051F12X存储大量常量代码的编译技巧

C8051F12X存储大量常量代码的编译技巧Silicon Lahoratories公司的C8051F12X是与8051兼容,采纳高速流水线工作方式,70%命令的执行时光为1个或2个系统时钟周期的高速集成混合信号微控制器。
片内调试提供全速、非侵入式的在片/在系统调试,支持断点、单步、观看点、堆栈监视器,可以观看/修改存储器和寄存器;用法内部集成PLL,时速度可达100或50MIPS;对于需要大量常量代码而又不想外扩ROM的系统设计,128KB的Flash是个很好的挑选。
1 处理大量常量代码濒临的困难通常带中文液晶显示的系统采纳的是不带中文字库的图形液晶显示模块,需要给点阵字库分配存储空间。
常用的是16×16点阵字库,每个汉字占用32字节存储空间,64KB空间可存储2048个汉字。
标准51只能挺直拜访64KB程序空间,采纳BANK技术可扩展空间,但处理编译复杂,且需要额外I/O口线作BANK挑选控制。
有的系统是将字库单独烧写到外部Flash中,而硬件接法上用法数据空间地址,但标准51 MCU 数据空间也惟独64KB,不举行分页外扩同样不能实现2048字以上的汉字存储。
此外,程序运行也需要数据空间,实际字库容量更小。
C805lFl2X具有完美的片上外设资源,8KB的片上RAM。
特殊是128KB 的Flash资源,不必外扩存储器即可实现带较大容量的中文液晶显示字库的完整系统。
KEIL C5l是目前最流行的51系列MCU编译器。
假如程序代码与字库常量代码总和不超过64 KB,则可在KEIL UV2的集成开发环境下,通过安装Silicon Laboratories公司的驱动程序挺直对C805lFl2X举行编译,并通过JTAG调试器实现不占用户资源的实时/断点调试。
但当程序代码与字库常量代码总和超过64 KB时,在KEIL UV2下,只能采纳BANK编译技术。
常量默认设置是分配到低32 KB 的COMMON区,而COMMON区还要存放中断处理等代码,因此假如想将点阵字库常量分配到指定的BANK,还需要实行其他办法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如何从单片机中读出hex文件
注意:本教程只在单片机程序未加密的情况下验证有效,其他未知!
以C8051F020为例:
1.下载C8051F编程器(可百度自行搜索)。
通过搜索网络上有几个版本,比如新华龙电子的V6.00版本,以及鸿翼电子的V1.1版本与V
2.1版本,我用的时候用的“鸿翼电子C8051F编程器V1.1”,因为新华龙电子的V6.00版本总是出现找不到设备的错误,鸿翼电子V2.1版本读出操作失败,各编程器界面如下图所示。
图1 新华龙电子C8051F编程器V6.00版本界面
图2鸿翼电子C8051F编程器V1.1界面
图3鸿翼电子C8051F编程器V2.1界面
具体的操作步骤如下:
1.将仿真器与目标板以及计算机进行连接。
打开下载的软件,选择编程接口形式,我用
的JTAG口,所以选择JTAG,然后点击“连接目标芯片”
图4 选择JTAG接口
2.连接成功后,会出现目标单片机的型号,如图所示
图5 出现芯片型号
3.连接成功后点击“读出”,等待片刻会跳出窗口,选择保存位置以及名字后,就完成了
Hex文件的读取。
(1)出现正在读出…界面
图6 正在读出界面
(2)出现保存窗口
图7 读出程序文件界面(3)此处我保存的名字设置为myhex,保存位置为桌面
图8 程序保存界面(4)保存成功后,出现“读出程序已保存至myhex.hex”
图9 程序保存成功界面
4.至此完成hex文件的读取。
如果想直接将hex文件烧写到单片机内,连接成功后,选择“打开编辑文件”,选择你要烧写的文件,然后选则“写入”即可。
希望对你有用!
为了验证读出的程序有效,将单片机程序擦除后,将读出的hex文件烧写入其中,经验证有效。
桑葚
2015.10.26。