XCP协议系列介绍02-基于ASAP2 Tool-Set生成A2l介绍

本文框架

  • 1. 前言
  • 2. ASAP2 Tool-Set系统介绍
    • 2.1 ASAP2 Creator介绍
    • 2.2 ASAP2 Updater介绍
    • 2.3 ASAP2 Merger介绍
    • 2.4 ASAP2 Comparer及Checker介绍
    • 2.5 ASAP2 Modifier介绍
    • 2.6 ASAP2 Studio介绍
  • 3. 项目实操说明
    • 3.1 项目实操建议
    • 3.2 工具下载地址及使用

1. 前言

在XCP观测及标定整个开发过程中,A2l文件的生成是非常重要的一环,在前面的文章中也介绍了一些A2l相关的介绍,比如:
A2l文件的格式解析,XCP实战系列介绍02-A2L文件详尽解析,
基于ASAP2 Editor生成A2l文件过程介绍XCP实战系列介绍07-使用ASAP2 Editor生成A2l文件详解,

本文将基于vector公司的ASAP2 Tool-Set工具介绍A2l文件的生成及相关的工具进行功能性介绍,后续有时间会在实战篇中更新一篇如何在项目中更好应用及配套脚本开发的文章。

2. ASAP2 Tool-Set系统介绍

ASAP2 Tool-Set 工具是由一系列脚本工具组成,包括:ASAP2 Creator, ASAP2 Updater, ASAP2
Merger, ASAP2 Comparer, ASAP2 Checker, ASAP2 Modifier and ASAP2 Studio.
各工具使用的前后顺序如下图所示:
在这里插入图片描述

2.1 ASAP2 Creator介绍

ASAP2 Creator 根据代码中的特殊注释生成一个ASAP2 片段文件,注意这里需要根据工具要求在代码中添加特殊的注释,比如对于标定量,观测量等对应的注释类型是不同的,这里生成的A2l中变量的地址默认为0;
在这里插入图片描述
在操作前,代码中特殊标记添加特殊的记号,脚本通过识别这些符号来对应的生成,例如对于一个uint8类型的观测量sample1 需要添加的内容如下

/* 
@@ SYMBOL = sample1 
@@ A2L_TYPE = MEASURE 
@@ DATA_TYPE = UBYTE 
@@ END 
*/
uint8 sample1;

对于变量类型A2L_TYPE,如观测/标定/curve/map/String等需要根据实际需要进行配置,也可以对变量配置特殊的Compu_Method,另外在ASAP2Creator.ini文件中也可以对生成的规则进行单独配置。

2.2 ASAP2 Updater介绍

ASAP2 Updater 会基于编译生成的.map文件更新A2l文件中变量或者的地址信息;
在这里插入图片描述
在这里可以导入.map文件或.elf文件,选择不同的文件类型需要在Updater.ini中对MAP_FORMAT进行配置。

2.3 ASAP2 Merger介绍

ASAP2 Merger 可以将多个A2l文件合并到一起,比如对于开发中应用层可能会基于matlab模型生成一个a2l,BSW部分开发也会生成一个A2l,这样就可以基于ASAP2 Merger将两个A2l文件合并到一起,生成一个最终可用的A2l文件;
在这里插入图片描述

2.4 ASAP2 Comparer及Checker介绍

ASAP2 Comparer 可以用于比较两个A2l文件;

ASAP2 Checker 可用于校验A2l文件,对给定的ASAP2文件执行语法检查及合理性检查;

目前两个工具已经被集成在ASAP2 Studio中,可以通过ASAP2 Studio对A2l文件进行检查及对比。

2.5 ASAP2 Modifier介绍

ASAP2 Modifier 可对A2l文件进行修改;
在这里插入图片描述

2.6 ASAP2 Studio介绍

ASAP2 Studio 相对于项目的众多脚本文件,其是一个可视化的工具,A2l中的所有的信息都能被看到,目前也集成了一些前面的功能,例如在15.0版本中集成了ASAP2 Checker,ASAP2 Modifier及ASAP2 Updater.
在这里插入图片描述

3. 项目实操说明

3.1 项目实操建议

在实际项目中推荐大家按工具的使用流程,熟悉工具的约束及使用规则,毕竟ASAP2 Tool-Set是封装好的工具,先熟悉规则再应用落地;

在开发中可开发配套的代码symbol(特殊标记)生成的脚本,再将脚本进行封装,后面也可以跟大家分享一下这块的开发思路;

最后一个就是在特殊标记添加中,可能会遇到很多复杂特殊处理,如结构体多层嵌套,特殊计算方法的使用等,在使用该工具时可能会稍微复杂些。

3.2 工具下载地址及使用

工具下载链接:
Vector下载中心 ASAP2 Tool-Set

在下载安装完成后可以在安装文件夹中看到对应的demo示例,如:C:\Program Files\Vector\ASAP2 Tool-Set 15.0\Examples

另外在安装文件夹中也有对工具的详细使用指导,如配置项设置,不同类型的变量如何添加对应的symbol信息等,本文仅仅是简单的抛砖引玉,帮大家推荐一个额外的A2l生成及检查方案。

注:工具的使用需要跟vector申请购买相应的license。

最后如您对XCP实战部分有其他需求,可移步到XCP实战专栏,看是否有您需要的内容,实战系列导读快速链接:XCP实战系列导读

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

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

相关文章

【计算机组成原理】1.1计算机的软硬件组成(记录学习计算机组成原理)

文章目录 1.早期的冯诺依曼机2.早期冯诺依曼机的基本运行框图3.早期冯诺依曼机的特点4.现代计算机的结构5. 小结 本次及以后有关于计算机组成原理的文章,旨在做学习时的记录和知识的分享。不论是应对期末考试,还是考研都是很有帮助的。希望大家多多支持更…

基于Android Studio 实现的鲜花(购物)商城App--原创

一、高质量源码(非开源) 关注公众号:《编程乐学》 后台回复:24060201 二、项目演示视频 基于Android Studio 实现的鲜花商城App--原创 三、开发环境 四、设计与实现 1.启动页 启动页我们需要用到倒计时和跳转功能。 2.注册登录 …

chat3-Server接收数据并转发给所有Client

本文档描述了Server端接收到Client的消息并转发给所有客户端或私发给某个客户端 服务端为当前客户端创建一个线程,此线程接收当前客户端的消息并转发给所有客户端或私发给某个客户端 一、Server: 1.1.Server端添加将消息转化给客户端的代码。有用集合保存输出流,…

学习小记录——python函数的定义和调用

今日小好运,未来有好运。🎁💖🫔 分享个人学习的小小心意,一起来看看吧 函数的定义 函数通常来说就是带名字的代码块,用于完成具体的工作,需要使用的时候调用即可,这不仅提高代码的…

[数据集][目标检测]旋风检测数据集VOC+YOLO格式157张1类别

数据集格式:Pascal VOC格式YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):159 标注数量(xml文件个数):159 标注数量(txt文件个数):159 标注类别…

音频信号分析与实践

音频信号分析与实践课程,方便理解音频信号原理和过程 1.音频信号采集与播放 两种采样模式和标准的采样流程 人说话的声音一般在2kHz一下: 采样频率的影响:采样率要大于等于信号特征频率的2倍;一般保证信号完整,需要使用10倍以上的…

unity2020打包webGL时卡进程问题

我使用的2020.3.0f1c1,打包发布WEB版的时候会一直卡到asm2wasm.exe这个进程里,而且CPU占用率90%以上。 即使是打包一个新建项目的空场景也是同样的问题,我尝试过一直卡在这里会如何,结果还真打包成功了。只是打包一个空场景需要20…

..\MYLIB\modbus.c(49): error: #84: invalid combination of type specifiers

在keil中添加相应的文件出现以下问题时 ..\MYLIB\modbus.c(49): error: #84: invalid combination of type specifiers 是由于:在定义的函数体的前面有一个变量类型

2024年西安交通大学程序设计竞赛校赛

2024年西安交通大学程序设计竞赛校赛 文章目录 2024年西安交通大学程序设计竞赛校赛D瑟莉姆的宴会E: 雪中楼I: 命令行(待补)J:最后一块石头的重量(待补)K: 崩坏:星穹铁道(待补)M:生命游戏N: 圣诞树 D瑟莉姆的宴会 解题思路: ​ …

模拟建造游戏:城市:天际线Cities: Skylines for Mac/win中文原生版

《城市:天际线》(Cities: Skylines)是一款由Colossal Order开发,Paradox Interactive发行的城市建设模拟游戏。这款游戏于2015年首次发布,迅速赢得了玩家和评论家的好评,并成为了备受欢迎的城市建设游戏之一…

java代码审计之fastjson反序列化漏洞

fastjson反序列化漏洞分析 Fastjson 是一个 Java 库,可以将 Java 对象转换为 JSON 格式,当然它也可以将 JSON 字符串转换为 Java 对象。Fastjson 可以操作任何 Java 对象,即使是一些预先存在的没有源码的对象。该产品主要提供了两个接口&…

STM32作业实现(六)闪存保存数据

目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…

Mistral大模型:Getting Started With Mistral

Getting Started With Mistral 本文是学习 https://www.deeplearning.ai/short-courses/getting-started-with-mistral/ 这门课的学习笔记。 What you’ll learn in this course In this course, you’ll access Mistral AI’s collection of open source and commercial mod…

物联网实战--平台篇之(十二)设备管理前端

目录 一、界面演示 二、设备列表 三、抖动单元格 四、设备模型 五、设备编辑 本项目的交流QQ群:701889554 物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html 物联网实战--驱动篇https://blog.csdn.net/ypp240124016/category_12631333.htm…

Java利用POI绘制表格

前提需求 最近公司要求写一些记录的表格,并且带有导出功能。再深入学习后,表格的底层其实就是list遍历塞值,导出功能的话可以由前端,后端实现,但技多不压身嘛,这里我自己就写了后端的导出功能,…

day-37 电话号码的字母组合

思路 设置一个char型的二维数组,每次从号码对应的子母中选出一个,拼接在一起即可 解题方法 注意:有的数字对应三个字母,有的对应四个字母 Code class Solution {public char arr[][]{{a,b,c, },{d,e,f, },{g,h,i, },{j,k,l, },…

虚拟现实环境下的远程教育和智能评估系统(三)

本周继续进行开发工具的选择与学习,基本了解了以下技术栈的部署应用; 一、Seata: Seata(Simple Extensible Autonomous Transaction Architecture)是一款开源的分布式事务解决方案,旨在提供高性能和简单易…

力扣575. 分糖果

题目: Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。 医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n / 2 即可(n 是一个偶数)。Alic…

智能监控技术助力山林生态养鸡:打造智慧安全的养殖新模式

随着现代科技的不断发展,智能化、自动化的养殖方式逐渐受到广大养殖户的青睐。特别是在山林生态养鸡领域,智能化监控方案的引入不仅提高了养殖效率,更有助于保障鸡只的健康与安全。视频监控系统EasyCVR视频汇聚/安防监控视频管理平台在山林生…

攻防世界---misc---心仪的公司

1、题目描述 2、下载附件是一个流量包 方法一: 1、用winhex分析,ctrlf搜索flag 2、尝试将搜索到的flag拿去提交,但是不对 3、担心flag不是长flag,做题多了你就会发现有些flag会是fl4g这种,为了可以稍微全面一点&…