AutoSAR系列讲解(入门篇)2.2-SWC的类型(APPL)

news2025/1/10 17:40:49

SWC的类型

一、原子级的SWC(Atomic SWC)

二、集合级的SWC(Composition SWC)

三、特殊的SWC


一、原子级的SWC(Atomic SWC)


原子级的SWC(Atomic SWC):故名思意,就是不可再拆分的SWC,其实之前我们列举的都是Atomic
SWC。它们的特点是对应一个.c文件,这个c文件就是我们的最小单元,不可再分。由有人会问,那可运行实体(runnable)不就是组成SWC的更小
单元吗?确实如此,但是我们将SWC看成原子,那runnable就是其中的电子、质子和中子,它们与原子密不可分。因此将SWC看成是最小单元,
runnable是其中的函数。每个SWC的功能基本都是用来实现特定的算法。


二、集合级的SWC(Composition SWC)


有不可分割的SWC,就肯定有可分割的SWC。所以AutoSAR还规定了一类集合级的SWC(Composition SWC)。它们可以分为一个一个更小的
Atomic SWC。就好像是一个分子由很多原子组成的概念。分子是有实际意义的,很多原子就没有实际意义(但是有些也有,比如金、银和铜等)。
类比来看,我列了一个表:

化学概念AutoSAR概念C语言概念
分子Composition SWC包含xx.c文件的文件夹
原子Atomic SWCxx.c文件
电子、中子、质子等runnable函数

还是那个例子,我们可以将功能相近或者需要整合到一处方便观看的SWC(以后Atomic SWC都简称为SWC)利用一个component SWC包含起来。
这样,就可以方便SWC归类。


于是,我们的文件映射也发生了一定的变化:这里将之前的图也放过来,方便大家对比,应该能很快明白composition
SWC是啥了:


注意:
在Vector的DaVinci中其实不会生成Composition的文件夹,这里是博主为了方便大家理解添加的。其实Composition只是一个概念,是用来在配置工
具上方便大家归类整理,看起来顺眼的


三、特殊的SWC


实际上,需要添加代码的不止是应用层的SWC。在BSW中,IO硬件抽象层(IoHwAb,BSW章节中会讲到)和复杂驱动(Cdd)都是需要手动添加代
码的,而这两个地方也可以算作是SWC,在DaVinci Developer中都是可以作为SWC进行配置和加runnable等操作的。因此,我们将其算成是特殊的
SWC来看待

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

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

相关文章

git 的基本操作

1. git建立本地仓库 在想要建立的目录下输入命令 git init 我们可以看一下 .git目录下有什么 2. 配置git本地仓库 配置用户的 name 和 email 命令:git config [...] 配置完后,我们像查看一下 刚才的配置 2.1 查看配置命令 git config -l 2.2 删除…

【CS144-2021】Stanford 计算机网络课程学习

CS144 2019 Fall:https://kangyupl.gitee.io/cs144.github.io/2020 Fall:https://github.com/lawliet9712/Stanford-CS144-2021【推荐】2021 Fall:https://github.com/Kiprey/sponge 前前后后弄了半个月,终于啃完 CS144 了&#…

VLAN基础知识3_VLAN间三层通信(单臂路由)

目录 1.VLAN单臂路由简介 2.基于单臂路由VLAN间三层通信原理 3.VLAN间三层通信单臂路由实验 3.1 常用配置命令 3.2 实验配置步骤 3.3实验效果 1.VLAN单臂路由简介 单臂路由(One-Arm Router)是一种网络拓扑结构,其中一个路由器的一个接…

动手写一个 Java JWT Token 生成组件

OAuth2 中默认使用 Bearer Tokens (一般用 UUID 值)作为 token 的数据格式,但也支持升级使用 JSON Web Token(JWT) 来作为 token 的数据格式。实际来说,OAuth 规范中并无限制 Token 采取何种格式。今天我们就采用 JWT 来作为 Token,它的一个好…

四种缓存的避坑总结

背景 分布式、缓存、异步和多线程被称为互联网开发的四大法宝。今天我总结一下项目开发中常接触的四种缓存实际项目中遇到过的问题。 JVM堆内缓存 JVM堆内缓存因为可以避免memcache、redis等集中式缓存网络通信故障问题,目前还在项目中广泛使用。 堆内缓存需要注…

FFmpeg5.0源码阅读——avformat_find_stream_info

摘要:在使用FFmpeg库时通常使用avformat_find_stream_info相关函数来探测流的基本信息,为了更加深入理解FFmpeg的基本流程,本文根据FFmpeg 5.0的源码详细描述了该函数的具体实现。   关键字:FFmpeg   读者须知:读者…

数学之美:神奇的杨辉三角形,比帕斯卡早了近600年,致敬中国古代数学家(63)

小朋友们好,大朋友们好! 我是猫妹,一名爱上Python编程的小学生。 和猫妹学Python,一起趣味学编程。 今日主题 什么是杨辉三角形? 杨辉三角形有什么规律? 中国古代数学家杨辉。 西方科学家帕斯卡。 杨…

【开源与项目实战:开源实战】81 | 开源实战三(上):借Google Guava学习发现和开发通用功能模块

上几节课,我们拿 Unix 这个超级大型开源软件的开发作为引子,从代码设计编写和研发管理两个角度,讲了如何应对大型复杂项目的开发。接下来,我们再讲一下 Google 开源的 Java 开发库 Google Guava。 Google Guava 是一个非常成功、…

智能指针类模板:auto_ptr、unique_ptr、shared_ptr的原理与使用

1. 什么是智能指针 智能指针是行为类似于指针的类对象,通常用于管理动态内存分配。C程序通常手动动态分配堆内存,但如果动态分配的内存没有释放,则会发生内存泄漏。 例如代码段1.1。 // 代码段1.1 void demo() {double *pd new double;*pd…

使用STM32F103的串口实现IAP程序升级功能

使用STM32F103的串口实现IAP程序升级功能 🎬IAP程序烧录全过程演示: ✨这几天折腾IAP升级功能,狂补了很多相关BootLoader相关的知识。本来最想实现IAP升级程序的方式是,基于SPI通讯的SD卡,借助挂载的FatFS文件系统&am…

C++中的内存分区

目录 操作系统的内存区域 C内存分区模型 1. 程序运行前 2. 程序运行后 3. new 操作符的使用 操作系统的内存区域 text段:存储程序的二进制指令,即程序源码编译后的二进制代码data段:存储已被初始化的全局变量、常量bss段:存储…

ES-工作原理

前言 ​ 搜索引擎是对数据的检索,而数据总体分为两种:结构化数据和非结构化数据。而对于结构化数据,因为他们具有特定的结构,所以一般都是可以通过关系型数据库MySQL/oracle的二维表的方式存储和搜索,也可以建立索引。…

Redis的简单使用 (实现Session持久化)

🎉🎉🎉点进来你就是我的人了博主主页:🙈🙈🙈戳一戳,欢迎大佬指点! 欢迎志同道合的朋友一起加油喔🤺🤺🤺 目录 一、Redis数据类型的使用 1. 字符串&#xff…

Redis【入门篇】---- Redis的Java客户端-Jedis

Redis【入门篇】---- Redis的Java客户端-Jedis 1. Jedis快速入门2. Jedis连接池1. 创建Jedis连接池2. 改造原始代码 在Redis官网中提供了各种语言的客户端,地址:https://redis.io/docs/clients/ 其中Java客户端也包含很多: 标记为❤的就是推荐…

密码学证明方案寒武纪大爆发——扩容、透明性和隐私的变革潜力

1. 引言 前序博客有: ZKP大爆炸 本文主要参考: StarkWare 2023年6月博客 Cambrian Explosion of Cryptographic Proofs----The transformative potential for scalability, transparency, and privacy2023年3月Eli Ben-Sasson在The 13th BIU Winter …

JavaWeb之Cookie和Session

文章目录 CookieCookie基本介绍Cookie的基本使用Cookie的创建从服务器获取CookieCookie值的修改方案一方案二 浏览器查看CookieCookie声明控制Cookie有效路径Path的设置 SessionSession基本介绍Session的创建和获取(id号,是否为新)Session域数…

【SQL server关键字】

目录: 前言一、CREATE -- 创建二、INSERT INTO VALUES -- 插入数据三、SELECT FROM -- 查找数据1.SEKECT简单了解2.函数的使用3.选择列表与group by子句的对应4.exists子查询 四、UPDATE SET -- 更改数据五、ALTER -- 修改属性六、JOIN ON-- 链接多个表1. join初…

JDBC 望舒客栈项目 万字详解

目录 一、前言 二、项目结构 三、准备工作 1.建立子包 : 2.导入jar包 : 3.工具类 : 1 Utility工具类 2 JDBCUtilsDruid工具类 4.导入配置文件 : 5.引入BasicDAO : 四、项目主体 1.界面显示 : 1 代码演示 2 运行测试 2.用户登录 : 1 创建员工表employee 2 创建Ja…