ARM7 LPC2378 远程升级----HEX文件

发布者:梦想学院最新更新时间:2017-11-29 来源: eefocus关键字:ARM7  LPC2378  远程升级  HEX文件 手机看文章 扫描二维码
随时随地手机看文章

      嵌入式程序编译后可以生成.HEX格式的可执行文件,远程升级的原始升级程序的格式也是.HEX格式文件,因此首

先应深入理解HEX文件格式。

     HEX格式文件是一个记录文本行的ASCII文本文件,在Intel HEX文件中,每一行是一个HEX记录,由十六进制数组

成的机器码或者数据常量。一个数据记录以一个冒号(0x3A)开始。

   一个Intel HEX文件可以包含任意多的十六进制记录,每条记录有五个域,下面是一个记录的格式:

: LL AAAA TT [DD...] CC 

    每一组字母是独立的一域,每一个字母是一个十六进制数字,每一域至少由两个十六进制数字组成,下面是字节的描

述. 

      : (冒号) 是每一条Intel HEX记录的开始 

      LL 是这条记录的长度域,他表示数据(dd)的字节数目. 注意:LL表示数据的长度而不是一行五个域的总长度。

     AAAA 是地址域,他表示数据的起始地址 

     TT 这个域表示这条HEX记录的类型,他有可能是下面这几种类型 :

           00 ----数据记录 

           01 ----文件结束记录 

           02 ----扩展段地址记录 

           04 ----扩展线性地址记录 

           05----用于调试器, 芯片烧录可忽略

           06----用户信息记录(并非标准HEX格式,升级时与上位机自行商定)

           07----用户信息记录(并非HEX标准格式,升级时与上位机自行商定)

     DD 是数据域,表示一个字节的数据,一个记录可能有多个数据字节,字节数目可以查看LL域的说明。 

     CC 是校验和域,表示记录的效验和,计算方法是将本条记录冒号开始的所有字母(不包括冒号即“3A”但包括校验字节)相加之后等于0x00。 

      一个Intel HEX文件必须有一个文件结束记录,这个记录的类型域必须是01。

下面举例说明,以加强对HEX文件的理解

1.1. 数据记录举例

(注:为了便于查看,将各域用【】隔开,实际HEX文件数据中并无这个括号,下同)

【:】【10】【0000】【00】【18F09FE518F09FE518F09FE518F09FE5】【C0】

这其中,【:】为一个记录的开始;

               【10】为长度域,表示数据长度,为16进制,0x10表示数据域的数据长度为16个字节;

               【0000】为地址域,表示数据的起始地址;

               【00】为记录类型域,00表示本记录为数据记录;

               【18F09FE518F09FE518F09FE518F09FE5】为数据域;

               【C0】为校验和域,表示记录的校验和,计算方法是将本条记录冒号开始的所有字母(包括校验字节)相加之后等于0x00。本记录的校验和计算方法为:

               【10】+【0000】+【00】+【18F09FE518F09FE518F09FE518F09FE5】+【C0】=0x00;

1.2. 扩展线性地址记录举例

【:】【02】【0000】【04】【0001】【FA】

这其中: 【:】为一个记录的开始;

               【02】为长度域,表示数据长度,为16进制,0x02表示数据域的数据长度为2个字节;

               【0000】为地址域,表示数据的起始地址,这里为绝对地址;

               【04】为记录类型域,04表示本记录为扩展线性地址记录;

               【0001】为数据域,该数据内容表示数据地址的高16位。地址域与被移位的来自扩展线性地址记录的地址

        数据相加获得数据记录的32位绝对存储器地址。因为只用地址域的16位数据只能表示64K的程序,当程序绝对地

    址地址超过0xFFFF时,必须用该记录进行线性地址扩展,经过线性地址扩展,程序可以达到4GB。

               【FA】为校验和域,表示记录的校验和。

1.3. 文件结束记录举例

       一个Intel HEX文件必须有一个文件结束记录,这个记录的类型域必须是01。一个文件结束记录是如下所示的固定

格式:

:00000001FF

1.4. 扩展段地址记录 :

不会用到。


关键字:ARM7  LPC2378  远程升级  HEX文件 引用地址:ARM7 LPC2378 远程升级----HEX文件

上一篇:ARM7 LPC2378 远程升级----PC、SP、LR寄存器
下一篇:ARM7 LPC2378 远程升级----IAP函数

推荐阅读最新更新时间:2024-03-16 15:47

基于ARM7控制器——LPC2214的中英文翻译器
  为了改进某焊接设备只能输出打印英文单据的情况,设计了由高性能ARM7控制器——LPC2214为核心的英文转中文翻译器,详细论述了具体的硬件电路和优化的软件算法的设计原理,实验结果表明,翻译器对输入的英文数据量的大小无任何限制,能够显著降低系统硬件资源需求且能大大提升打印速度。   基于某焊接设备存储大量数据需要通过打印机输出,但由于该设备及其配套的微型热敏打印机只能英文打印,不能中文打印的问题,从而影响用户阅读。另外,原有的配套英文打印机具有打印速度缓慢、每一组数据间隔过大,浪费纸张等缺点。因此,为了解决上述问题,根据实际工程项目应用需要,提出一种基于ARM的英文转中文的翻译器设计方案,该设计是在原有设备和支持中文打印的热敏
[单片机]
基于<font color='red'>ARM7</font>控制器——LPC2214的中英文翻译器
基于ARM7和DSP的逆变电源设计
引 言   在电气智能化发展无处不在的今天, 无数用电场合离不开逆变电源系统( Inverted Pow er Supply System,IPS) 为现场设备提供稳定的高质量电源, 特别在如通信机房、服务器工作站、交通枢纽调度中心、医院、电力、工矿企业等对电源保障有苛刻要求的场合。许多IPS产品因遵循传统设计而不符合或落后于现代电源理念,突出表现为控制模块的单一复杂化, 控制器芯片落后且控制任务繁重, 模拟闭环控制而得不到理想的监控和反馈调节效果, 并由此带来单个控制设备软硬件设计上的隐患, 这对IPS 电源输出造成不利影响, 甚至对用电设备因为供电故障而导致灾难性后果。数字化控制技术日趋成熟, 而且在某些领先理念的电源设备
[电源管理]
基于<font color='red'>ARM7</font>和DSP的逆变电源设计
基于ARM7内核的IP电话设计
  传统的电话网是以电路交换的方式传输语音信号的,它需要的基本带宽为64Kb/s。据统计,在正常的通话情况下,大约只有40%的时间为有声期,其余时间电路均为空占,网络带宽利用率不高。随着计算机技术的不断发展,尤其是互联网络的不断完善,基于分组交换的数据通信成为最重要的通信方式。而要在基于IP的分组网络上传输语音,就必须对模拟的语音信号进行特殊的处理,使处理后的信号可以适合在面向无连接的分组网络上传输,这就是分组语音技术。本文介绍的就是一种基于ARM7内核的IP电话设计。   G.728编码标准   语音编码技术是IP电话的核心技术之一,编码质量的好坏直接关系到IP电话的通信质量。     G.728标准的语音编码算法是1
[单片机]
基于<font color='red'>ARM7</font>内核的IP电话设计
基于LPC2378的IAP功能的配变监测终端远程设计
本文采用Philips公司的32位微处理器LPC2378进行配变监测终端的开发,并利用该芯片自带的IAP功能实现了终端程序的远程更新。为了降低通信流量和终端的存储空间,本文还将LZW压缩算法应用到程序更新中。 1 LPC2378芯片介绍 LPC2378是一款基于ARM7TDMI-S的32位处理器。它具有512 KB的片内Flash程序存储器、32 KB的静态RAM(SRAM),以及在系统编程(In-System Programming,ISP)和在应用编程(In-Application Program-ming,IAP)功能。由于程序对内存需求比较大,所以外扩了一片64 KB的SRAM。 通常,程序的下载可通过3种方式实现:
[单片机]
基于<font color='red'>LPC2378</font>的IAP功能的配变监测终端<font color='red'>远程</font>设计
基于ARM7的畜牧养殖智能消毒机器人控制系统
   1 总体方案设计   畜牧养殖智能消毒机器人控制系统由机器人智能控制模块、监视模块、及无线网络通讯模块等三大部分组成。工作过程是通过接入互联网的手机或者微型计算机客户端通过无线网络向远程的机器人发送控制指令代码,期间传输信号由发送端使用加密狗加密。当信号经互联网发送到接收终端时,智能消毒机器人网络模块把接收的指令传送到处理器,处理器指示驱动模块驱动智能消毒机器人执行动作。运动的同时监视模块把采集到的图像通过无线互联网传输到客户机端,其整体结构如图1所示。    1.1 智能控制模块   此模块是智能消毒机器人的核心部分。采用的是嵌入式系统设计,可以准确高效地运行及处理数据。控制器通过网络组件WIFI或者GPRS与外
[单片机]
基于ARM7的微弱信号采集系统设计与实现
对于绝大多数数据采集系统而言,其采集对象一般都为大信号,即有用信号的幅值远远大于噪声,然而在一些特殊的场合,采集到的信号往往很微弱,并且常常被随机噪声所淹没。这种情况下,仅仅采用放大器和滤渡器无法有效的检测出微弱有用信号。本系统硬件电路针对溶解氧传感器输出的微弱低频电流信号,利用仪表放大器有效抑制共模噪声,通过 ARM处理器 的数字相关算法优化,保证采集系统的精度要求。 由于确定信号在不同时刻取值具有很强的相关性,而噪声一般都是随机信号,不同时刻其相关性较差。相关检测技术就是基于信号与噪声统计学的特点,充分利用它们的相关性,从而实现微弱信号的提取和降噪的目的。针对被淹没在噪声中的信号,采用数字相关检测算法可以排除噪声。 本
[单片机]
基于<font color='red'>ARM7</font>的微弱信号采集系统设计与实现
TFT-LCD驱动芯片测试平台的设计和实现
   1 引言   近年来,随着手机和MP4等视频播放器等产品数量迅猛增长,据估计,今年手机的产量就达到10亿台,竞争趋于白热化。对于屏幕显示效果,消费者也提出了更高的要求。显示效果很大的部分取决于驱动IC的质量。显示屏的驱动IC成了很多厂家争夺的焦点。目前国内就有超过二十家的设计公司从事小屏幕显示屏的驱动IC的设计。在每一款的IC量产之前,必须经过反复的调试,以保证各项设置符合设计的要求,并且达到较好的显示效果。设计高速度,调试方便,并且美观的测试平台可以方便的调试出较好的效果,减少调试时间,而且可以给客户耳目一新的感觉,提高产品竞争力度。本论文是针对Focaltech-systems公司开发的TFT_LCD驱动芯片FT150
[安防电子]
TFT-LCD驱动芯片测试平台的设计和实现
ARM7 lpc2148之GPIO按键输入试验
简介:此实验中摁下某个按键后,把相关的信号并行传递到74HC165上,然后再通过串行方式传到处理器中,处理器在通过控制P0.22口(MAT0.0)来控制蜂鸣器。 此实验中摁下某个按键后,把相关的信号并行传递到74HC165上,然后再通过串行方式传到处理器中,处理器在通过控制P0.22口(MAT0.0)来控制蜂鸣器 #include NXP/iolpc2148.h //宏定义 #define SCLK 0x01 24 #define SCK0 0x01 4 #define MISO 0x01 5 #define MOSI 0x01 6 #define RCK 0x01 7 void HC595_Init(void);
[单片机]
<font color='red'>ARM7</font> lpc2148之GPIO按键输入试验
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved