
AutoSAR入门与实战系列「持续更新ing。。。」

文章平均质量分 77
基于DaVinci和EB工具及源码分析,通过实例从本质上深刻学习BSW和MCAL的配置和集成.课程如下:
一、【Classic AutoSAR入门和实战课程】
二、【Adaptive AutoSAR入门和实战课程】
三、【MCAL入门和实战课程】
四、【功能安全入门和实战课程】
五、【问题答疑会】
优惠券已抵扣
余额抵扣
还需支付
¥99.90
¥299.90
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
糖果Autosar
AutoSAR架构专家,分享AutoSAR学习笔记和心得体会,提供咨询和答疑。粉丝们尽量在博文评论区留言你们咨询的问题,有空我会统一回答
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
COM02-AutoSAR通信协议栈中的协议数据单元 PDU是什么?
1协议数据单元 (PDU)概念 11.1各层的PDU之间的‘信息接力’ 11.2理解一下官方的定义: 22协议数据单元 (PDU)的设计 32.1 PDU类型定义 32.2 使用的下层【PduR】的API进行发送,PDU在参数中进行传递 42.3 使用的下层【PduR】的API进行报文接收,PDU在参数中进行传递 61协议数据单元 (PDU)概念就像人你写信给女朋友时,需要信封去传统你的爱意信息;通信过程中,需要通过其通信堆栈交换的信息实体需要PDU去承载;就像前面那篇文章「Autosar通原创 2021-11-28 16:53:07 · 8551 阅读 · 2 评论 -
【EthIf-13】EthIfGeneral容器配置-01
下面是EthIfGeneral配置参数的类图,比较重要的参数就是配置:原创 2024-12-24 22:53:00 · 200 阅读 · 0 评论 -
【EthIf-14】EthIfGeneral容器配置-02
阅读此部分代码,搞清楚代码分为几个section,大概瞄一眼就好,不用深究其含义,只需有一个宏观的层次结构的映像即可。原创 2024-12-24 23:29:18 · 188 阅读 · 0 评论 -
【EthIf-12】以太网接口的中断模式帧接收代码解析
类似,唯一的区别是EthIf 模块通过Eth_RxIrqHdlr中断回调函数来监听网络上传入的以太网帧。原创 2024-12-17 21:23:08 · 129 阅读 · 0 评论 -
【EthIf-11】以太网接口的轮询模式帧接收代码解析
【代码】【EthIf-11】以太网接口的轮询模式帧接收代码解析。原创 2024-12-16 21:52:42 · 122 阅读 · 0 评论 -
【EthIf-10】以太网接口的中断模式帧传输代码解析
以太网接口的中断模式帧传输与以太网接口的轮询模式帧传输发送流程相似,唯一的区别是在中断。原创 2024-12-16 21:04:33 · 105 阅读 · 0 评论 -
【EthIf-09】以太网接口的轮询模式帧传输代码解析
轮询模式下,以太网接口 向上层提供和供上层主动调用,实现新的帧发送。原创 2024-12-15 21:50:37 · 142 阅读 · 0 评论 -
【EthIf-07】以太网接口中初始化序列代码解析
为了说明以太网接口的操作,包括其与上层 BSW 模块和底层以太网控制器驱动程序的交互,我们可以创建序列图来描述帧传输和接收等基本操作。原创 2024-12-14 18:04:28 · 78 阅读 · 0 评论 -
【EthIf-06】以太网接口中实现对虚拟局域网 (VLAN) 的支持
以太网接口中要支持对虚拟局域网 (VLAN) ,要满足以下需求:VLAN 标记:将 VLAN 信息添加到以太网帧结构中。帧发送和接收:修改功能以包括发送和接收期间 VLAN 标签的处理。过滤:根据VLAN ID实现过滤。【all BSW modules above the Ethernet Interface shall not realize any difference between physical Ethernet controllers and virtual control原创 2024-12-14 17:27:31 · 161 阅读 · 0 评论 -
【EthIf-02 】EthIf编译脚本 communication/EthIf/EthIf.mod.mk
它是Ethernet Interface (EthIf) components的makefile文件。原创 2024-12-09 22:16:02 · 817 阅读 · 1 评论 -
【EthIf-01】EthIf的文件结构
ls -R 查看目录EthIf的文件结构,包含四个目录, 一个make file文件,具体如下所示:原创 2024-12-12 21:32:13 · 317 阅读 · 0 评论 -
【EthIf-05】 Ethernet Interface main function
EthIf的主要功能:原创 2024-12-14 16:28:18 · 100 阅读 · 0 评论 -
【EthIf-04】 EthIf_CtrlIdx控制器索引
上层的模块访问以太网接口模块「EthernetInterface」,以太网接口模块通过以太网驱动程序层与多个以太网控制器交互的。原创 2024-12-14 16:13:21 · 91 阅读 · 0 评论 -
【EthIf-03】 EthernetInterface软件栈的文件组织结构
上图为《AUTOSAR_SWS_EthernetInterface【v2.2.0 】》给出的EthernetInterface软件栈的文件组织结构,本文主要关注arccore代码中已存在的文件的功能和作用,不知道的小伙伴可以查看🔗。原创 2024-12-13 22:20:56 · 166 阅读 · 0 评论 -
总目录- AutoSAR从入门到精通实战系列课程【持续更新中...】
欢迎大家订阅《AutoSAR入门和实战系列》,开始前博主先列出AutoSAR学习的大纲,同时这也可以作为大家学习AutoSAR的参考。想学习和及以及的同学们,可以订阅本博客,本博客一直持续更新中。如果想深入或从本质上学习和理解AutoSAR,打开此链接后,,点击左下方【立即订阅】订阅专栏!!!】......原创 2021-10-14 23:15:39 · 44237 阅读 · 8 评论 -
【AutoSAR答疑01】- AutoSAR各种软件组件类型有什么本质的不同?
ECU 抽象软件组件 (EcuAbstractionSwComponentType) 是基础软件的一部分,特别是ECU 抽象层,因此可以通过标准化接口与其他基础软件模块交互。它包含对相应硬件元素的引用,并通过端口向到感器-执行器软件组件提供对ECU特定 IO 功能的访问。原创 2023-06-11 18:19:17 · 1261 阅读 · 0 评论 -
CANTP如何处理N-SDU
通信的双方,有一端是发送方,有一端是接收方;我们站在接收者的角度看,当通信开始时,我们可能接收到的第一帧报文将是 SF 或 FF;但是如果接收的请求被接受并且需要为发送方发送 FC帧,则接下来接受的报文则是CF。(如图中的蓝色箭头线所示)具体行为如下图所示:让我们看看 CanTp 在接收到这些帧时的行为。原创 2023-02-03 00:19:17 · 1021 阅读 · 0 评论 -
【Vector Memory Mapping】- 为什么数据(和代码)需要映射到特定的MCU内存区域
传统方法编译是基于一个(或几个)整体MemMap.h文件,编译器读取和预处理MemMap.h及其包含的文件,对于每个编译单元都进行这样的操作。新方法会产生一堆相对较小的MemMap.h文件,这些较小的MemMap.h文件文件都包含在各自的组件中,这会导致要完成的预处理工作少得多。一些代码(code)应该从与cpu紧密耦合的内存运行,而其他一些代码也可能从外部内存运行,但速度较低,因为访问不同的内存、不同的总线【memories】有不同的速度。初始化策略:变量(在 RAM 中)在初始化时可能有不同的要求。原创 2023-01-24 22:23:34 · 2594 阅读 · 0 评论 -
AutoSAR MemMap模块实例解析及注意事项
传送门 ==>> AutoSAR入门和实战系列总目录。原创 2023-01-24 21:33:36 · 2768 阅读 · 0 评论 -
AutoSAR MemMap模块概述及配置参数详解
这个模块是干啥的?它是用来配置Memory Mapping and Compiler Abstraction module。原创 2023-01-24 20:30:12 · 4087 阅读 · 0 评论 -
Eth10- Eth以太网控制器时间同步相关配置即API代码解析
如果使用时间同步功能则使能这个选项。/EthCtrlConfig/EthCtrlEnableMii:This parameter defines if the Media Independent Interface (MII) for transceiver access is enabled.Restrictions: Must be enabled for transceiver usage.如果我们工程中有使用transceiver的话,则这个参数一定要使能。关于MII的介绍请参考文章。原创 2023-01-03 21:50:23 · 699 阅读 · 0 评论 -
OS14 - 警报Alarm代码接口解析(1)
os counter 的理论我们已经讲过,具体可参考。,本文的代码定义在alarm.h中。原创 2022-09-12 00:12:48 · 1207 阅读 · 0 评论 -
OS13 - Alarm概述和解析(1)
计数器用于记录某些事件的发生。通常,当发生一定数量的这些事件时,系统需要采取一些行动。而警报就是用于将计数器连接到动作的机制——任务的激活、事件的设置、用户定义的警报回调例程的运行或递增软件计数器。具体来讲,每个警报只与一个计数器相关联,但多个警报可以使用同一个计数器。当计数器达到用户定义的值时,警报到期。警报到期导致执行定义的操作(例如任务激活或设置事件)。执行何种操作取决于配置的警报的静态属性,配置时我们可以选择以下几种属性原创 2022-09-11 23:09:16 · 1104 阅读 · 0 评论 -
OS12 - 计数器代码接口解析(1)
os counter 的理论我们已经讲过,具体可参考《OS10 -OS11》,下面我们分析一下代码。本文的代码定义在counter.h中。其定义了OsCounterType的类型。并提供了几个内联函数的接口,如获取AlarmBaseType,获取counter的当前值,counter之间的差值等。原创 2022-09-11 20:52:57 · 570 阅读 · 0 评论 -
OS11 - 计数器和警报的配置(2)【Davinci Cfg】
# 1计数器的属性值的配置AutoSAR里面的计数器由以刻度表示的当前值和许多描述计数器行为的常量组成。而计数器的常量的参数属性值的配置包含如下:- MAXALLOWEDVALUE:计数器翻转并从零重新开始的刻度数- MINCYLE:与计数器关联的循环警报必须指定到期的最小刻度数- TICKSPERBASE:达到用户定义的特定值所需的滴答数。原创 2022-09-11 17:19:50 · 1155 阅读 · 0 评论 -
OS10 - 计数器和警报(1)
操作系统提供服务来处理通常与中断相关的重复事件。此类事件可能定期发生,例如定时器中断,或不定期发生,例如传输某个设备状态的中断。我们能想到的可能的实现是提供一个counter,每来一个时间中断,counter的值就加一;如果counter的值等于我们设定的周期值的时候,触发我们的函数执行来处理任务。Counter,用来记录事件发生的计数器。Alram,当计数器达到某个值时触发的警报。原创 2022-09-11 17:09:40 · 707 阅读 · 0 评论 -
Boost.Interprocess 的同步
传送门 ==>> AutoSAR入门和实战系列总目录。原创 2022-09-05 16:11:57 · 638 阅读 · 0 评论 -
UDS04-清除诊断信息服务【ServiceID = 0x14】
传送门 ==>> AutoSAR入门和实战系列总目录。原创 2022-09-04 18:09:19 · 1073 阅读 · 0 评论 -
【DaVinci Developer工具实战】06 - DaVinci Developer和DaVinci Configurator的作用和交互
注意:当您使用 DaVinci Configurator 运行项目更新过程时,会在后台自动调用 DaVinci Developer 以更新 DaVinci 工作区。为此,DaVinci Developer 执行更新导入时会根据项目文件 ( .dpa ) 中的以下项目的设置来执行导入.两个工具都在同一个项目 ( .dpa ) 上运行,其中DaVinci工作区 ( .dcf ) 在工具之间共享。相互锁定机制确保您可以在两个工具中安全地打开同一个项目文件。......原创 2022-08-14 13:39:30 · 7267 阅读 · 0 评论 -
【DaVinci Developer工具实战】05 - DaVinci Developer 功能区概述和介绍
文件菜单提供加载和保存工作空间、配置 DaVinci Developer 和提供帮助内容的命令。主页功能区选项卡提供打开浏览器和编辑器的命令,以及用于一致性检查和编辑各种对象的命令.原创 2022-08-14 13:18:16 · 1717 阅读 · 0 评论 -
【DaVinci Developer工具实战】04 -导入XML 文件的实战操作
如下图所示,项目【 Project 】功能区选项卡的命令打开一个对话框,您可以在其中配置要导入的 AUTOSAR XML 文件列表。原创 2022-08-14 01:03:54 · 2225 阅读 · 0 评论 -
【DaVinci Developer工具实战】03 -导入xml文件
本文档描述了 DaVinci Developer 导入数据的的具体功能 ,它适用于导入AUTOSAR SWC 模板【AUTOSAR XML 文件】 文件。原创 2022-08-13 16:55:00 · 1725 阅读 · 0 评论 -
【DaVinci Developer工具实战】02 - 软件设计编辑器
软件设计编辑器显示软件组件,这些软件组件存在于当前设计的ECU 上。左侧显示 ECU 的组件树。右侧显示在组件树中选择的组件的详细视图。如果是原子组件,则会显示实现架构。在复合组件的情况下,则会显示复合组件的子结构,即显示所包含的原子组件/复合组件。...原创 2022-08-13 00:24:02 · 1165 阅读 · 0 评论 -
【DaVinci Developer工具实战】01 - DaVinci Developer的主要功能介绍
显示 ECU composition’s【复合组件】 端口的数据元素到 ECU 网络信号的映射,一般我们采用自动映射进行CAN DBC文件中的网络信号到软件组件端口中的数据元素【DataElement】的映射。你可以把它看成Matlab中的各种工具库,我们可以直接通过它来构造我们的原型/设计原型,也可以理解成C++中的类,我们实例化的过程就是构型原型的过程。蓝图就是模板的意思,我们可以根据蓝图直接生成蓝图的原型,也叫做模板的实例化。显示 ECU 项目的所有端到端受保护数据元素的概览。显示选定对象的属性。..原创 2022-08-12 14:45:49 · 6057 阅读 · 0 评论 -
CanTp03- CANTP 通道的配置与并发连接
AUTOSAR CanTp用于传输诊断(例如 OBD 和 UDS 协议)和 AUTOSAR COM I-PDU等数据。由于存在多种协议(如UDS和OBD),CanTp 模块需要能够同时处理多个连接(即并行的多个分段会话)。这也是AUTOSAR要求的,即传输层必须支持并发连接,特别是当 ECU 启用网关功能时作为网关时,它要同时处理不同子网络的不同诊断协议消息的传输。当然,为了节省资源,大多数 ECU 只需要单一连接进行诊断。原创 2022-08-25 00:26:19 · 1265 阅读 · 0 评论 -
CAN-TP传输协议详解
ISO 传输协议位于 OSI 层模型的第四层(传输层)。传输协议的主要任务是传输由于长度而不能作为单个协议数据单元 (PDU)传输的消息。包含大包数据【通过分段在单个 PDU 中传输】的消息通过传输协议被分段并分成多个单独的 PDU。因此,为了像 CAN 一样发送数据,设计了 CAN-TP 协议。ISO 15765-2 CAN-TP 协议是一种国际标准传输层协议,用于在 CAN 连续帧上发送超过 8 字节的数据,ISO TP 定义了一种传输方法,允许通过 CAN 总线发送多达 4095 个字节。原创 2022-08-24 11:03:07 · 2369 阅读 · 0 评论 -
【Boost C++ 库】托管共享内存详解
为此,Boost.Interprocess 提供了在boost/interprocess/allocators/allocator.hpp中定义的boost::interprocess::allocator类. 使用这个类,可以创建一个分配器,它在内部使用托管共享内存的段管理器。但是,只有当访问托管共享内存的所有其他进程也使用atomic_func(). 如果另一个进程有一个指向托管共享内存中的对象的指针,它可以使用它的指针访问和修改这个对象。要访问托管共享内存中的特定对象,可以使用find()成员函数。原创 2022-08-23 14:53:48 · 1300 阅读 · 0 评论 -
软件更新和无线升级 (SOTA)
数据收集实施预测性维护建立早期反馈循环(例如在推出新模型时)基于车辆数据提供新服务例如,为当地天气报告收集雨水传感器数据实时诊断从中央车辆支持中心从远程获得路边援助继续驾驶还是继续等待拖车服务?立即解决一些 E/E 问题软件更新通过快速修复功能和安全事件来避免昂贵的召回发布花哨的新功能,创造新的商业模式实施基于软件的模型升级OTA 是一个大而复杂的话题从最低硬件级别到系统级别的依赖关系(包括后端)还有更多功能:功能安全多处理器ECU不同的OEM更新策略AUTOSAR 自适应。原创 2022-08-23 11:42:10 · 869 阅读 · 0 评论 -
使用共享内存进行进程间通信
通过共享内存进行进程间通信是两个或多个进程可以访问公共内存的概念。通信是通过这个共享内存完成的,一个进程所做的更改可以被另一个进程查看。共享内存提供了一种方法,让两个或多个进程共享一个内存段。使用共享内存,数据只复制两次——从输入文件到共享内存,从共享内存到输出文件。管道、fifo 和消息队列的存在的问题是当两个进程进行信息的通信时,信息必须通过内核。原创 2022-08-22 11:43:27 · 866 阅读 · 0 评论 -
【AutoSAR CAN】05 - 如何使用Davinci Configurator Pro工具配置CAN硬件对象(CanHardwareObject)
如上图所示是硬件对象里我们需要关注和配置的属性,下面会具体介绍。注意在开始介绍之前,我们要强调一下,CAN 硬件对象是和具体的Can芯片控制相关的,这里我们只介绍一般性的概念。它包含可以缓存报文的一段内存缓冲区,位于CAN控制器内部,如上图的它包含配置CAN 控制器特定行为的一组特殊功能寄存器我们通过配置这组特殊功能寄存器来设置can报文的标识符CAN ID 和 can报文的长度DLC我们通过配置这组特殊功能寄存器来设置can报文的发送和接收方向(图中的Direction)原创 2022-08-20 17:06:09 · 2945 阅读 · 2 评论