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.注册登录 …

journalctl命令使用教程

转载请标明出处:http://blog.csdn.net/donkor_/article/details/139390890 文章目录 journalctl是什么journalctl的基础语法journalctl的常见命令总结 journalctl是什么 journalctl命令来自英文词组journal control的缩写,其功能是查看指定的日志信息。…

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

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

AI 换装之OOTDiffusion

项目地址:https://github.com/levihsu/OOTDiffusion 试用地址:https://ootd.ibot.cn/ 本地部署 下载模型 git lfs安装, 然后国内源下载 git clone https://www.modelscope.cn/AI-ModelScope/clip-vit-large-patch14.git然后国内镜像手动下载 https://…

【面试题-009】线程的生命周期和状态

文章目录 java如何创建线程继承 Thread 类使用 Runnable 接口选择继承还是实现接口 线程池的核心参数和原理核心参数原理 为什么是先添加队列 队列满了在创建最大线程? 在 Java 中,线程的生命周期包括几个不同的状态,这些状态可以由线程的状态…

深入Netty RPC内核:编码、通信与性能优化全指南

1.Netty 简介 1.1. Netty的优势 Netty是一个异步的、事件驱动的网络应用框架,用于快速开发高性能、高可靠性的服务器和客户端程序。它提供了丰富的缓冲区类型和传输抽象,可以让您轻松地进行直接内存操作,减少拷贝和内存消耗。 1.2. Netty在…

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

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

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

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

音频信号分析与实践

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

『大模型笔记』FlashAttention技术细节介绍!

FlashAttention技术细节介绍! 文章目录 一. FlashAttention技术介绍1. 什么是闪存注意力(FlashAttention)?1.1 自注意力在序列长度方面是平方级的1.2 在现代GPU中,计算速度实际上已经超过了内存速度,因此瓶颈实际上是内存速度而不是计算速度1.3 闪存注意力是一种面向IO的精…

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 是由于:在定义的函数体的前面有一个变量类型

Ubuntu 安装 Vulkan SDK

LunarG VulkanSDK Packages 此存储库包含Ubuntu 20.04和22.04的最新SDK版本。 This repository contains the most recent SDK releases for Ubuntu 20.04 and 22.04. 有关LunarG Vulkan SDK的更多信息,请访问文档部分。 For more information about the LunarG V…

java web 前端开发:深入剖析与实战指南

java web 前端开发:深入剖析与实战指南 在当今数字化时代,Java Web前端开发已经成为了构建优秀用户体验的关键环节。它涉及到多个方面,包括界面设计、交互逻辑、性能优化等。本文将从四个方面、五个方面、六个方面和七个方面,对J…

iOS怎么Python?深度探索iOS平台上的Python之路

iOS怎么Python?深度探索iOS平台上的Python之路 在移动开发的广袤领域中,iOS以其独特的生态系统和严格的审核机制而闻名。然而,对于希望在iOS平台上使用Python进行开发的开发者来说,这似乎是一个颇具挑战的任务。那么,…

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 对象,即使是一些预先存在的没有源码的对象。该产品主要提供了两个接口&…

2024.6.1每日一题

儿童节快乐😄 LeetCode 给小朋友们分糖果 I 题目链接:2928. 给小朋友们分糖果 I - 力扣(LeetCode) 题目描述 给你两个正整数 n 和 limit 。 请你将 n 颗糖果分给 3 位小朋友,确保没有任何小朋友得到超过 limit 颗…