详细阐述UCD3xxx 系列数字电源控制器烧写常用的两种十六进制文件格式:X0和Intel Hex

最新更新时间:2014-12-24来源: 互联网关键字:Intel  Hex 手机看文章 扫描二维码
随时随地手机看文章
后缀为X0 的文件是十六进制文件格式的一种,而Intel Hex 文件格式也是一种常用的十六进制文件格式。X0是TI 烧写软件和工具常用的文件格式,而Hex 文件是第三方烧写器常用的文件格式。编译器(如TI 集成开发环境)编译C 语言或者汇编语言程序生成二进制机器代码,然后由机器代码生成X0 和Hex 这两种十六进制文件格式。本文首先介绍这两种文件格式,然后介绍如何在 编译环境中产生这两种文件格式,最后结合 系列通过实例来进一步了解这两种文件格式。
X0 Hex 文件格式
X0 和Hex 文件是由一行行符合对应文件格式的文本所构成的ASCII(American Standard Code for Information Interchange,美国信息互换标准代码)文本文件。在计算机中,所有的数据在存储和运算时都要使用二进制数表示,例如a、b、c、d 这样的52 个字母(包括大写),0、1 等数字,还有一些常用的符号(如*、#、@等)在计算机中存储时也要使用二进制数来表示。ASCII 码就是用来表示这些字母、数字以及符号的,它使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。而X0 和Hex 文件格式就利用ASCII 码来表示二进制信息。
X0 格式的名称是“泰克扩展十六进制文件格式”(Tektronix Extended hexadecimal file format),具体格式参见图1。
 1X0 文件格式
X0 文件以百分号“%”为记录标志,表示一行的开始;记录长度指的是每一行除百分号外的字符数(不是字节数),占一个字节;记录类型占一个字符,共两种:6 - 代表数据,8-代表结束;校验是整个一行字符除(注意不是字节)除校验自身和百分号外的校验和,占一个字节;地址共9 个字符,第一个字符是8,指的是地址共占8 个字符,后面8 个字符(4 个字节)是数据所要加载的地址;数据就是程序代码或其它信息。
以计算机常用的“Hello, Word!(加换行符)”为例,如果把它加载到地址0x006B,那么X0 文件如下
表示:
%2A6DE80000006B48656C6C6F2C20576F726C64210A
%09819800000000
Hex 文件格式有很多种,本文主要介绍“英特尔十六进制目标文件格式”(Intel Hexadecimal object file format),具体格式如图2 所示。
 2Hex 文件格式
Intel Hex 文件以冒号“:”为记录标志,表示新的一行的开始;记录长度占一个字节,指的是每一行所包含实际数据或信息的字节数;加载偏置占两个字节,是相对地址(加载偏置加上扩展线性地址就是绝对地址);记录类型共有6 中,分别为:0 - 数据记录,1 - 文件记录结束,2 - 扩展段地址记录,3 -起始段地址记录,4 - 扩展线性地址记录,5 - 起始线性地址记录;每一行记录的数据部分都是可变的,最多可以有255 个字节,也可能没有,取决于所记录的类型。最后一个是校验,它是除冒号和校验自身的校验和,具体做法是每个字节累加,然后取计算结果最后一个字节补码(取反加1)作为校验字节。
还是以“Hello, Word! (加换行符)”为例,把它加载到地址0x0000,Hex 文件如下:
:0F00000048656C6C6F2C20576F726C64210A7E
:00000001FF
 存储结构
 3 存储结构
介绍如何生成X0 和Hex 文件以前,需要先了解一下UCD3xxx 系列数字控制器存储结构,如图3 所示。UCD3xxx 三种模式:复位模式、ROM 模式以及Flash 模式。这三种状态对应的存储映射是不一样的。复位模式下,所有内存都映射为ROM;ROM 模式下,程序闪存(Program Flash)被映射在0x10000至0x17FFF,数据闪存(Data Flash)是从0x18800 至0x18FFF,随机存取存储(RAM)放在0x19000 至 0x19FFF;Flash 模式下,数据和随机存取位置不变,程序闪存位置被重新映射到0 至0x7FFF。程序闪存最后4 个字节是保存整个程序闪存的校验和。
UCD3xxx 起机过程是:上电开始进入复位模式;上电完成后进入ROM模式,此时芯片会自动跳转到0xA000 执行。在0xA000 至0xAFFF 这一段地址内,固化了一段ROM 程序,这段程序除了做一些芯片自身的初始化外,它还会计算程序闪存的校验和,然后和程序闪存最后4 个字节保存的校验和对比,如果不一致,此时程序会停下来,等待主机命令。如果对比结果一致,那么芯片就会进入Flash 模式,ROM 程序会执行跳转指令进入程序闪存中运行。
如何在 集成开发环境下生成X0 Hex 文件
 4CCS 编译器编译选项设置
X0 和Hex 文件的生成离不开格式转换程序:Hex470.exe 和 FusionX0ToHex.exe。Hex470.exe 是汇编语言工具包里面自带的程序。FusionX0ToHex.exe 是TI 数字电源设计(Fusion Digital Power Designer)图形用户界面(GUI)所带的转换程序。Hex470.exe 和 FusionX0ToHex.exe 可以用命令行来调用,下面分别介绍各自的命令格式。
Hex470.exe 的命令行格式为:Hex470 [选项] 文件名,hex470 是调用转换程序的命令,选项是控制转换过程的附加信息(具体信息可参考文献2),文件名是指输入文件的名称。Hex470 可以把CCS 编译生成的后缀为Out 的文件转换成各种格式的Hex 文件,如:
Hex470 –i sample.out
这段命令是把生成的sample.out 文件转换成Intel Hex 格式文件,文件名称为sample.hex;
Hex470 –x sample.out
这段命令是把生成的的sample.out 文件转换成X0 格式文件,文件名称sample.x0。
既然Hex470 可以直接把Out 文件转换成Hex 文件,那为什么要先转成X0 再转换成Hex 文件呢?有两个原因:Hex470 不会计算程序闪存的校验和;Hex470 生成的Hex 文件地址是基于程序闪存模式,而烧写器需要的地址是ROM模式,也就是从0x10000 至0x17FFF,所以UCD3xxx 不支持Hex470 直接生成的Hex 文件,需要通过FusionX0ToHex.exe 转换程序把X0 文件转换成Hex 格式文件,具体命令格式是:
FusionX0ToHex --infile x0-file
--format intel|srec|hexdump
--pflash-checksum calc|none|source
--export pflash|dflash|both|source
--outfile hex-file
  • --infile 主要指定输入X0 文件。
  • --format 主要
  • 指定生成哪种Hex 格式,分别为intel、srec(Motorola S-Record)和hexdump。
  • --pflash-checksum 主要指定程序闪存的校验模式,calc 模式-基于X0 文件计算校验位并写入相应位置;none 模式-校验位默认为0xFFFFFFFF;source 模式是使用X0 自己的校验位。
  • --export 指定输出哪一部分存储,pflash 指只输出程序闪存部分。dflash 指输出数据闪存部分。both 是输出程序和数据闪存。无论哪一部分,如果X0 文件中没有就用0xFF 填充。source 是直接把X0 输出。
  • --outfile 是指定输出Hex 文件名称。
  • 下面就介绍一下如何在 编译环境中嵌入hex470 和FusionX0ToHex 命令行。
    (3.x 版本)编译环境中,进入工程(Project)菜单,然后选择编译选项(Build Options),然后点击通用标签(General),就会出现如图4 所示界面。在最后编译步骤(Final build steps)中,我们可以输入下面两条命令行:
    hex470 -x -memwidth 8 .\debug\FB_48V_HS.out
    FusionX0ToHex --infile FB_48V_HS.x0 --pflash-checksum calc --export both --format intel –outfile FB_48V_HS.hex
    第一条命令中:-x 选项就是指把.\debug\FB_48V_HS.out 转换成X0 文件,-memwidth 8 是定义系统存储字宽为8 位。
     5:生成的X0 文件(
     6:生成的Hex 文件(
    第二条命令中:输入待转文件是FB_48V_HS.x0,输出文件是FB_48V_HS.hex,计算程序闪存的校验位,同时输出程序和数据闪存内容,格式是intel 十六进制。
    基于 进一步了解X0 Hex 文件格式
    为了进一步了解X0 和Hex 格式,下面通过UCD3xxx 硬开关全桥评估板软件来看一下具体生成的X0和Hex 文件,如图5 和图6 所示。
    图5 的第一列统一是百分号开始;下面两列(一个字节)表示的是每一行除百分号外的字符长度,每行最多字符数是0x4E(78);然后一列表示后面数据类型,除最后一行是8(结束)外,其它都是6(数据);再有两列是整行的校验;地址占9 列,以8 开始,后面4 个字节代表实际地址;地址后面就都是数据了。从图中可以看出,X0 文件的程序闪存的地址都是从0 开始的,而且也没有整个程序闪存的校验。TI 烧写软件和工具主要使用X0 格式的文件,烧写软件自己会计算程序闪存的校验和,然后写到最后4 个字节,所以X0 不需要计算整个程序闪存的校验和。
    图6 的第一列都是冒号;后面依次一个字节指的是整行所含数据的字节数;两个字节是偏置地址;一个字节是指的记录类型;然后是字节数不等的数据。最后一个字节是每一行的校验。图6 的第一行指定扩展地址,为0x0001;最后一行标志文件结束。另外,在程序闪存最后4 个字节(粉红色区域)就是整个程序闪存的校验和。如果这个校验和不对,程序就不会跳到程序闪存中执行。
    小结
    如果使用TI 提供的烧写软件(GUI)和工具(USB 适配器)烧写的话,只需要格式为X0 的文件;如果使用第三方烧写器在生产线烧写,那么就会需要Hex 格式文件。可以根据本文的介绍来生成所需的X0或者Hex 文件。
    参考资料
    1. SLUS868D - Digital Power Controllers, Texas Instruments Inc., 2012
    2. SPNU118J - ARM Assembly Language Tools v4.9 User's Guide, Texas Instruments Inc., 2011
    3. SRecord V1.59- Manipulate EPROM load files, 2012
    4. Fusion Digital Power Designer, Texas Instruments Inc., 2012
关键字:Intel  Hex 编辑:探路者 引用地址:详细阐述UCD3xxx 系列数字电源控制器烧写常用的两种十六进制文件格式:X0和Intel Hex

上一篇:数字电源精度的重要性分析
下一篇:数字电源转换解决数据中心的功耗问题

推荐阅读最新更新时间:2023-10-12 22:50

IDF2011:英特尔为嵌入式注入创新动力
    由英特尔主办的全球IT界高水平的技术论坛活动--2011英特尔信息技术峰会(Intel Developer Forum, IDF),将于4月12至13日在北京国家会议中心举行。这是2007年以来连续第5个年度IDF在中国首发。本届IDF以"智无界,芯跨越"(Compute Continuum and Beyond)为主题,将进一步展示英特尔如何通过从硬件、平台到软件和服务全面的计算解决方案,推进个性化互联网发展;同时面向中国市场如何支持本地合作伙伴创新,助力新一代信息技术等战略性新兴产业发展。   今天是2011英特尔信息技术峰会(IDF)正式开幕的前一日,英特尔在北京国家会议中心举行了以"未来计算:嵌入.互联.
[手机便携]
苹果A系列芯片灵魂人物放弃竞聘英特尔CEO
集微网消息,上周有报告称苹果芯片研发主管 Johny Srouji 出现在了英特尔 CEO 候选人的名单中,其有可能会补上空置了半年有多的英特尔CEO的职位。不过现在根据The Motley Fool 报告指出,Johny Srouji 已经通知自己的团队,其将会继续留在苹果,不会去竞争英特尔的CEO。 自从2018年6月布莱恩-克尔赞尼奇(Brian Krzanich)辞去CEO职务以来以来,英特尔一直没有常驻首席执行官。目前,首席财务官鲍勃-斯旺(Bob Swan)担任英特尔的临时首席执行官。 除了缺乏一位长期的首席执行官,英特尔还面临着一系列的阻力,包括新的纳米芯片制程的延迟和在数据中心业务方面面临日益激烈的竞争。 上个
[手机便携]
苹果A系列芯片灵魂人物放弃竞聘<font color='red'>英特尔</font>CEO
英特尔携手智在一方打造智能制造工厂
英特尔携手智在一方打造智能制造工厂,为中国“智”造注入强劲动能 近日,英特尔与合作伙伴携手打造的苏州智能制造试验工厂项目在苏州正式启动。在启动仪式上,英特尔介绍了产教融合人才培养的创新模式,通过释放英特尔强大的技术实力,打造引领中国“智”造的行业标杆,进一步为中国制造业的智能化升级注入强劲动力。此外,信华集团董事长秦文浩、联合伟世董事长刘廷瑞和智在一方总经理徐涛也分享了对于试验工厂的期待以及对于中国智能制造的展望。 苏州智能制造试验工厂项目启动仪式 “十四五”规划明确将制造业优化升级作为重要内容,鼓励企业应用先进适用技术推动制造业高端化、智能化和绿色化的转型。其中,建设智能制造示范工厂是制造业优化升级中的关键一步
[工业控制]
<font color='red'>英特尔</font>携手智在一方打造智能制造工厂
英特尔提供系列解决方案 助新兴微型服务器成长
2011 年 3 月 15 日——在网络托管和关键业务计算等多样化工作负载的驱动下,今天的服务器市场急需更多功能丰富的服务器处理器和平台产品。对此,产业界做出了响应,拓展了面向数据中心的系统选择,其中包括机架服务器、塔式服务器和刀片服务器。为克服当前的工作负载挑战,英特尔公司致力于提供包含处理器、针对开发者的资源和支持在内的强大且能实现良好平衡的组合方案,其中就有适用于新兴的微型服务器产品类别的解决方案,从而进一步拓展了它在数据中心技术和产品创新领域的领导地位。 微型服务器发展简史 微型服务器是一种新兴的共享基础设施服务器产品类别,适用于一些独特的、需要更多低功耗高密度服务器而非较少高性能服务器才能实现更高
[嵌入式]
<font color='red'>英特尔</font>提供系列解决方案 助新兴微型服务器成长
英特尔亮相InfoComm China驱动互联零售新世界
eeworld网消息,2017年4月12日,北京——今日,亚洲最大视觉物联网产业展InfoComm China在北京隆重召开,英特尔作为重要参展商于同期举办了以“智能零售 合创未来”为主题的视觉零售行业研讨会。InfoComm China展会是目前为止中国最大的视听行业盛会之一,展会集中展示全球领先的解决方案和世界一流的技术,帮助开拓中国多元繁荣的市场。英特尔此行展示了包括其开放可插拔的OPS+在内的众多智能零售解决方案和技术,和与会来宾共同探讨了全新零售时代下的机遇与挑战。 在今年的政府工作报告上,政府明确了“新零售”的发展路径,提出了“鼓励线上线下互动,推动实体商业创新转型”的方针。在去年6月颁布的《国务院办公厅关于推进线上线
[网络通信]
英特尔卖光Imagination股份 苹果继续担任股东
   摘要: 据外媒报道,英特尔基金会宣布,它将卖掉其在Imagination Technologies(以下简称IT)中持有的4.9%股份。也就是说,英特尔基金会和英特尔资本将完全跟IT脱离关系。而苹果,已经在去年跟该家公司续约,将继续担任股东之一。虽然苹果和IT并未公布具体的合同内容,但IT披露,这份合同期间将持续好几年时间,并会覆盖多个领域。   2008年,苹果购入了IT 3.6%的股份,并在此后不断增购,现已经达到近10%。   据了解,由IT生产的PowerVR图形处理器是苹果iPhone、iPad产品线中的重要部件。iPhone 6和iPhone 6 Plus所搭载的A8处理器中就采用了Power
[嵌入式]
<font color='red'>英特尔</font>卖光Imagination股份 苹果继续担任股东
英特尔:智能边缘推动业务创新
企业正转向边缘,以推动加速业务增长并推动业务转型 英特尔最新的《智能边缘展望报告》指出,边缘计算对企业来说至关重要,只有智能边缘才能引领企业走出迷局,把握好当前和未来的无限数据机遇。 “当前,英特尔正与各行各业的合作伙伴合作,通过发力智能边缘来攫取真正的商业价值。边缘计算使每一台设备都有可能成为信息存储的载体,并让我们可以实时提取和使用这些信息。” 在新冠肺炎疫情期间,人们对技术的使用呈现指数级增长,并由此产生了前所未有的大量关键业务数据。这些新数据将是许多企业进行数字化转型的核心所在,但与此同时,许多企业机构正面临非常现实的数据处理挑战。例如,由于延迟问题,将正在创建的大量数据发送到云上进行处理,显然是不现实的。
[工业控制]
英特尔展示用于下一代先进芯片封装的玻璃基板:互连密度提高 10 倍,光刻图案失真减少 5
9 月 19 日消息,据英特尔官网新闻稿报道,英特尔日前推出了用于下一代先进封装的玻璃基板,英特尔公司高级副总裁兼装配与测试开发总经理 Babak Sabi 表示,“这项创新历经十多年的研究才得以完善。” ▲ 图源 英特尔 IT之家从文中注意到,与现代有机基板相比,该玻璃基板具有“更好的热性能、物理性能和光学性能”,可将互连密度提高 10 倍。该玻璃基板还能承受更高的工作温度,并能通过增强的平面度将图案失真减少 50%,从而提高光刻的聚焦深度,并为设计人员提供了更多的电源传输和信号布线灵活性。 得益于以上特性,增强的玻璃基板性能够提高装配良率,减少浪费,从而令使芯片设计人员能够在单个封装的较小尺寸内封装更多的芯片(或芯片单元)
[半导体设计/制造]
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved