【嵌入式烧录刷写文件】-1.4-移动Motorola S-record(S19/SREC/mot/SX)中指定地址范围内的数据

news2024/12/22 18:48:22

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

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

S0110000486578766965772056312E30352EA6
S123910058595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F70717273747576775B
S123912078797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F90919293949596973B
S123914098999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B71B
S1239160B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7FB
S1239180D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7DB
S12391A0F8F9FAFBFCFDFEFF000102030405060708090A0B0C0D0E0F1011121314151617BB
S12391C018191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F30313233343536379B
S10B91E038393A3B3C3D3E3FA7
S9030000FC

目录

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

1.1 “自动”完成移动

1.2 “手动”完成移动

2 Command line命令行说明

结尾


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

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

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

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

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

1.1 “自动”完成移动

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

图1-1

Remap_S19_File.bat摘录:

@echo off

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

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

Rem Input_S19_File is a source file

set "Input_S19_File=D:\Remap_S19\Application.s19"

Rem Output_S19_File is an output file

set "Output_S19_File=D:\Remap_S19\Output.s19"

Rem Move the data in the source address range to an "empty, unpopulated" destination address range

%HexViewPath% /S %Input_S19_File% /remap:0x9100-0x9104,0xA000,0x5,0x10000 /XS:32 -o %Output_S19_File%

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

S12391055D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7CB6
S12391257D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C96
S12391459D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBC76
S1239165BDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDC56
S1239185DDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFC36
S12391A5FDFEFF000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C16
S12391C51D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3CF6
S10691E53D3E3FC9
S108A00058595A5B5C95
S9030000FC

 

1.2 “手动”完成移动

打开Vector Hexview工具打开S19文件,在菜单栏中依次选择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/543985.html

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

相关文章

调用返回风格

主程序子程序 面向过程 单线程控制,把问题划分为若干个处理步骤,构件即为主程序和子程序,子程序通常可合成为模块。过程调用作为交互机制,即充当连接件的角色。调用关系具有层次性,其语义逻辑表现为主程序的正确性取…

nodejs微信小程序 vue+uniapp停车场车位管理系统sringboot+python

使用微信小程序进行应用开发,使用My SQL软件搭建数据库,管理后台数据并使用Java语言进行程序设计,借鉴国内现有的停车场管理系统,在他们的基础上进行增减和创新,使用Photoshop完成升降式停车场管理系统的界面部件设计&…

Python学习30:存款买房(C)

描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬ 你刚刚大学毕业,…

龙蜥开发者说:构建软件包?不,是构建开源每一个角落!| 第 20 期

「龙蜥开发者说」第 20 期来了!开发者与开源社区相辅相成,相互成就,这些个人在龙蜥社区的使用心得、实践总结和技术成长经历都是宝贵的,我们希望在这里让更多人看见技术的力量。本期故事,我们邀请了龙蜥社区开发者任博…

JavaWeb-Ajax的学习

Ajax 今日目标: 能够使用 axios 发送 ajax 请求熟悉 json 格式,并能使用 Fastjson 完成 java 对象和 json 串的相互转换使用 axios json 完成综合案例 概述 AJAX (Asynchronous JavaScript And XML):异步的 JavaScript 和 XML。 我们先来…

LED显示屏的部件组成

LED显示屏通常由以下几个主要部件组成: LED模块:LED模块是构成LED显示屏的基本单元,包含多个LED发光元件以及相应的电路和连接器。LED模块通常以方形或长方形的形式存在,可以根据需要组合成各种尺寸和形状的显示屏。免费送你Led模…

【2023秋招】华为od-4.14三道题思路题解

2023大厂笔试模拟练习网站(含题解) www.codefun2000.com 最近我们一直在将收集到的各种大厂笔试的解题思路还原成题目并制作数据,挂载到我们的OJ上,供大家学习交流,体会笔试难度。现已录入200道互联网大厂模拟练习题&…

Go Etcd 分布式锁实战

1 分布式锁概述 谈到分布式锁,必然是因为单机锁无法满足要求,在现阶段微服务多实例部署的情况下,单机语言级别的锁,无法满足并发互斥资源的安全访问。常见的单机锁如Java的jvm锁Lock、synchronized,golang的Mutex等 对…

mysql8之前如何实现row_number() over(partition by xxx order by xxx asc/desc)

文章目录 背景问题分析难点解决方案:总结公式多字段作为分组如何处理 背景 最近笔者在进行对广告业务的数据统计时遇到这种情况,业务方嫌弃离线数仓太慢,又无需太高的实时性本该使用即席查询的OLAP去做,但是当前公司调研的OLAP还…

Unity 2022 版本 寻路 NavMesh

首先装包 先给地图 和 阻挡 设置为静态 然后给地上行走的地方 添加组件 可以直接bake 然后会显示蓝色的可行走路径 player 添加插件 然后给角色添加脚本 using System.Collections; using System.Collections.Generic; using UnityEngine;public class PlayerMove : Mon…

SpringBoot自动配置底层源码解析

1,配置分类 对于一个Spring项目,主要就是有两种配置 一种是类似端口号、数据库地址、用户名密码等一种是各种Bean,比如整合Mybatis需要配置的MapperFactoryBean,比如整合事务需要配置DataSourceTransactionManager SpringBoot中…

Github copilot几个使用技巧,自动补全代码

一、常用快捷键 快捷键含义tab应用提示代码esc拒绝提示代码ctrlenter打开提示面板选用10个意见代码中的一个Alt]切换建议代码Alt ->逐个应用代码 这些快捷键其实就是红色框的功能,也可以通过鼠标点击操作 下面具体介绍一下常用的三个功能: 1. tab自…

Maven——Maven仓库

1.概念 2.远程仓库 3.本地仓库 4.仓库配置和JDK配置 配置远程仓库&#xff1a; <mirror><id>alimaven</id><mirrorOf>central</mirrorOf><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/publ…

EAI(Enterprise Application Integration,企业应用集成)

目录 1.表示集成&#xff08;界面集成&#xff0c;iframe&#xff09; 2.数据集成&#xff08;中间件&#xff0c;数据库上面一层&#xff09; 3.控制集成&#xff08;API&#xff09; 4.业务流程集成 5.企业之间的应用集成 ​最后推荐一个图片转文字网站 最后推荐一个抖音去…

PowerShell if 使用参考

if 参考 与许多其他语言一样&#xff0c;PowerShell 提供了用于在脚本中有条件地执行代码的语句。 其中一个语句是 If 语句。 今天&#xff0c;我们将深入探讨 PowerShell 中最基本的命令之一。 Powershell 下载&#xff0c;参考 PowershellPowershell 相关文档&#xff0c;…

常用在线工具,非常实用,快收藏起来!

作者丨黑蛋 今天给大家介绍一些常用到的在线工具&#xff0c;能方便我们的日常学习&#xff1a; 编码工具&#xff1a; AES加密解密&#xff1a;http://www.jsons.cn/aesencrypt/ DNA编码解码&#xff1a;https://web.expasy.org/translate/ 双16进制编码解码&#xff1a;ht…

素材发布资源下载 OSS存储+用户组打折+下载限速 V1.1.3(one_market)

插件简介 插件用于各类 资源下载站、数字产品下载站、作品模型下载网站、数字市场网站 等 所有插件都使用管理控制台进行管理,方便后续的统一管理。 管理操作使用AJAX交互,站长管理更加高效快捷。让站长体验更加方便、快捷、高效的管理操作 插件管理功能 全局设置 [基本设置]…

[AI图片生成]自己搭建StableDiffusion安装过程

前言 最近尝试玩玩AI图片生成,安装一路坑 出个一路安装成功的记录 开始 找个空间大的盘符,这玩意将来会很占空间.一个模型大约5g左右,你可能还会装很多模型创建个目录,路径不要有中文安装git 下载地址 详细教程 (如果有忽略)下载 Python3.10.0,记得勾选添加到环境变量选项,安…

看板管理解析:如何通过看板提升项目管理效率?

在目前市面上的项目管理工具中&#xff0c;项目看板功能基本上成为了标配。看板作为敏捷的项目管理工具&#xff0c;可以帮助我们将项目工作可视化展现。 项目看板的作用 1&#xff0c;提高团队信息流动性&#xff1a;看板工具可以及时的传递项目工作中的最新讯息&#xff0c;保…

CC++动态内存管理

C&C动态内存管理 C语言动态内存管理 关于C语言动态内存管理实际上就三个函数malloc和calloc以及realloc&#xff0c;更多的是去理解&#xff0c;用C语言去实现数据结构阶段如果细心你就会可以发现&#xff0c;所有的数据结构都是使用动态内存管理的方式&#xff0c;在堆区…