【嵌入式烧录/刷写文件】-2.7-将一个文本文件转换为Intel hex文件

news2024/10/6 16:16:26

案例背景(共5页精讲):

有如下两个文本文件*.txt*.ini*.asc…)转换为Intel hex文件。常用于Key密钥signature签名…的导入,或对一段数据计算出hex记录的最后一个字节的校验值,接着与对应的Hex文件合并

注意:该/IA命令行会提取文本文件中,0~F(十六进制)的ASCII字符(并过滤其它特殊字符)进行拼接

目录

1 使用Vector HexView工具将文本文件“转换”为Hex文件

1.1 “自动”完成移动

1.2 “手动”完成移动

1.3 Command line命令行说明

结尾


优质博文推荐阅读(单击下方链接,即可跳转):

点击返回「《Autosar从入门到精通-实战篇》总目录」

点击返回「《Autosar_BSW高阶配置》总目录」

点击返回《嵌入式硬件/软件开发刷写/烧录文件》专栏

1 使用Vector HexView工具将文本文件“转换”为Hex文件

1.1 “自动”完成移动

基于批处理Bat(如下图中的Import_data.bat)调用HexView工具提供的Command line,通过该脚本来实现文本文件*.txt*.ini*.asc…)文件转换Hex文件。将该脚本集成开发环境IDE(CodeWarrior,S32K DS,Davinci,EB Tresos,ETAS…)中,即可自动实现。见图1-1。

图1-1

Import_Decimal_data.txt文件内容摘录:

23456789

Import_HEX_ASCII_data.txt文件内容摘录:

0x12, 0x23, 0x34

Import_data.bat摘录:

@echo off

Rem Path to the executable exe of the Vector HexView tool on your PC
set "HexViewPath=D:\Import_HEX_ASCII_data\HexView\hexview.exe"

Rem Input HEX-ASCII data file Input_Text_File path
set "Input_Text_Decimal_File=D:\Import_HEX_ASCII_data\Import_Decimal_data.txt"
set "Input_Text_HEX_ASCII_File=D:\Import_HEX_ASCII_data\Import_HEX_ASCII_data.txt"

Rem Output HEX-ASCII data corresponding to the Hex file Output_Hex_File
set "Output_Hex_1_File=D:\Import_HEX_ASCII_data\Output_Decimal_Hex.hex"
set "Output_Hex_2_File=D:\Import_HEX_ASCII_data\Output_HEX_ASCII_Hex.hex"

Rem Define the starting address of HEX-ASCII data
Rem Note that Set cannot use double quotes here
Set Start_Address=0x9000

Rem Call the command line provided by the HexView tool to convert HEX-ASCII data files to Hex files
%HexViewPath% /S /IA:%Input_Text_Decimal_File%;%Start_Address% /XI:32:0 -o %Output_Hex_1_File%
%HexViewPath% /S /IA:%Input_Text_HEX_ASCII_File%;%Start_Address% /XI:32:0 -o %Output_Hex_2_File%

运行该批处理Import_data.bat,即可得到转换后的Output_Decimal_Hex.hexOutput_HEX_ASCII_ Hex. hex文件。

1.2 “手动”完成移动

打开Vector Hexview工具,在菜单栏中依次选择File -- > Import -- > Import Hex-ASCII

在弹出的Select file for HEX-ASCII import对话框,找到对应路径下的文本文件,并打开;

此时您会看到这个文件的起始地址是0;

参考博文“【嵌入式烧录/刷写文件】-2.4-移动Intel hex中指定地址范围内的数据https://blog.csdn.net/qfmzhu/article/details/130764554”,将起始地址移动至0x9000;

接着菜单栏中依次选择File -- > Export -- > Export as S-Record,在弹出的Setup SREC-Export对话框,输入hex文件类型,记录的长度,以及输出文件的路径和名称;

1.3 Command line命令行说明

/IA=filename[;startAddress]   从文件中读取Hex数据。Startaddress指定块的地址。不能在文件内组合。

该选项用于指示 Hexview 将 HEX-ASCII 数据值读入内部数据存储器。由于不能自动检测到 HEX-ASCII 文件,所以不能作为正常的输入文件读入。然而,如果你想使用这个选项,就不能在读入普通的HEX文件的同时也想读入HEX-ASCII数据。

命令行摘自“ReferenceManual_HexView.pdf”文件。

结尾

获取更多“汽车电子资讯”和“工具链使用”,

请关注CSDN博客“汽车电子助手”,做您的好助手。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/598431.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Text-to-Table: A New Way of Information Extraction

原文链接: https://aclanthology.org/2022.acl-long.180.pdf ACL 2022 介绍 作者受到table-to-text任务(用于生成描述给定表格的文本语言)的启发,提出了text-to-table的新任务,根据给定的文本,来生成用于文…

分布式基础概念

分布式基础概念 1. 微服务2. 集群&分布式&节点3. 远程调用4. 负载均衡5. 服务注册/发现&注册中心6. 配置中心7. 服务熔断&服务降级8. API网关 1. 微服务 微服务架构风格,就是把一个单体架构按照业务拆分成多个服务模块,每个模块之间独立…

LAMP架构搭建实操(终有弱水替沧海,再无相思寄巫山”大概意思就是,你会遇到很多人,但不会有人像我那么爱你了。)

文章目录 一、安装Nginx服务1.安装依赖包2.创建Nginx运行用户3.编译安装Nginx源码包4.优化路径便于使用5、添加 Nginx 系统服务 二、安装Mysql服务1.安装Mysql环境依赖包2.创建Mysql运行用户3.编译安装4.修改mysql配置文件5.更改mysql安装目录和配置文件的属主属组6.设置路径环…

想知道如何把录音转变为文字?这三个录音转文字的方法和你分享

将录音转换为文字有许多实际应用场景,比如会议记录、学习和研究、采访记录、法律领域、医学领域、市场调研等等。总而言之,将录音转换为文字可以提供便利和效率,使得音频内容更易于阅读、搜索和编辑,并在需要时更方便地引用和分析…

Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)

现在我们想架设一个 互联网网站的话,我们就得想法认证自己是官方的,得产生一个证书 这个证书呢,我们使用的是 X.509 格式的证书 该证书 包含三个文件 : key , csr , crt 。 先介绍下 : PKI(Public Ke…

C++中关于引用变量初始化的一些总结

目录 1 问题2 引用初始化的说明3 示例代码 1 问题 函数的引用参数要求比较严格&#xff0c;今天就因为一个问题卡住了。我将此问题简化为下面的演示代码&#xff0c; #include <stdio.h>class CBase { public:CBase() {};virtual ~CBase() {}; };class CDerive :public …

Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon将图像中的六一快乐字体提取出来(C#)

Baumer工业相机堡盟工业相机如何使用BGAPISDK联合Halcon将图像中的六一快乐字体提取出来&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机使用Halcon图像算法的技术背景Baumer工业相机通过BGAPI SDK联合Halcon使用图像算法1.引用合适的类文件2.BGAPISDK在图像回调中引…

ppt怎么转pdf?经验分享

随着现代技术的不断发展&#xff0c;PPT已经成为了一种常见的演示工具。然而&#xff0c;在某些情况下&#xff0c;我们需要将PPT转换成PDF文件。PDF文件具有易读性强、占用空间小、易于传输等优点&#xff0c;因此在一些场合下&#xff0c;PDF文件更为实用。那么&#xff0c;如…

【JavaSE】Java基础语法(四十二):NIO

文章目录 1. 概述2. NIO与BIO的区别3. NIO三大模块4. NIO创建缓冲区对象【应用】5. NIO缓冲区添加数据【应用】6. NIO缓冲区获取数据【应用】7. 小结 1. 概述 BIO Blocking IO,阻塞型IONIO No Blocking IO,非阻塞型IO阻塞IO的弊端 在等待的过程中,什么事也做不了非阻塞IO的好处…

【正点原子STM32连载】 第二十三章 电容触摸按键实验 摘自【正点原子】STM32F103 战舰开发指南V1.2

1&#xff09;实验平台&#xff1a;正点原子stm32f103战舰开发板V4 2&#xff09;平台购买地址&#xff1a;https://detail.tmall.com/item.htm?id609294757420 3&#xff09;全套实验源码手册视频下载地址&#xff1a; http://www.openedv.com/thread-340252-1-1.html 第二十…

Java网络开发(Tomcat)—— 登陆 和 注册功能 的实现 和 迭代升级

目录 引出登陆功能---从html到jsp1.登陆--用post请求2.用html文件的form表单登陆&#xff08;1&#xff09;index.html页面&#xff08;2&#xff09;login.html登陆的页面&#xff08;3&#xff09;LoginServlet.java处理输入信息的代码&#xff08;4&#xff09;登陆成功&…

分布式事务一 事物以及分布式事物介绍

一 事务简介 事务(Transaction)是访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。在关系数据库中&#xff0c;一个事务由一组SQL语句组成。事务应该具有4个属性&#xff1a;原子性、一致性、隔离性、持久性。这四个属性通常称为ACID特性。 原子性&#xff08;at…

MyBatis - Spring Boot 集成 MyBatis

文章目录 1.版本要求2.导入依赖3.自动配置2.可配置项 MyBatis-Spring-Boot-Starter 可以帮助你更快地在 Spring Boot 之上构建 MyBatis 应用。通过使用该模块我们能够快速实现以下目的&#xff1a; 构建单体应用程序将几乎不需要样板配置使用更少的 XML 配置 1.版本要求 MyB…

Apache Kafka - 构建数据管道 Kafka Connect

文章目录 概述主要概念ConnectorTasksWorkesConvertersTransformsDead Letter Queue 主要使用场景主要价值Kafka Connect API vs Producer 和 Consumer API构建数据管道时需要考虑的主要问题ETL VS ELT数据整合方式的不同ETL 和 ELT 各有优缺点: 概述 Kafka Connect 是一个工具…

Linux二——Web基础与HTTP协议

Web基础与HTTP协议 一、Web基础1. 域名的概念2.域名空间结构3.域名注册4.网页的概念5. HTML概念6.网页基本标签1 二、HTTP协议1.HTTP概念2.HTML的基本标签3.头标签中常用标签4.内容标签中常用的标签 三、动态网页与静态网页1.静态网页2.动态网页3.动态网页和静态网页的区别4.动…

软件测试目的是什么?软件测试公司可提供哪些测试服务类型?

随着科技的不断发展&#xff0c;软件行业的发展也越来越迅速。然而&#xff0c;随着软件的增多和复杂性的提高&#xff0c;开发者们需要更多的手段来确保软件质量。软件测试就是通过一系列的测试来发现软件的问题&#xff0c;从而提高软件的质量。 一、软件测试目的是什么? …

Unity中的UniTask如何取消指定的任务或所有的任务

今天儿童节&#xff0c;犬子已经9个多月了&#xff0c;今天是他的第一个儿童节。中年得子&#xff0c;其乐无穷无尽啊… 〇、 示例效果 一连创建5个异步任务[id 从0~4]&#xff0c;先停止其中的第id 4的任务&#xff0c;再停止所有的任务 一、CancellationTokenSource有什…

利用矩阵分解实现图像压缩(实验)

机器学习的课程&#xff0c;老师布置了一个实验报告&#xff0c;当我看到实验内容&#xff0c;傻眼了&#xff0c;手写计算矩阵特征值和特征向量的函数&#xff0c;这给我整无语了&#xff0c;直接调用已有的不好吗&#xff0c; 我直接摆烂。 实验报告放这了&#…

【C#图解教程】 第六章 方法(上)

方法的结构 方法是一块具有名称的代码&#xff0c;在类和结构中都经常用到 局部变量 局部变量位于方法内部&#xff0c;在方法中声明时产生&#xff0c;在方法执行结束时结束 类型推断与var关键字 某些情况下&#xff0c;在声明的开始部分包含类型名是多余的&#xff0c;因为…

Python-python判断语句:布尔类型和比较运算符、if语句的基本格式、if else语句、if el if else语句、判断语句的嵌套、实战案例

版本说明 当前版本号[20230601]。 版本修改说明20230601初版 知识总览图 目录 文章目录 版本说明知识总览图目录Python判断语句布尔类型和比较运算符布尔类型布尔类型的定义 比较运算符 if语句的基本格式if判断语句if语句的注意点 if else 语句语句注意点 if elif else语句注…