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

news2024/11/23 0:48:30

案例背景(共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 off

Rem Path to the executable exe of the Vector HexView tool on your PC

set "HexViewPath=D:\Remap_Hex\HexView\hexview.exe"

Rem Input_Hex_File is a source file

set "Input_Hex_File=D:\Remap_Hex\Application.hex"

Rem Output_Hex_File is an output file

set "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.coloradmin.cn/o/544367.html

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

相关文章

Cube Map 系列之:手把手教你 实现天空盒(Sky Box)

什么是天空盒 An skybox is a box with textures on it to look like the sky in all directions or rather to look like what is very far away including the horizon.天空盒是一个使用纹理贴图构建的盒子,人在其中朝任何一个方向看去,其纹理彷佛天空…

Java版本企业工程管理系统软件源码 自主研发,工程行业适用

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…

Linux【工具 02】OpenStreetMap数据处理工具OSMCTools下载安装使用举例(osmconvert命令说明)

OSMCTools安装使用实例 1.Tools2.官网安装步骤3.实际安装步骤3.1 环境3.2 步骤 4.工具使用实例 OpenStreetMap的下载地址:Geofabrik Download Server。 OSMCTools的GitHub地址:https://github.com/ramunasd/osmctools Windows操作系统,可以…

MyBatis之注解开发

除了XML映射方式,MyBatis还支持注解方式实现POJO对象和数据表之间的关联映射,使用注解的方式一般将SQL语句直接写到接口上。与XML的映射方式相比,基于注解的映射方式相对简单。Mybatis提供的注解有: 1.环境准备 1.1 数据库准备…

C语言函数大全-- _w 开头的函数(3)

C语言函数大全 本篇介绍C语言函数大全-- _w 开头的函数 1. _wmkdir 1.1 函数说明 函数声明函数功能int _wmkdir(const wchar_t* dirname);用于创建指定路径名的新目录 参数: dirname : 指向以 null 结尾的宽字符数组,该数组包含要创建的目…

客户管理系统软件怎么用?

阅读本文您将了解:1.客户管理系统的作用;2.客户管理系统软件怎么用;3.客户管理的注意事项。 一、客户管理系统的作用 客户是企业的重要财富,因此客户管理是企业发展过程中至关重要的一部分,那么客户管理怎么做&#…

《编码——隐匿在计算机软硬件背后的语言》精炼——第17章收尾

古之立大事者,不惟有超世之才,亦必有坚忍不拔之志。——苏轼 文章目录 数字计算机硬件软件 数字计算机 数字计算机分为硬件和软件两部分,硬件是组成计算机的设备,软件是输入计算机的指令和数值。之所以将它们区分,是因为相对于硬件而言&…

照片从安卓手机中消失了?让他们恢复回来的几个方法请收好

“我安卓上的所有照片都消失了,我的照片去哪儿了” “我安卓上的所有照片都不见了” “下载的图片从安卓上消失了” …… 您是否遇到类似的问题?导致Android手机照片丢失的原因有很多,例如软件更新、误删、误操作、系统崩溃、应用程序崩溃、…

【算法】——动态规划题目讲解

本期继续为大家带来的是关于动态规划类题目的讲解,对于这类题目大家一定要多加练习,争取掌握。 (一)不同路径 链接如下:62. 不同路径 题目如下: 算法思路: 1. 状态表⽰: 对于这种「…

【FMC200】基于FMC标准的1路CameraLink Full 输出子卡模块

产品概述 FMC200是一款CameraLink发送FMC子卡模块,该模块支持2路CameraLink Base模式或者1路CameraLink Full模式的图像信号输出。板卡具有2个CameraLink端口(SDR26),可以作为模拟相机的输出。 技术指标 图像接口性能&#xff1a…

202305-第二周资讯

山川软件愿为您提供最优质的服务。 您的每一个疑问都会被认真对待,您的每一个建议都将都会仔细思考。 我们希望人人都能分析大数据,人人都能搭建应用。 因此我们将不断完善DEMO、文档、以及视频,期望能在最大程度上快速帮助用户快速解决问…

高效易懂,打造维护性好的Web自动化测试框架PO模式精讲

目录 前言: 一、 PO概述 二、PO何实现于Web框架素自动化测试重中之重。 1.为了保证易维护性和易读性,我们可以在项目中定义一个统一的库,用来存放所有的定位器类。 2.定义一个基础的类,该类用于针对PO的元素定位进行封装。 3…

Visual Studio 2022 17.7 发布首个预览版

Visual Studio 2022 17.7 已发布首个预览版,这个版本有大量社区贡献的新改进,主要改动如下: 生产效率 文件对比功能,可以在 Solution Explorer 中对比不同的文件差异。在资源管理器中右键单击一个文件,然后使用上下文…

Java 中 Token 是什么,有哪些用途

简介 Token 是一种身份验证机制,通常由服务器生成并返回给客户端,客户端在后续的请求中携带 Token,以证明自己的身份。在 Java 中,Token 的应用场景非常广泛,例如用户登录、API 认证、OAuth 授权等等。 在用户登录的…

Hash索引和B+树

Hash索引和B树所有有什么区别或者说优劣呢? 首先要知道Hash索引和B树索引的底层实现原理: hash索引底层就是hash表,进行查找时,调用一次hash函数就可以获取到相应的键值,之后进行回表查询获得实际数据。B树底层实现是多路平衡查…

晨控CK-GW208-EC与欧姆龙PLC工业EtherCAT协议通讯指南

晨控CK-GW208-EC与欧姆龙PLC工业EtherCAT协议通讯指南 EtherCAT 是一种实时以太网络通讯协议,旨在解决传统现场总线系统在数据传输速率和复杂性方面的限制。相比传统现场总线,EtherCAT 的数据传输速率有了极大的提升,同时,EtherC…

借《2023年Q1TikTok电商带货达人趋势分析报告》教你分析TikTok数据报告

现今TikTok的电商业务正进入爆发期。在众多跨境电商的商业营销中,许多商家把TikTok作为重点选择的平台,期望能搭上这波海外流量红利的巨轮。TikTok营销正越来越受商家青睐和使用。那么作为TikTok电商商家,该如何挑选高匹配、高ROI的带货达人&…

公司招了一个00后,以为是个小年轻,没想到人家是个卷王...

公司前段缺人,也面了不少测试,结果竟然没有一个合适的。一开始瞄准的就是中级的水准,也没指望来大牛,提供的薪资也不低,面试的人很多,但平均水平很让人失望。 令我印象最深的是一个00后测试员,…

基于αβ剪枝算法的五子棋

访问【WRITE-BUG数字空间】_[内附完整源码和文档] 五子棋是世界智力运动会竞技项目之一,是一种两人对弈的纯策略型棋类游戏,是世界智力运动会竞技项目之一,通常双方分别使用黑白两色的棋子,下在棋盘直线与横线的交叉点上&#xf…

Husky + lint-staged + ESlint + Prettier(可选) 实现git增量代码lint校验

工具介绍 Husky lint-staged ESlint Prettier(可选) 实现git增量代码lint校验 Husky:一个为 git 客户端增加 hook 的工具,它有一些钩子函数,比如pre-commit、 pre-push等lint-staged: 一个过滤出 git 代码暂存区文件的工具,在…