【嵌入式烧录刷写文件】-2.4-移动Intel Hex中指定地址范围内的数据

news/2024/11/9 2:05:53/

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

有如下一段Hex文件,将源地址范围0x9100-0x9104中数据,移动至一个“空的未填充的目标地址范围0xA000-0xA004。

:2091000058595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576775F
:2091200078797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596973F
:2091400098999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B71F
:20916000B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7FF
:20918000D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7DF
:2091A000F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617BF
:2091C00018191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536379F
:0891E00038393A3B3C3D3E3FAB
:00000001FF

 

注意如果目标地址存在数据,此法不适用。

目录

1 使用Vector HexView工具“移动”Hex文件指定地址范围数据

1.1 “自动”完成移动

1.2 “手动”完成移动

2 Command line命令行说明

结尾


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

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

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

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

1 使用Vector HexView工具“移动”Hex文件指定地址范围数据

1.1 “自动”完成移动

基于批处理Bat(如下图中的Remap_Hex_File.bat)调用HexView工具提供的Command line,通过该脚本来实现Hex文件(Application.hex)的移动指定地址范围内的数据。将该脚本集成开发环境IDE(CodeWarrior,S32K DS,Davinci,EB Tresos,ETAS…)中,即可自动实现。见图1-1。

图1-1

Remap_Hex_File.bat摘录:

@echo offRem Path to the executable exe of the Vector HexView tool on your PCset "HexViewPath=D:\Remap_Hex\HexView\hexview.exe"Rem Input_Hex_File is a source fileset "Input_Hex_File=D:\Remap_Hex\Application.hex"Rem Output_Hex_File is an output fileset "Output_Hex_File=D:\Remap_Hex\Output.hex"Rem Move the data in the source address range to an "empty, unpopulated" destination address range%HexViewPath% /S %Input_Hex_File% /remap:0x9100-0x9104,0xA000,0x5,0x10000 /XI:32 -o %Output_Hex_File%

运行该批处理Remap_Hex_File.bat,即可得到移动指定地址范围数据后的Output.hex文件。

:209105005D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7CBA
:209125007D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9A
:209145009D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC7A
:20916500BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC5A
:20918500DDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC3A
:2091A500FDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1A
:2091C5001D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3CFA
:0391E5003D3E3FCD
:05A0000058595A5B5C99
:00000001FF

1.2 “手动”完成移动

打开Vector Hexview工具打开Hex文件,在菜单栏中依次选择Edit -- > General ramapping

在弹出的Remap address rangs对话框中:

Address range where bank remapping shall be applied to:表示目标地址范围;

Single bank size:表示源地址范围内,需要移动的长度;

Offset between banks:默认0x10000;

Linear base address:目标地址的起始地址。

移动后的效果,见下图。

2 Command line命令行说明

/remap:BankStartAddress-BankEndAddress,LinearBaseAddress,BankSize,BankIncrement

这个选项的目的是用于使用内存库寻址方案的控制器。该选项从物理库的寻址计算到线性寻址方案。

BankStartAddress:表示源地址范围的起始地址;

BankEndAddress:表示源地址范围的起始地址;

LinearBaseAddress:表示目标地址范围的起始地址;

BankSize:表示源地址范围内,需要移动的长度;

BankIncrement:BankIncrement是两个bank之间的地址差,例如,1号bank的BankStartAddress和2号bank的BankStartAddress之间的差异。暂默认0x10000

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

结尾

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

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


http://www.ppmy.cn/news/73913.html

相关文章

js - 匿名函数和箭头函数理解

匿名函数和箭头函数 匿名函数1,基本概念2,匿名函数的应用场景 箭头函数1,基本概念箭头函数写法的特殊性 2,箭头函数的特点箭头函数this总是指向父级的this: 扩展 匿名函数 1,基本概念 匿名函数顾名思义指…

【华为OD机试真题2023B卷 JAVA】五子棋迷

华为OD2023(B卷)机试题库全覆盖,刷题指南点这里 五子棋迷 知识点数组双指针 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 张兵和王武是五子棋迷,工作之余经常切磋棋艺。这不,这会儿又下起来了。走了一会儿,轮张兵了,对着一条线思考起来了,这条线上的…

CSDN54期周赛 - 穷举编码

本期重复考题如下: 陶陶摘苹果:13期考过,一句代码搞定。 交际圈:23期考过,并查集,连通图,题解在此。C站很喜欢并查集啊。 编码:14、40期考过两次,题解在此。 选择客栈…

Cloud Studio 内核升级之持续优化

前言 Cloud Studio 是基于浏览器的集成式开发环境(IDE),为开发者提供了一个永不间断的云端工作站。用户在使用 Cloud Studio 时无需安装,随时随地打开浏览器就能使用。云端开发体验与本地几乎一样,上手门槛更低&#…

【Java EE】Spring介绍

Spring笔记 1.概述1.1 IOC1.2.context上下文和bean1.3.AOP 2.IoC 控制反转2.1. Spring IoC容器和Bean简介2.2. 容器概述2.2.1. 配置元数据2.2.2. 实例化一个容器2.2.3. 使用容器 2.3. Bean 概览2.3.1. Bean 命名2.3.2. 实例化 Bean2.3.3 bean的生命周期 3.AOPAOP 概念 参考资料…

sysbencn安装使用

解压安装sysbench tar -zxvf sysbench-1.0.20.tar.gz cd sysbench-1.0.20 # -j用于告诉make并行编译代码,可以减少编译时间 make -j make installyum -y install make automake libtool pkgconfig libaio-devel # For MySQL support, replace with mysql-devel on…

[Nacos] Nacos Client重要Api (一)

Instance:实例,代表一个Nacos Client主机实例。ServiceInfo:微服务信息实例。其包含着一个Instance列表。NamingService: 该接口只有一个实现类,NacosNamingService。通过这个类的实例,可以完成Client与Ser…

正雅齿科启动IPO 拟首次公开发行股票并上市

正雅齿科启动IPO 拟首次公开发行股票并上市 近日,据证监会网站消息,浙江正雅齿科股份有限公司(以下简称“正雅齿科”)在浙江证监局进行辅导备案登记,拟首次公开发行股票并上市,辅导券商为中金公司、国海证…