AutoSar之DaVinci开发环境

news2024/11/28 22:56:21

文章目录

  • 前言
  • 一、AutoSar架构简介
  • 二、开发环境组成
    • 1.DaVinci Developer
    • 2.DaVinci Configurator
    • 3.SIP
  • 总结


前言

作为初学者,接触AutoSar的开发,除了需要掌握基本的AutoSar架构知识外,还需要熟悉设计和配置AutoSar的工具链。接下来我会以Vector的DaVinci为代表,来讲述实际项目运用中该工具的组成及任务。

一、AutoSar架构简介

下图是博主实际开发中使用到的AutoSar的架构框图,模块有所剪切,并未包含所有模块。
按照从上到下顺序,可分四层:
Application: 应用层,熟称APPL,该层包含用户自定义的组件SWC(软件组件)。 一个SWC就好比一个C文件,用于实现某一需求的,如诊断, 通信,电源管理,开关信号等。

RTE: 可运行环境,它作用是将APPL和基础软件层BSW分隔开来,并为APPL和BSW之间通信提供唯一接口。

BSW: 基础软件层,如下图中红色框内区域。具体底层模块的实现,如操作系统Os模块,网络管理Nm,CanNm模块,ECU管理模块EcuM等。

MCAL: 微控制器抽象层,如下图中绿色框内区域。它是跟硬件最接近的一层,外设驱动文件。例如Can总线的驱动CanDrv,Adc的驱动AdcDrv等。
在这里插入图片描述

~

二、开发环境组成

若要完成AutoSar工程的开发必须具备以下资源:

  1. DaVinci Developer工具
  2. DaVinci Configurator工具
  3. SIP集成软件包

1.DaVinci Developer

在这里插入图片描述
主要用于AutoSar的APPL层的SWC组件搭建,以及组件间通信接口创建等。

2.DaVinci Configurator

在这里插入图片描述
主要用于AutoSar的BSW层的配置;同时也参与了MCAL层以及RTE的配置,例如:Spi的配置片选,通道,时钟等。

3.SIP

Software Integration Package,软件集成包。这个比较特殊,针对于项目以及芯片型号向Vector公司定制购买的(价格不菲,如果涉及到功能安全要求多的,一般这个包的价格在一千万RMB左右。所以玩起来门槛会比较高哈~)
对于一个项目的开发都在这个SIP包内。工程打包也就是把SIP包给压缩。
在这里插入图片描述
基于上图的SPI框架分析:
Application: 应用层的一些文件,比如建立的SWC,使用DaVinci Configurator生成的一些配置文件(.c / .h 文件格式)
BSW: 包里自带的基础软件,如诊断服务模块DCM的底层实现。具体功能以及函数的使能是引用了DaVinci Configurator生成的一些配置文件如类似文件名dcm_cfg.h中定义的宏。
在这里插入图片描述

BSWMD: 基础软件层各模块的AutoSar格式的arxml文件,如下图
在这里插入图片描述
DaVinciConfigurator: 工具Configurator的目录,可以在该目录下启动。

Doc: 一些SIP自带的文档。比如技术文档,安全手册等。
在这里插入图片描述

ThirdParty: 该目录中安装了MCAL的代码包。比如ADC的驱动代码文件(最终ADC的功能配置还是在Configurator工具中)。是从芯片供应商那里购买的。安装之后如下图
在这里插入图片描述

总结

目前个人评价DaVinci这套工具链:
优点:1,界面简单 2,功能齐全 3,工具比较完善,bug较少。
缺点:1,太贵了,玩家门槛太高。 2,代码封装的太过复杂,对代码理解起来较为吃力。

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

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

相关文章

ChatGPT在小红书文案实践

今天聊一聊ChatGPT在小红书这个实际应用场景的案例。ChatGPT 以较低的门槛提高了使用者创作水平,有较高的下限,但如何创造更高质量的内容就要依靠使用者在领域的能力和AI使用技巧,作者无任何小红书推广和文案写作经验,文章内容来自…

【MySQL】C语言连接数据库

在使用数据库的时候&#xff0c;我们是操作客户端方的&#xff0c;向服务器请求数据。MySQL的端口号-3306 连接mysql需要头文件&#xff1a;#include<mysql/mysql.h> 基础连接步骤&#xff1a; 1.创建连接句柄 MYSQL mysql_con;//连接句柄 2.初始化连接句柄mysql_i…

LabVIEWCompactRIO 开发指南18 使用网络流发送消息和命令

LabVIEWCompactRIO 开发指南18 使用网络流发送消息和命令 默认情况下&#xff0c;网络流旨在最大化吞吐量&#xff0c;但可以轻松实现它们以最大化发送命令或消息的低延迟。 为本部分提供LabVIEW示例代码 命令发送器体系结构 命令发送器是CompactRIO控制器必须响应的任何命…

如何构建“Buy Me a Coffee”DeFi dApp

&#x1f978; 本教程来自官网&#xff1a;https://docs.alchemy.com/docs。对原文部分内容进行了修改。教程中所有实例经过本人实践&#xff0c;代码可见&#xff1a;https://github.com/ChuXiaoYi/web3Study 区块链技术令人惊叹&#xff0c;因为它使我们能够使用代码和软件编…

【Linux初阶】进程地址空间 | CUP与可执行程序的交互原理

&#x1f31f;hello&#xff0c;各位读者大大们你们好呀&#x1f31f; &#x1f36d;&#x1f36d;系列专栏&#xff1a;【Linux初阶】 ✒️✒️本篇内容&#xff1a;计算机空间初识&#xff08;子进程变量修改实验&#xff09;&#xff0c;感性理解进程虚拟地址空间&#xff0…

Web自动化测试工具大对决:细致比较Selenium、Protractor和Cypress

目录 前言&#xff1a; Selenium Protractor Cypress 结论 Web自动化测试步骤结构图&#xff1a; 前言&#xff1a; 随着Web应用程序的广泛使用&#xff0c;Web自动化测试工具的需求也越来越高。Web自动化测试工具可以模拟用户在Web浏览器中的行为&#xff0c;并且可以快…

NICE-SLAM学习

NICE-SLAM简介&#xff1a; 是浙大和ETH提出的一种神经隐式SLAM方法主要创新点在于解决了基于传统nerf的方案如imap无法应用在较大场景的问题。 关于该工程的前身和当前领域的主要研究现状见&#xff1a;&#xff08;知乎&#xff1a;秦通&#xff09;基于神经辐射场的&#…

接口自动化测试-Pytest核心固件Fixture详解以及应用实战

目录 前言&#xff1a; 一、Fixture概述 二、Fixture分类 在Pytest中&#xff0c;Fixture可以分为4类&#xff1a; 三、Fixture使用 下面结合实例说明如何使用Fixture。 3.1 session级别的Fixture 3.2 module级别的Fixture 3.3 function级别的Fixture 3.4 class级别的F…

2023.5.13前端设计

SpringbootVue架构设计&#xff08;一&#xff09; 项目中的文件来自B站视频&#xff08;程序员青戈&#xff09; https://www.bilibili.com/video/BV1U44y1W77D 前端设计 assets 文件夹通常用于存放静态资源文件&#xff0c;例如图像、CSS、字体等。components 文件夹通常用…

2023.5.14数据库设计

SpringbootVue架构设计&#xff08;二&#xff09; 项目中的文件来自B站视频&#xff08;程序员青戈&#xff09; https://www.bilibili.com/video/BV1U44y1W77D 数据库设计 1、article 在关系型数据库中&#xff0c;text类型和varchar类型都是用来存储字符串的数据类型。它…

【ShaderToy中图形效果转译到UnityShaderlab案例分享_Flame】

ShaderToy内的源码与效果图如下: float noise(vec3 p) //Thx to Las^Mercury {vec3 i = floor(p);vec4 a = dot(i

电动力学专题:电磁波传播时的色散效应

本文中假定波动方程的性质足够好&#xff0c;不要杠&#xff0c;杠你就输了 数学分析中的问题和XX 波动方程&#xff1a;\frac{\partial^2 u}{\partial t^2} - a^2 \frac{\partial^2 u}{\partial x^2} 0......(1) 波的色散 波动方程描写的是以恒定速度a传播的非衰减波。方程&…

【电厂用 交流三相电流继电器HJL-F93/AY 导轨安装 JOSEF约瑟供应 】

名称&#xff1a;交流三相电流继电器&#xff0c;品牌&#xff1a;JOSEF约瑟&#xff0c;型号&#xff1a;HJL-F93/AY&#xff0c;功率消耗&#xff1a;≤5W&#xff0c;触点容量&#xff1a;250V/5A&#xff0c;额定电压&#xff1a;58、100、110、220V 上海约瑟供应 交流三相…

第十四届蓝桥杯青少组选拔赛Python真题 (2022年10月30日),包含答案

目录 一、选择题 二、编程题 第十四届蓝桥杯青少组选拔赛Python真题 (2022年10月30日) 一、选择题 第 1 题 单选题 执行print (5%3) 语句后,输出的结果是 ( ) 答案:C 第2题单选题 以下选项中,哪一个是乘法运算符?() 答案:C 第3题 单选题 已知x-3,求x//2+x”2的…

PCIE结构拓扑(RC、EP、SWITCH)介绍

1、PCIE典型结构拓扑 (1)个人理解&#xff1a;红色方框部分一般是在芯片内部集成&#xff0c;对外可提供多个PCIE接口&#xff1b; (2)芯片提供的PCIE接口&#xff0c;可以接EP设备、PCI桥、Switch设备&#xff1b; 2、RC&#xff08;Root Complex&#xff09; 个人理解&#x…

【一文吃透归并排序】基本归并·原地归并·自然归并 C++

目录 1 引入情境基本归并排序实现 C 2 原地归并排序2-1 死板的解法2-2 原地工作区2-3 链表归并排序 3 自底向上归并排序4 两路自然归并排序4-1 形式化描述4-2 代码实现 1 引入情境 归并思想&#xff1a;假设有两队小孩&#xff0c;都是从矮到高排序&#xff0c;现在通过一扇门后…

微服务#3 Docker常用命令

Docker 一.初识docker Docker如何解决大型项目依赖关系复杂&#xff0c;不同组件依赖的兼容性问题? Docker允许开发中将应用、依赖、函数库、配置一起打包&#xff0c;形成可移植镜像Docker应用运行在容器中&#xff0c;使用沙箱机制&#xff0c;相互隔离 Docker如何解决开…

在树莓派上搭建WordPress博客网站,并内网穿透发布到公网

✨个人主页&#xff1a;bit me&#x1f447; 目 录 &#x1f43e;概述&#x1f490;安装 PHP&#x1f338;安装MySQL数据库&#x1f337;安装 Wordpress&#x1f340;设置您的 WordPress 数据库&#x1f339;设置 MySQL/MariaDB&#x1f33b;创建 WordPress 数据库 &#x1f33…

pga_aggregate_limit和process关系

之前部署19c时&#xff0c;配置pga_aggregate_limit都是直接配置成0了&#xff0c;配置processes的大小也比较随意&#xff0c;上周维护一个客户安装的环境&#xff0c;重启数据库数据库时告警了&#xff0c;才第一次认真对面了 SYSorcl1> startup ; ORA-00093: pga_aggreg…

鼠标拆卸方法、鼠标按键噪声大解决办法(为按钮加润滑脂)

文章目录 今天我买了一款acer鼠标&#xff0c;发现按键声音有点大&#xff0c;想给它的按钮上一点缓冲脂&#xff0c;这个缓冲脂本来我是买来润滑机械键盘轴体用的&#xff0c;刚好也能用上。 这是我的鼠标外壳结构&#xff0c;我拆卸的时候没注意&#xff0c;给我拆坏了&…