Matlab替换A2L文件中的地址生成完整A2L文件的方法小结
引言
基于模型的开发(MBD)方式在汽车电子嵌入式软件行业中发展迅速。关于其N多好处不去瞎说了,自然有mathwork的工作人员去宣传。基于模型的开发在模型生成代码的过程中,如果软件工程师在matlab开发环境中定义了变量的相关属性,应用层软件中定义的观测量和表达量将生成在一个matlab修改配置文件定义格式的A2L文件(也可以自己定义其生成格式,具体可参见另一篇文章:https://blog.csdn.net/weixin_43930342/article/details/84936156)。
如果采用matlab默认的配置生成的A2L,此时生成的A2L文件中变量的地址为空且没有包含控制器与上位机通讯的CCP配置的头文件部分(涉及BSW底层CCP协议的实现)。如果要运用此A2L文件进行标定测试则需要完成上述两部分内容。
matlab提供了一些方法,现将其中两种比较常用的方法介绍如下:
一、基于elf文件生成A2L
编译器在完成C代码的编译链接过程后将会生成可刷写的文件(.S19或者.hex)。随之一起生成的还包括map文件以及elf文件。
关于elf文件的介绍可百–度。
输入文件:c代码编译后生成的elf文件,matlab生成A2L文件,CCP协议相关的header文件
m语言代码:
A2l_Raw=[build_root_path,'\A2L\Input\RawA2L\EC30.a2l']; %build_root_path is the project path
Elf_file=[build_root_path,'\Bin\YX_EC30.elf'];
rtw.asap2SetAddress(A2l_Raw,Elf_file);
此方法最为简单,调用matlab自带函数rtw.asap2SetAddress即可。由于elf文件不易打开,所以不易检查替换地址的准确性。
二、基于map文件生成A2L
此方法中的输入文件与ELF文件相同,只是输入的elf文件变成map文件。
直接上代码:
此部分代码为调用asap2post函数的使用方法
ASAP2File = 'C:\MyCowin_Work\Matlab_Project\TEST\TEST\EC30.a2l';
MAPFile = 'C:\MyCowin_Work\Matlab_Project\TEST\TEST\YX_EC30.map';
asap2post(ASAP2File, MAPFile);
接下来附上asap2post函数代码
可以通过修改regexp正则表达式内容匹配不同的编译器生成的不同格式的map文件。
核心正则表达式匹配代码:
function MAPFileHash = getSymbolTable1(MAPFileString) pairs = regexp(MAPFileString, '\n\s*(Ve\w{4}_\w+|Ke\w{4}_\w+|Kt\w{4}_\w+|Ka\w{4}_\w+|ka\w{4}_\w+)\s+([0-9a-fA-F]+)\W','tokens');%match windriver compiler MAP file% Store symbol names and corresponding symbol values into a hash tableMAPFileHash = containers.Map;for i = 1:length(pairs)MAPFileHash(pairs{i}{1}) = pairs{i}{2};end
end
Matlab替换A2L文件中的地址生成完整A2L文件的方法小结相关推荐
- qmoc文件_Qt中Q_OBJECT与生成的moc文件的作用
Qt中Q_OBJECT与生成的moc文件的作用 一.先来了解Q_OBJECT 只有继承了QObject类的类,才具有信号槽的能力.所以,为了使用信号槽,必须继承QObject.凡是QObject类(不 ...
- matlab将求解值导出数据,MATLAB之将mat中的数据导出到Excel文件
MATLAB之将mat中的数据导出到Excel文件 原始文档: https://www.yuque.com/lart/tools/cnedve 文章目录 MATLAB之将mat中的数据导出到Excel ...
- 批量替换一个文件中的文件名,例如将文件夹中s**_abnormal.jpg文件修改为s**_abnor.jpg
文章涉及到StringAbout::开头的函数具体实现参考:string与Cstring字符串类型转换和其他操作总结 CProcessFile::开头的函数实现参考:文件读写操作工具类CProcess ...
- java 更改excel文件名称_根据Excel文件中的内容,修改指定文件夹下的文件名称
问题:根据Excel文件中内容,把文件名称由第2列,改为第1列.比如:把文件"123.jpg"修改为"1.jpg". aaarticlea/png;base64 ...
- python读txt文件 数组-python将txt等文件中的数据读为numpy数组的方法
实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...
- 在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你
在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你 目录 在word文档中如何自动生成目录,两种方法制作目录,总有一种适合你 1.文章中的标题较多,每个单独调整格式太费劲,这里我们用一 ...
- php 多个文件,PHP实现将多个文件中的内容合并为新文件的方法示例
本文实例讲述了PHP实现将多个文件中的内容合并为新文件的方法.分享给大家供大家参考,具体如下: function test() { $hostdir= iconv("utf-8", ...
- JS文件中加载jquery.js(JS文件添加其他JS文件)
最近有一个需求: 1.在一个html中只能引入一个JS文件 不能有JS代码和其他JS文件的引入 2.这个JS文件中 还要引入其他的JS文件 3.所有JS功能都写在这个JS文件中 这些代码用到了jque ...
- python怎么读取txt文件数据保存数组中-python将txt等文件中的数据读为numpy数组的方法...
实际中,很多数据都是存为txt文件.csv文件等,但是在程序中处理的时候numpy数组或列表是最方便的.本文简单介绍读入txt文件以及将之转化为numpy数组或列表的方法. 1 将txt文件读为lis ...
最新文章
- 互联网协议 — HTTP/3 超文本传输协议第 3 版
- 智能拨号的联系人快速模糊匹配的算法
- springmvc二十三:日期格式化
- php 判断PC 还是 telphone 访问网站
- Android Flutter 内存机制初探
- android webview 获取图片,Android – 保存WebView中的图片
- indices should be one-based and in ascending order
- python 链表倒数第k个节点_链表-删除单链表中倒数第k个节点
- android最简单的更换主题,教你更换Android手机主题
- 汇编学习--7.10--程序编写
- kitti数据集坐标转换
- VS2010 配置PCL1.6.0AII in one 无法启动程序ALL_BUILD
- Mac Os 安装配置Maven以及IntelliJ IDEA Maven使用
- JN5169 Bootload 烧录过程和DIY烧录程序(一)
- 宝塔面板网站解决跨域问题
- 3W 字 Docker 容器技术大科普
- jQuery 实现消消乐
- 2011年养成的一个工作习惯
- 最快速的文件传输软件,解析镭速文件传输软件
- java thread 匿名_Java 匿名内部类