【dsPIC33E】Bootloader(二)Microchip的Hex文件结构介绍

发布者:梅花居士最新更新时间:2020-05-17 来源: eefocus关键字:dsPIC33E  Bootloader  Microchip  Hex文件结构介绍 手机看文章 扫描二维码
随时随地手机看文章

市面上大多数单片机的Hex文件都是基于Intel Hex,而dsPIC33E也不例外,dsPIC33E支持的格式为Intel HEX32(INHX32)。


hex文件以ascii形式,按照行来记录数据


每一行从:开始,每至少2个字符表示一组16进制数据,格式为 :BBAAAATTHHHH....HHHCC

BB -- 16进制,表示此行数据长度字节数,表示HH的数目

AAAA -- 16进制,表示数据记录的起始地址,若此行是数据记录,则表示偏移地址,其它无意义

TT -- 16进制,表示记录类型,

00-数据记录(Data Record); 

01-文件记录结束(End of File record); 

02-扩展段地址记录(Extend Segment address record);后面所有数据地址+段地址左移4位

04-扩展线性地址记录(Extend Linear address record);后面所有数据地址+线性地址左移16位

HH...HH -- 16进制,低字节/高字节 结合数据,高字节在后;注意,若是偏移地址,则都是2字节,高字节在前,低字节在后

CC -- 16进制,校验码,除冒号和自身以外的其他字节数据加起来模除256的余数的补码


例如:10A6B0000000EB00D4FD0700000F78001E007800BA


CC=01+~(10+A6+B0+00+00+00+EB+00+D4+FD+07+00+00+0F+78+00+1E+00+78+00)=BA


需要特别注意的是:

1、Intel hex是针对字节的,而16位程序计数器不是,需要进行特殊处理,对于dsPIC33E/PIC24E,每个程序存储器地址都是乘了一个2来获取字节地址,例如一个数据存于0x100,而在Hex中为0x200,详见dsPIC33E/PIC24E编程规范(DS70619B)扩展A中的介绍。


2、dsPIC33E/PIC24E没有扩展段地址,只有扩展线性地址


3、MPLAB X项目属性中的建设里,勾选规范会HEX文件和不勾选生成的HEX文件是不一样的,建议规范Hex


4、数据记录为little-endian,低端在前;而地址记录为bit-endian,高端在前


5、Hex文件记录中,一旦出现段地址或者线性地址,之后所有数据都要加偏移地址,直到出现一个新的段地址或者线性地址,再重新变更偏移地址。


6、对于真实地址,是 线性地址<<16 + 段地址<<4 + 偏移地址


示例:


:020000040108EA           线性偏移地址:0108


:0200000212FFBD           段偏移地址:12FF


:0401000090FFAA5502       数据地址:0100


:00000001FF               文件结束


真实地址为:0108左移16位,为01080000;12FF左移4位,为00012FF0;数据地址为00000100;加起来为010930F0


最终解析出来(8位单片机):


地址     数据


010930F0: 90


010930F1: FF


010930F2: AA


010930F3: 55


对于dsPIC33E/PIC24E,16为单片机,2个16位组成32(有效的是低24位)地址要除以2,所以真实地址解析如下:


00849878: 55AAFF90


0084987A: ......


而2个地址组成一个24位的指令字(32位的高8位为0),低端在前,所以表示实际地址应该如下:


00849878: 00AAFF90


0084987a: xxxxxxxx


以下为dsPIC33EP256MC506程序编译后的Hex文件解析,工具源码下载地址(内含Hex文件解析及Bootloader上位机):https://download.csdn.net/download/u010875635/10819828

本节Hex文件解析到此结束,下一节将数Bootloader下位机设计。

关键字:dsPIC33E  Bootloader  Microchip  Hex文件结构介绍 引用地址:【dsPIC33E】Bootloader(二)Microchip的Hex文件结构介绍

上一篇:【dsPIC33E】Bootloader(一)Bootloader的介绍与Flash结构
下一篇:【dsPIC33E】Bootloader(三)Bootloader下位机

推荐阅读最新更新时间:2024-11-04 18:03

微芯将以8.3亿美元收购竞争对手SMSC
    5月2日消息,据国外媒体报道,芯片制造商美国微芯科技公司将以8.3亿美元收购竞争对手Standard Microsystems Corp(SMSC),以扩大汽车与消费电子行业的芯片市场份额。     报道称,微芯与SMSC均生产消费电子设备的嵌入式微控制器。这些设备包括电视机、汽车仪表等等。凯普斯通投资分析师杰弗里·施雷纳(Jeffrey Schreiner)称:“或许微芯认为他们可以借助SMSC的生产线促进汽车制造相关的芯片业务增长。SMSC近几年的确做得非常成功。”     当前SMSC市值为5.88亿美元。2011财政年,该公司的汽车芯片销售业务营收8460万美元,而汽车芯片业务是其第三大业务,增长较为迅速。相比而言
[手机便携]
stm8s 实践课程之IAP设计编码(bootloader实现)
项目实践1:Bootloader 1.项目介绍 在之前的例程和实践中,我们都是使用st-link调试下载的方式进行程序烧录。大家可能已经认识到这种烧录方式的弊端了。因为这种烧录方式首先必须要有以下几个工具或者软件: 1.烧录工具(不同芯片支持的工具不一样,有ST-Link,JTAG等) 2.已经安装了IDE(IAR或者SVD或者CCS等)或者与烧录工具匹配的烧录软件的电脑 3.烧录前后需要物理上电掉电(不建议ST-Link进行热插拔),即开/关电源. 也许大家会觉得,对于学习而言,这些都能忍受。但是如果真正做成产品,如果还是用这种方式进行升级,那代价就太大。举个例子吧,我之前的工作是开发和维护大功率的UPS(不间断电源),
[单片机]
stm8s 实践课程之IAP设计编码(<font color='red'>bootloader</font>实现)
Motorola微处理器的bootloader分析与应用
摘要:以Motorola 32位处理器ColdFire5307为例,分析、介绍Motorola公司用于嵌入式系统开发的dBUG通用bootloader软件的结构、运行原理及应用。 关键词:嵌入式系统 ColdFire bootloader dBUG 引 言 bootloader是用来完成系统启动和系统软件加载工作的程序。它是底层硬件和上层应用软件之间的一个中间件软件,完成处理器和周边电路正常运行所要的初始化工作;可以屏蔽底层硬件的差异,使上层应用软件的编写和移植更加方便;不仅具有类似PC机上常用的BIOS(Basic Input Output System,基本输入、输出系统监控程序)功能,而且还可具有一定的调试功能。
[嵌入式]
关注客户需求,微芯解密成功之道
“我们中国区目前做到了20%的营业额,所以把发布会第一站就放到这里。”微芯(Microchip)科技商贸(上海)有限公司总经理陈永丰说,而去年该比率仅为18%。此次发布会上,微芯推出了3个全新系列32位单片机,包括PIC32mx5/6/7三个系列。 作为1989年才从通用仪器(General Instrument)独立出来的公司,Microchip至今已有20年历史,根据Databeans提供的报告显示,微芯去年业绩上升4%,市场排名为第6。 非技术因素促微芯成长 微芯公司成立之初,就专注于8位单片机的市场拓展,市场排名从1991年的23名至2002年的第一,微芯用了十年时间。公司高性能单片机部门副总裁Su
[EEWORLD独家]
关注客户需求,<font color='red'>微芯</font>解密成功之道
STM32学习笔记之简易Bootloader串口升级设计
概念简介 在学习制作串口升级 Bootloader 之前,我们先了解一下STM32的 IAP (In Application Programming)即在应用编程,IAP是用户自己的程序在运行过程中对 User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级. 设计这样的功能需要有两个项目代码: Bootloader 程序: 该部分代码用于实现通过某种通信方式(如 USB,USART)接收程序或数据,执行对第二部分代码的更新,通常存储于 Flash 的起始地址(0x08000000); App 程序: 该部分代码是产品实现业务逻辑正常运行的代码,该部分
[单片机]
STM32学习笔记之简易<font color='red'>Bootloader</font>串口升级设计
Microchip GDD X支持在Windows®、Linux或Mac®电脑上创建基于PIC® MCU的GUI
全球领先的整合单片机、混合信号、模拟器件和闪存专利解决方案的供应商——Microchip Technology Inc.(美国微芯科技公司)宣布推出其增强型可视化设计工具图形显示设计器X(GDD X),为采用Microchip 16位或32位PIC® MCU的应用提供了一种快速简便的方法来创建图形用户界面(GUI)屏幕。利用GDD X,开发人员可以在Windows®、Linux或Mac OS®操作系统中,自由地选择其工作环境。 现如今,图形用户界面广泛应用于从咖啡机到汽车仪表盘的各种产品。虽然图形用户界面的要求已变得司空见惯,但却没有供开发人员使用的兼具成本效益的工具。放置对话框、指导文本、按钮、滑块、刻度盘及其他GUI元素,同
[单片机]
Microchip第12届中国技术精英年会开始接受报名
嵌入式控制工程师的技术培训盛会 大会将于11月在深圳、上海和北京举行;课程涵盖从初学者到专家级别的所有经验水平 全球领先的整合单片机、模拟器件和闪存专利解决方案的供应商——Microchip Technology Inc.(美国微芯科技公司)宣布,该公司的第12届中国技术精英年会(China MASTERs Conference)将于11月2-4日、9-11日和16-18日分别在深圳、上海和北京举行,现已开始接受报名。登录 http://techtrain.microchip.com/cm 即可进行网上报名。 欲观看中国技术精英年会视频介绍,请访问: http://v.youku.com/v_show/id_XMjU3Mjk
[嵌入式]
基于WinCE的嵌入式图像采集系统设计
随着我国科技进步和社会的发展,数字视频图像的采集、存储、处理及传输技术在最近几年得到了广泛的应用和发展,各类图像采集及处理系统已经逐渐深入到人们生活的各个方面。与视频采集卡等传统图像采集系统相比,嵌入式图像采集系统具有体积小、成本低、可靠性高等优点,在智能交通、远距离监控、计算机视觉等领域应用广泛。本文介绍了一种应用ARM微处理芯片和WinCE操作系统的图像采集解决方案。 1 系统总体设计 该设计主要由3大部分组成,USB摄像头通过USB接口与AMR开发板(下位机)相连,PC机(上位机)通过网络接口(网卡)和以太网线与ARM开发板相连。摄像头负责对图像数据的采集,然后将数据传送到运行在WinCE上的服务端程序,服务端程序负责将采
[单片机]
基于WinCE的嵌入式图像采集系统设计
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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