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实战系列导读

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【自撰写,国际象棋入门】第1课、棋盘和棋子

第1课 棋盘和棋子 一、国际象棋的棋盘 国际象棋的棋盘为一8乘8的黑、白格相间的棋盘,8条竖线的编号分别为A-H,8条横线的编号分别为1-8,在记谱时用竖线编号横线编号的方式表示棋盘上的格子,例如a1格、h8格等.棋盘上有几条重要的大…

抖音 UG 社招一面算法原题

史上最严热点新机制 或许是受到前段时间「巴黎丢作业」的影响,抖音近日(5月27日)实施了新的热点内容核实机制。 具体来说,若用户在抖音以热点事件当事人身份发声,抖音将联系当事人进行身份认证。 逾期未认证的用户&…

基于springboot实现网络海鲜市场系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现网络海鲜市场系统演示 摘要 计算机网络发展到现在已经好几十年了,在理论上面已经有了很丰富的基础,并且在现实生活中也到处都在使用,可以说,经过几十年的发展,互联网技术已经把地域信息的隔阂给消除…

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

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

大学生Python自救课程总结

因为一些事情的缘故,我已经几乎没有更新很久了,然后现在快到期末了,不知道各位学习python的同志们慌不慌【坏笑】。 本学期,我只是简单的讲了讲python的基础用法。当然,可能有些地方总结的并不全面,很多知…

MyBatis 的在使用上的注意事项及其辨析

1. MyBatis 的在使用上的注意事项及其辨析 文章目录 1. MyBatis 的在使用上的注意事项及其辨析2. 准备工作3. #{ } 与 ${ } 的区别和使用3.1 什么情况下必须使用 ${ }3.1.1 拼接表名3.1.2 批量删除3.1.3 模糊查询3.1.3.1 使用 ${ }的方式3.1.3.2 使用 #{ } 的方式 4. typeAlias…

童心与美食的邂逅,蒙自源邀你共绘梦想画卷

激情夏日所带来的热情如同孩子们的梦想一样炽热而澎湃。为了庆祝六一儿童节,从5月25日起,蒙自源旗下各大门店准备了一系列的活动,以迎接这个属于孩子们的特别日子。 特别活动期间,蒙自源特意为孩子们推出了一系列独具特色的美食。…

Cobalt_Strike(CS)渗透工具安装使用到免杀上线

Cobalt_Strike(CS)安装到免杀上线 原文链接: cs免杀上线 点我 https://mp.weixin.qq.com/s?__bizMzkxNDY5NzMxNw&mid2247483862&idx1&snc6b4da3ce5772a075431098227397baa&chksmc16b3cdcf61cb5ca06f61513…

Flutter开发效率提升1000%,Flutter Quick教程之在特定位置插入Widget

当我们要将Widget插入一个Column,Row或者Listview等有多个子元素的Widget的时候,有两种情况,一种是顺序插入,一种是非顺序插入。顺序插入就是Widget的排列顺序和插入顺序相同,非顺序插入则不是。 一,顺序插入。如图所…

树莓派通过PCA9685控制FT2331M舵机(Python)

很久之前整过PWM舵机,刚好最近师弟需要,并且网上现有教程不是很完整,就整理一下。方便交流以及后面回顾。 首先要明确,在这个控制方式中需要用到哪些方面: 1、树莓派与PCA9685之间使用I2C通信 2、PCA9685通讯协议 3…

牛客网刷题 | BC113 数字三角形

目前主要分为三个专栏,后续还会添加: 专栏如下: C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读! 初来乍到,如有错误请指出,感谢! 描述 KiKi学习了循环&am…

【Text2SQL 论文】DBCopilot:将 NL 查询扩展到大规模数据库

论文:DBCopilot: Scaling Natural Language Querying to Massive Databases ⭐⭐⭐⭐ Code: DBCopilot | GitHub 一、论文速读 论文认为目前的 Text2SQL 研究大多只关注具有少量 table 的单个数据库上的查询,但在面对大规模数据库和数据仓库的查询时时却…

RHEL7.9修改分区

系统RHEL7.9 他因为安装软件,需要修改分区 进入超级用户root,输入lsblk 查看分区,可见465.8G系统盘sda下有三个物理卷,其中sda3下/home有410.6G,需要这部分拆分出200G软件和100G的数据库分区 备份/home 目录下文件 c…

自动化办公02 用openpyxl库操作excel.xlsx文件(新版本)

目录 一、文件读操作 二、文件写操作 三、修改单元格样式 openpyxl 是一个处理Excel表格的第三方库。openpyxl 库可以处理Excel2010以后的电子表格格式,包括:xlsx/xlsm/xltx/xltm。 openpyxl教程 一、文件读操作 工作簿(workbook): excel文件 工作表…

LNMP网站架构部署

目录 一、LNMP架构部署(源码编译安装) ①实验准备 ②安装nginx服务 ③安装mysql服务,配置文件 ④安装php服务,修改配置文件 ⑤验证 静态页面测试访问 动态页面测试访问 调用数据库测试 二、LNMP架构应用实例 1.论坛网站…

南京观海微电子---简单驱动电路设计用NMOS防反接,性价比比较高?

来看看NMOS的防反保护电路有什么不同? 简单的栅极驱动电路设计,我们会使用NMOS来作防反电路,原因是成本较低。 PMOS一般会放置在电路的高边,NMOS则是在低边放置。两者的功能类似。不过,NMOS的防反结构,它…

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

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

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

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

笔试训练2

牛客.单词搜索 刚开始我就想是搜索,但是不清楚bfs还是dfs更好,我尝试了bfs但是队列存东西,没有我想象的那么好写,所以我决定试试dfs import java.util.*;public class Solution {static int m 0;static int n 0;static int […

【AIGC】FaceChain:发挥生成式内容的无限可能性

基于图像生成的个性化肖像框架 摘要 FaceChaine提供了一系列的生成方案,通过少量的图像输入,就能生成逼真的个性化肖像。它是一个个性化肖像生成框架,包含丰富的人脸感知相关的模型,例如人脸检测,深度人脸向量提取&am…