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.rhkb.cn/news/338663.html

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

相关文章

计算机网络期末复习(1)计算机网络在信息时代对的作用 计算机网络的定义和分类 三种交换方法

计算机网络在信息时代扮演着至关重要的角色,它极大地改变了我们生活、工作和学习的方式。 计算机网络在信息时代的作用 信息共享与传播:计算机网络使全球范围内的信息快速共享成为可能,无论是新闻、学术研究还是娱乐内容,都可以…

【C++】类和对象——构造和析构函数

目录 前言类的六个默认构造函数构造函数1.构造函数的概念2.构造函数的特性 初始化列表1.构造函数整体赋值2.初始化列表 析构函数1.析构函数的概念2.析构函数的特性 前言 类和对象相关博客:【C】类和对象   我们前面一个内容已经讲了关于类好对象的初步的一些知识&…

【MyBatis】零基础从入门到进阶(源码级深入详解)

1 MyBatis概述 1.1 框架 ● 在⽂献中看到的framework被翻译为框架 ● Java常⽤框架: ○ SSM三⼤框架:Spring SpringMVC MyBatis ○ SpringBoot ○ SpringCloud ○ 等。。 ● 框架其实就是对通用代码的封装,提前写好了⼀堆通用…

数据库系统概论(个人笔记)(第三部分)

数据库系统概论(个人笔记) 文章目录 数据库系统概论(个人笔记)3、SQL介绍3.1 SQL查询语言概述3.2 SQL数据定义3.3 SQL查询的基本查询结构3.4 其他基本操作3.5 设置操作3.6 空值3.7 聚合函数3.8 嵌套子查询3.9 数据库的修改 3、SQL…

看车牌识别API如何应用到实际

车牌识别技术作为一种先进的识别系统,在现代城市的交通管理和安全领域扮演着日益重要的角色。本文将深入探讨车牌识别API 接口在智能停车、安全监控以及数据分析等方面的具体应用。通过详细研究这些应用场景,我们可以更好地理解这项技术如何提升交通流畅…

Laravel和ThinkPHP框架比较

一、开发体验与易用性比较 1. 代码可读性: - Laravel以其优雅的语法和良好的代码结构著称,使得代码更加易读易懂。 - 相比之下,ThinkPHP的代码可读性较为一般,在一些复杂业务场景下,可能会稍显混乱。 让您能够一站式…

WordPress中借助Table of Contents Plus+Widget Options插件,实现仅在文章侧边栏显示文章目录的功能

本文转自博主的个人博客:https://blog.zhumengmeng.work,欢迎大家前往查看。 原文链接:点我访问 序言:今天心血来潮,写了一篇文章,忽然发现自己的文章极少有目录,这对于长文章的阅读来说是十分不利的&#…

Day 10:100322. 删除星号以后字典序最小的字符串

Leetcode 100322. 删除星号以后字典序最小的字符串 给你一个字符串 s 。它可能包含任意数量的 ‘’ 字符。你的任务是删除所有的 ’ 字符。 当字符串还存在至少一个 ‘*’ 字符时,你可以执行以下操作: 删除最左边的 ‘*’ 字符,同时删除该星号…

STM32(十):SPI (标准库函数)

前言 上一篇文章已经介绍了如何用STM32单片机中USART通信协议来串口通信,并向XCOM串口助手发送信息。这篇文章我们来介绍一下如何用STM32单片机中SPI接口来实现LED的闪亮并玩转WS2812B灯带。 一、实验原理 串行通信之前的博客里有所介绍,可以查看以下…

python中利用cartopy库绘制SST图像

1. Cartopy简介 Cartopy 是一个开源的 Python 库,用于绘制地图和地理数据分析。它结合了 matplotlib 的绘图功能和 shapely、pyproj 等库的地理空间数据处理能力,为用户提供了在地图上可视化数据的强大工具。 以下是 Cartopy 的一些主要特点和功能&#…

2、浮动的用法特点,解决父元素高度塌陷解决

一、浮动 用法:浮动就是使用float样式,使元素脱离文档流。属性值有三个:none默认left right 特点: 常用于文字环绕图片浮动的元素脱离文档流影响其他元素排列造成父元素高度塌陷 1、一旦元素设置了浮动,元素就会脱离…

Python知识点14---被规定的资源

提前说一点:如果你是专注于Python开发,那么本系列知识点只是带你入个门再详细的开发点就要去看其他资料了,而如果你和作者一样只是操作其他技术的Python API那就足够了。 在Python中被规定的东西不止有常识中的那些关键字、构造器等编程语言…

汇编原理 | 二进制、跳转指令、算数运算、

一.二进制 two complement reprentation(补码) 二进制的运算: 6的二进制 0110 -6的二进制 如何表示? 四个bit的第一个bit表示符号:1负0正 -6表示为1010 解释: 0 0000 1 0001 -1 1111(由 …

自然语言处理(NLP)—— 置信度(Confidence)

1. 置信度(Confidence)的概念 置信度(Confidence)在机器学习和统计中通常指一个模型对其做出的预测是正确的确信程度。在分类任务中,置信度通常由模型赋予特定类别的概率值来表示。例如,在文本分类或实体识…

dm8 什么时候视图中统计的内存会超过OS

v$bufferpool和v$mem_pool视图记录着DMSERVER各组件的内存占用量。理论上跟OS看到的保持一致。但实际大多数场景下,OS中看到的数据远大于视图中的统计。这里面可能有内存泄漏的原因。不过也有的时候视图中的统计数据超过OS。下面就是这种情况: 上图中红线…

Vue插槽与作用域插槽

title: Vue插槽与作用域插槽 date: 2024/6/1 下午9:07:52 updated: 2024/6/1 下午9:07:52 categories: 前端开发 tags:VueSlotScopeSlot组件通信Vue2/3插槽作用域API动态插槽插槽优化 第1章:插槽的概念与原理 插槽的定义 在Vue.js中,插槽(…

【OpenHarmony】TypeScript 语法 ④ ( 函数 | TypeScript 具名函数和匿名函数 | 可选参数 | 剩余参数 | 箭头参数 )

文章目录 一、TypeScript 函数1、TypeScript 具名函数和匿名函数2、TypeScript 函数 与 JavaScript 函数对比3、TypeScript 函数 可选参数4、TypeScript 函数 剩余参数5、TypeScript 箭头函数 参考文档 : <HarmonyOS第一课>ArkTS开发语言介绍 一、TypeScript 函数 1、Typ…

【Hive SQL 每日一题】统计指定范围内的有效下单用户

文章目录 测试数据需求说明需求实现 前言&#xff1a;本题制作参考牛客网进阶题目 —— SQL128 未完成试卷数大于1的有效用户 测试数据 -- 创建用户表 DROP TABLE IF EXISTS users; CREATE TABLE users (user_id INT,name STRING,age INT,gender STRING,register_date STRING…

LLM背后的基础模型2:Transformer的组成模块

Transformer是一种先进的语言模型&#xff0c;它在预测下一个单词或标记方面与传统的语言模型有所不同&#xff0c;但仍然遵循相同的基本原理。Transformer通过一系列复杂的步骤&#xff0c;将输入的标记序列转换为能够进行预测的丰富向量序列。 在Transformer中&#xff0c;输…

MySQL8找不到my.ini配置文件以及报sql_mode=only_full_group_by解决方案

一、找不到my.ini配置文件 MySQL 8 安装或启动过程中&#xff0c;如果系统找不到my.ini文件&#xff0c;通常意味着 MySQL服务器没有找到其配置文件。在Windows系统上&#xff0c;MySQL 8 预期使用my.ini作为配置文件&#xff0c;而不是在某些情况下用到的my.cnf文件。 通过 …