
手把手教你学AutoSAR

文章平均质量分 91
一、基础篇。主要讲概念原理,会较多通过图形、表格进行归纳总结以便清晰了解原理;目标:入门,懂概念
二、深入篇。主要深入讲解实现原理,会涉及部分配置项;目标:懂原理,会进行基本功能配置;
三、实践篇。实践操作,偏功能实现。主要讲如何综合利用配置项实现特定的功能需求。目标:通过项目实践精通架构设计和优化
优惠券已抵扣
余额抵扣
还需支付
¥59.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
桃源乐游
迷途小书童
展开
-
AutoSAR配置与实践(深入篇) 6.5 PNC功能介绍(上)_PNC架构、模块交互和EIRA/ERA/IRA介绍
PNC架构、模块交互和EIRA/ERA/IRA介绍PNC的交互涉及的模块较多,为了更为清晰的展示,我们通过业务划分三类:内部PN请求、外部PN请求和内外请求共用交互(相同颜色交互为一类),原创 2024-04-06 00:02:43 · 2248 阅读 · 1 评论 -
AutoSAR配置与实践(深入篇) 6.6 PNC功能介绍(下)_PNC收发流程和状态机切换详解
COM模块(Com_Mainfunction)进一步将接收到的PDU拆分为Signal,实际工程中,ERA_Rx_PDU拆分成一个ERA_Rx_Signal,EIRA_Rx_PDU拆分成一个EIRA_Rx_Signal,并将信号存储到buffer供其他应用读取;. ComM通过COM的标准接口Com_ReceiveSignal(),即可读取ERA_Rx_Signal和EIRA_Rx_Signal信号中的PNC信息.同时请求BSWM模块使能(禁止)PNC所对应的PduGroup;原创 2024-04-06 00:24:06 · 2011 阅读 · 2 评论 -
AutoSAR配置与实践(深入篇)10.7 诊断通信管理(DCM)
诊断通信管理(DCM)主要包括三个子模块:诊断服务层(Diagnostic Service Layer,DSL)、诊断服务分配(Diagnostic Service Dispatcher, DSD)、诊断服务进程(Diagnostic Service Processing, DSP):确定诊断数据请求和响应的数据流;监控和确保诊断请求和响应的时序,管理诊断状态(特别是诊断会话和安全状态):接收到的诊断请求转发给数据处理器;当数据处理器触发时,通过PDUR传输诊断响应:处理实际的诊断请求。原创 2024-03-25 23:56:22 · 735 阅读 · 1 评论 -
AutoSAR配置与实践(深入篇)10.6 FiM功能介绍(图解详细)
>返回总目录原创 2024-03-25 23:54:42 · 722 阅读 · 0 评论 -
AutoSAR配置与实践(深入篇)10.5 CANTP 层意外N-PDU帧处理
CAN传输层对意外到达的N-PDU的行为很大程度上取决于处理N-SDU的通信方向类型。处理意外到达的N-PDU。原创 2024-03-20 12:24:18 · 472 阅读 · 0 评论 -
AutoSAR配置与实践(深入篇)10.4 CANTP 层主要时间参数详解(N_As/ N_ Ar/ N_ Bs/ N_ Br/ N_ Cs/ N_ Cr)
Case 3: Sender 从 收到流控帧(FC)(状态为Wait)到 收到下一个流控帧 的时间。Case 2: Sender从 发送完连续帧(CF)到 请求发送下一包连续帧(CF) 的时间。Case 2: Receiver 从 收到连续帧(CF)到 收到下一包连续帧(CF) 的时间。Case 1: Receiver 从 发送完流控帧(FC)到 收到连续帧(CF) 的时间。Case 1: Sender 从 收到流控帧(FC)到 请求发送连续帧(CF) 的时间。.req : 帧发送开始请求。原创 2024-03-20 12:18:12 · 2298 阅读 · 2 评论 -
AutoSAR配置与实践(深入篇)10.3 CANTP 传输流程和通信示例
CanlF将帧进一步转化为N-PDU(单帧(SF)/首帧(FF)/流控帧(FC)/连续帧(CF)格式)CanTP将IPDU进一步拆分成单帧(SF)/首帧(FF)/流控帧(FC)/连续帧(CF)格式。接收端回复流控报文(FC),提示发送端当前最多接收2帧CF报文,发送间隔需要为5ms。Tester(诊断上位机)通过物理总线将指令(CAN报文)发送给Can Drv。接收端发送最后一帧CF数据(少于流控参数的2帧,因为只剩余1帧)发送端依据流控参数,发送第一帧CF报文。发送端依据流控参数,发送第二帧CF报文。原创 2024-03-19 23:46:34 · 570 阅读 · 0 评论 -
AutoSAR配置与实践(深入篇)10.2 CANTP 单帧/首帧/流控帧/连续帧格式
> CANTP使用流控制机制来确保数据的可靠传输。接收方通过发送流控制帧来指示发送方是否可以继续发送数据。发送方会根据接收方的反馈进行数据传输,确保数据的正确到达。这种机制有助于避免接收方缓冲区溢出,保证数据传输的顺利进行。–>接收方在成功接收并组装数据后,会发送确认帧给发送方。如果发送方在规定时间内未收到确认帧,则会触发超时重传机制,重新发送未确认的数据块,以保证数据的完整性和可靠性。–> CANTP会将原始数据分割成多个小数据块,并添加相应的头部信息。原创 2024-03-19 23:23:32 · 1206 阅读 · 2 评论 -
AutoSAR配置与实践(深入篇)10.1 Diagnostics总体架构
诊断服务业务:Tester发送诊断请求指令,上传诊断应用服务处理并响应诊断服务DEM事件读写业务:应用报告DEM事件并根据需要存储NVM,诊断服务发起读取或者清除事件FIM业务: DEM将事件状态通知FIM ,应用根据FIM中的状态(条件)决定函数是否禁用->返回总目录原创 2024-03-17 19:07:24 · 560 阅读 · 3 评论 -
AutoSAR配置与实践(实践篇)12.2 Time Synchronization[Adaptive Autosar]
等等传感器捕获的数据,在算法中需要精确知道每个数据的采集时间,这样在融合时,才能确切知道使用哪个时刻的数据。每次将时基的本地实例同步到其全球时基时都会执行此操作。此外,来自time master 和 time slave 时间同步过程信息也与Validator 应用程序共享,该应用程序可以在网络中的任何位置运行,例如关于全局时间的所有者。时间网络中,应有一个Time Master,和至少一个Time Slave .其中Time Slave 根据接收到Time Master 的同步消息,进行时间对齐。原创 2024-01-31 09:57:17 · 453 阅读 · 0 评论 -
AutoSAR配置与实践(深入篇)10.8 UDS刷写诊断服务解析(34/36/37服务)
memoryAddress值为0x0x12345678(占4个字节,图中紫色),memorySize值为0x01234567(占4字节,图中绿色),则addressAndLengthFormatIdentifier值为0x44。该服务用于启动下载传输,作用是告知ECU准备接受数据,ECU则通过0x74 response告诉诊断仪自己是否允许传输,以及自己的接受能力是多大。:字节长度和参数格式,厂家自定义,没有定义则默认字节数据为0。:字节长度和参数格式,厂家自定义,没有定义则默认字节数据为0。原创 2023-11-07 23:58:26 · 1629 阅读 · 3 评论 -
AutoSAR配置与实践(深入篇)5.4 OS原理(下 )- 内存保护(MPU)
ECU可能由内部模块、第三方模块等各模块集成的。需求对每个模块所定义的安全等级可能有差异,需要考虑不同安全等级的模块和代码间减少相互干扰,防止程序错误传播。可以理解为包含Task、Alarm、Counter、Schedule table、ISRs、Event等基本对象的容器,用于隔离Task/Alarm等,进行内存保护。原创 2023-11-01 23:49:06 · 2493 阅读 · 5 评论 -
AutoSAR配置与实践(深入篇)5.3 OS原理(中 )- Task调度策略和时间保护
2. Task C在Ceiling优先级下运行时,分别产生了Task A就绪、Task B就绪、INT1中断事件,但是由于这些Task/中断优先级都小于当前Task 的Ceiling优先级。如图,当前TaskC处于运行状态,当激活TaskB进入到就绪状态时,由于TaskB优先级高于TaskC,所以TaskC被迫释放处理器控制 权,调度器 开始调度TaskB从就绪状态变为运行状态,直到TaskB运行完成之后,在调度TaskC继续运行。),Task B剥夺Task C开始执行。原创 2023-10-02 08:43:51 · 1937 阅读 · 2 评论 -
AutoSAR配置与实践(深入篇)5.2 OS原理(上)- 基本对象
调度表可以帮助用户更方便的实现一系列具有时序要求的动作,调度表有若干个EP组成。基本概念:EP(Expiry Point)相当于一个时间点执行对象,当时间到了,Schedule Table就会去执行这个EP,EP可触发多个Task或者触发多个Event,而一个Schedule Table 可配置多个 EP(Expiry Point)Initial Expiry Point:第一个执行的EPInitial Offset: 从0 到第一个Expiry Point的距离。原创 2023-09-30 18:44:44 · 782 阅读 · 0 评论 -
AutoSAR配置与实践(基础篇)3.9 BSW的OS功能
多个OsApplications情况下,不同OsApplication之间访问需要Trusted(Non-Trusted) Function。SC3和SC4在SC1/SC2基础上支持支持OS 应用/服务保护/调用安全函数。可以监控一个任务的执行时间及任务间的执行间隔,这些影响任务的实时性。是否支持多个OsApplications。是否支持调度表进行任务调度和event设置。注:可伸缩等级在工程中是可以配置的。SC2在SC1基础上支持时间保护。SC3在SC1基础上支持内存保护。是否支持OSEC OS。原创 2023-09-29 17:59:25 · 723 阅读 · 0 评论 -
AutoSAR配置与实践(基础篇)3.8 BSW的诊断功能
故障虽然存储到了Flash不会丢失,但是售后工程师要知道发生故障的原因,所以一般诊断仪器去读取,而诊断仪和ECU的交互一般要通过Communication的Stack(比如CAN通信),这是诊断通信管理(DCM)的作用。ECU出现故障,再次上电为了避免丢失,所以一般故障发生时要存储到非易失存储区域(Flash中)。这是诊断事件管理(DEM)的作用。故障发生后,有时是严重故障可能对ECU产生破坏,这是要及时采取防护措施,比如过流时及时关闭IO输出降低功率,这是FIM的作用。原创 2023-09-16 12:21:55 · 649 阅读 · 0 评论 -
AutoSAR配置与实践(实践篇)13.6 如何添加一个NVM BLOCK (PIM类型)
NvM提供了NvM_ReadPRAMBlock/NvM_WritePRAMBlock一对API可以对这个固定地址(永久地址)的RAM块进行读写操作。配置这样的地址,我们称之为PerInstanceMemory(PIM),它存在于RTE中,SWC可以通过Rte_Pim接口访问。与Nv Block Descriptor类型的差异在于PIM类型适用于单个SWC访问,而Descriptor类型一般是多个SWC共同访问一个Block。两种类型的优劣势在之前有介绍,不清楚的可以回头看看7.5章节的介绍。原创 2023-09-13 23:38:17 · 1545 阅读 · 0 评论 -
AutoSAR配置与实践(深入篇)8.1 BSW的WatchDog功能(上)
监督实体(SE):受监管实体是由WdgM监控的软件部分。可以代表一个算法、一个函数,或者在操作系统的情况下一个完整的任务。监督实体可以分布在多个任务或应用程序中,同一任务也可以有多个监督实体。检查点(Checkpoint):标志着算法执行过程中的重要步骤。原创 2023-09-08 00:03:42 · 899 阅读 · 1 评论 -
AutoSAR配置与实践(实践篇)12.1 BSW WatchDog功能的配置和实现
定义WdgMMode下的WdgMAliveSupervision监控项定义WdgMAliveSupervision监控项属性并和对应的checkpoint关联。Short Name: Alive Supervision监控项的名称:关联的监控SE实体所对应的checkPoint(CP),一个监控实体只能设置一个Alive监控CP;:期望被CP触发的次数Max Margin:在监控时间内,期待监控点(CP)执行的次数Tolerance的上限增量Min Margin。原创 2023-09-07 20:15:52 · 1060 阅读 · 1 评论 -
AutoSAR配置与实践(实践篇)11.5 IPDU如何实现分组控制
注意:如果一个I-PDU没有绑定到任何I-PDU group,那么COM模块会在Com_Init时启动该I-PDU,由于COM永远不会停止一个隐含启动的I-PDU,该I-PDU也没有绑定到任何一个I-PDU group,因此该I-PDU将永远不能被停止。3.1 Dcm_NormNm_Notification_CANFD_V3_0_Disable 代表28服务,变更前功能为禁止所有PDUGroup,(引用实现模块的头文件)至此,整个配置工作全部完成,即保证了周期轮询检测配置字匹配新报文(报文组)是否发送,原创 2023-06-10 12:11:27 · 2017 阅读 · 0 评论 -
AutoSAR配置与实践(深入篇)6.4 COM 主要功能描述
》对于信号/信号组来说,如果ComDataInvalidAction配置为NOTIFY,ComInvalidNotification配置了相应的Callback接口,那么当接收到ComSignalDataInvalidValue值时会调用Callback接口通知上层,这种情况下信号/信号组的后续处理(如滤波处理、正常的信号通知)不会进行。,要求信号定期更新(即便值是相同的值也要要求发送端应用重新设置),主要是避免发送端出现异常,如周期报文发送端应用异常,从而不重设信号值,而此时数据可能判断无意义的数据。原创 2023-06-05 23:24:50 · 1962 阅读 · 0 评论 -
AutoSAR配置与实践(深入篇)7.5 NVM架构、存储形式及隐式显式同步
模块简介:全称NVRAM Manager ,存储服务管理模块。主要提供抽象数据存储,在上电读取下电存储数据,支持Immediately存储数据,将 NV data在ROM和RAM之间建立关联。全称Memory Abstraction Interface,存储抽象接口模块。实现存储数据Block在内部Flash或者外部EEP的分离操作。全称Flash EEPROM EMULATION,FLASH模拟模块。FEE实现对Flash的数据Block的抽象和动态数据的Layout。原创 2023-06-28 23:03:05 · 4145 阅读 · 6 评论 -
AutoSAR配置与实践(实践篇)13.1 如何添加一个NVM BLOCK
解决办法:如下红框选项都不要自定义,否则无法自动生成对应RAM/ROM映射接口函数。传送门–AUTOSAR配置与实践—总目录传送门–AUTOSAR配置与实践—总目录。原创 2023-06-22 12:07:26 · 2313 阅读 · 17 评论 -
AutoSAR配置与实践(实践篇)13.2 NVM配置Block类型/写入次数对实际写入过程影响(含数据实验-详解)
> 配置类型Redundant Block,需双备份,为该Block分配两个Sector(相邻),往一个Sector固定地址写入时会自动写入相邻的另外一个Sector。-> 配置类型Redundant Block,需双备份,为该Block分配两个Sector(相邻),往一个Sector固定地址写入时会自动写入相邻的另外一个Sector。-> 配置擦写次数10万次(和实际硬件性能10万次寿命吻合),所以决定instance为1,往固定地址写入即可,无需额外的均衡策略和偏移。原创 2023-07-08 02:11:01 · 1306 阅读 · 4 评论 -
AutoSAR配置与实践(深入篇)6.3 COM 整体架构和模块交互
常见接口有Com_SendSignal/Com_SendSignalGroup/Com_ReceiveSignal/Com_SetIpduGroup等。---->需在Com_InitMemory()后执行(主要初始化启动代码中不能初始化的变量,使Com处于初始化状态以便执行Com_Init)–BSW层:COM、MEM(内存管理)、DIAG、SYS、OS等,主要为上层提供基础应用(通过RTE): Com_IpduGroupControl ---->BSWM模块控制PDUGroup的使能/禁止。原创 2023-06-04 16:53:10 · 3513 阅读 · 1 评论 -
AutoSAR配置与实践(深入篇)7.3 NVM主要接口、模块交互和数据流向(详细)
通常AUTOSAR闪存驱动程序(FLS)是一个软件模块,在用于AUTOSAR存储器堆栈内的使用中是可配置的,可以选择使用带有vMem模块的MICROSAR内存堆栈。内存堆栈可供内存的一个用户使用,但是有时系统中有访问Flash的其他用户,例如软件下载用户同时使用存储器堆栈;许多设备不允许并行闪存访问,因此AUTOSAR存储器堆栈必须与其他用户同步,因此产生了扩展内存堆栈。vMem提供了基本Read/Write/Erase/State check等功能,功能类似传统的FLS驱动程序。原创 2023-07-11 21:20:35 · 2404 阅读 · 2 评论 -
AutoSAR配置与实践(基础篇)3.7 BSW的WatchDog功能(下)
看门狗模块由WdgM统一管理,这里围绕WdgM模块分析与其他模块交互。通过交互的说明,可以理解WdgM的主要功能。WdgM 调用SchM_Enter_WdgM_WDGM_EXCLUSIVE_AREA_0进入临界区(中断挂起)。WdgM 调用SchM_Exit_WdgM_WDGM_EXCLUSIVE_AREA_0退出临界区(中断恢复)。在WdgM监控程序失败之后,可以通过Mcu的接口Mcu_PerformReset立即重新ECU单元。WdgM 在检测到错误之后,可以通过Dem模块触发Event。原创 2023-09-04 23:07:37 · 717 阅读 · 0 评论 -
AutoSAR配置与实践(深入篇)8.2 BSW的WatchDog功能(下)
即喂狗计数为3次,喂狗周期26ms,即从wdgm调度异常不能重置计数开始,经历3个中断周期:总检测时间= 3 *26= 78ms。本例为25%,即中断有效喂狗窗口为Fast(Slow) Mode超时的75%-100 %,即喂狗窗口25.5 ms -34ms,结合如上中断喂狗周期26ms,喂狗周期位于窗口期内。(Service Interval):中断喂狗的周期。当系统运行异常时(如软件跑飞),仍能误操作Wdg寄存器window watch dog,检测到在无效窗口喂狗,判定为错误,采取错误处理(如复位)。原创 2023-08-31 00:40:19 · 1282 阅读 · 10 评论 -
AutoSAR配置与实践(基础篇)3.6 BSW的WatchDog功能(上)
WatchDog 即看门狗功能。这个看门狗不是真正看家的狗,而是软件的一个模块,但是因为功能类似故以此起名。主要功能是在其他各模块异常时起到保护作用。(已了解看门狗概念可以略过举例,直接了解架构图);比如一个你家里的小度出现了花屏,那么应该是显示模块出现了异常,而如果不做任何处理,那么会影响用户的继续使用。而此时看门狗模块的作用就体现出来了,看门狗模块监控到显示模块出现异常,会通过一些恢复方法(比如重启系统)尝试恢复,这就是看门狗的功能。WdgM。原创 2023-08-24 22:46:11 · 1014 阅读 · 0 评论 -
AutoSAR配置与实践(基础篇)3.5 BSW 的模式管理
EcuM:ECU State Manager,ECU状态机,主要作用是管理的是ECU的上下电功能,具体有以下四个功能:• 负责初始化和反初始化基本软件模块、 OS 和RTE等模块;• 为单片机的休眠(Sleep)模式和唤醒(wake up)模式做准备• 与资源管理器(例如,通信管理器)协作,关闭或重启ECU;• 管理所有唤醒事件,并在被要求时配置ECU 为SLEEP 状态。BswM。原创 2023-08-23 23:31:10 · 665 阅读 · 0 评论 -
AutoSAR配置与实践(实践篇)11.1 如何通过IPDU分组控制报文收发
注意这个新增的action其实是一个用户回调函数,在函数中进行配置字的判断,即可完成用户条件的判断(TRUE/FALSE),注意用户条件是用户封装的函数,用于输入给后续的逻辑判断和rule。进行PDU的拆分后,根据配置字可以选择PDU是否使能了。PDU组拆分后可分为常规PDU组和可配PDU组(新增),诊断一方面按原有逻辑控制常规PDU组,另一方面控制新的可配PDU组。举例说明,诊断场景:使能,配置字满足,则用户条件为TURE,表示期望使能可配PDU组(诊断禁止服务场景类似方式,在此不再列举)。原创 2023-08-23 12:06:04 · 599 阅读 · 0 评论 -
AutoSAR配置与实践(基础篇)3.4 BSW 的存储功能
在内存栈中包含服务层(NvM)、抽象层(MemIf、EA、Fee、Ex EE Drv、Ex Fls Drv)、MCAL(SPI、EE Drv、Fls Drv)几个模块。AutoSAR中对NV数据的存储主要包括片内存储和外部存储两种方式。片内存储,是用芯片内部的DFLASH或片内EEPROM进行数据存储;外部存储,是通过外部DFLASH或外部EEPROM进行存储,一般会调用SPI、IIC等通信方式外挂EEPROM芯片。EEPROM以字节为单位进行擦除,同一个存储单元可以重复写。原创 2023-08-23 09:08:40 · 661 阅读 · 0 评论 -
手把手教你学AutoSAR 前言
计划分三个板块讲解,对应以上Autosar学习的三个阶段:一、基础篇(目标:懂概念)。主要讲概念原理,如APPL、SWC、Port、RTE、BSW,会较多通过图形、表格、举例等方式进行归纳总结,以便清晰展现AUTOSAR的概念和原理。二、深入篇(目标:懂原理,会配置)。主要针对基础篇中的概念进行展开,深入讲解实现原理以及相关的配置项功能三、实现篇(目标:会综合应用)。实践操作,主要讲如何综合利用配置项实现特定的功能。原创 2023-06-18 19:20:31 · 663 阅读 · 0 评论 -
手把手教你学AutoSAR - 总目录
鉴于近期较多博友问及微信群,如下可申请好友验证,请备注“autosar”,否则可能添加不通过。验证通过后,拉入讨论群。PS:本人鉴于工作事项可能不能及时回复问题,可在交流群内部和其他博友之间相互沟通交流经验。欢迎来到桃源乐游的《AutoSAR配置与实践》,以下为学习大纲,蓝色字体点击可跳转。原创 2023-06-07 09:37:07 · 6008 阅读 · 26 评论 -
AutoSAR配置与实践(深入篇)6.1 BSW的通信功能进阶
主要分为发送流程、发送确认流程、接收流程三个主要流程。其中接收流程和发送确认的流程类似,差异在通知接口不同。关于接收和发送确认两个流程的通知方式,在CAN Driver、COM、SWC三个层每个层都可以选择轮询或者非轮询的方式,综合起来是2* 2 *2 = 8种。而每种都列出则过于繁琐,所以只列举相关层全部轮询或者全部非轮询的获取方式,同时分析这种方式的影响。读懂后,其他的方式读者可以自由组合,分析下对应的影响,相信能够触类旁通。原创 2023-08-20 23:15:53 · 969 阅读 · 0 评论 -
AutoSAR配置与实践(基础篇)3.3 BSW的通信功能
BSW的通信功能模块组成Com:Communication,通信层的功能 PduR:全称Protocol Data Unit Router,协议数据单元路由器,IpduM:I-PDU Multiplexer,可选模块,使用场景为当表示CAN ID的位不足时,用户从数据字节中拿出一些字节作为协议用TP:Transport Protocol,传输协议层,一般做诊断用到Interface:与硬件无关的一层,总线特有的功能(与总线的发送和接收机制有关系),BSW的通信功能收发过程解析原创 2023-08-18 16:51:36 · 846 阅读 · 6 评论 -
AutoSAR配置与实践(基础篇)3.2 BSW中的I/O架构和模块详解
车门位置传感器(Sensor SWC)输出的电流信号经过了一系列处理,如先被转化为电压信号,后又经ADC转换为数字信号,但是IoHwAb模块对上层隐藏了这一系列处理过程,并将数据直接抽象为它的输出接口,即车门开关状态接口。Sensor SWC 使用RTE接口直接从IoHwAb模块封装的车门开关状态,SWC它并不关心ECU硬件是如何实现的传感器电流采集,也不关心MCU ADC采样精度(如10/12位)IoHwAb把采集的电压抽象为开关状态,使得Sensor SWC不依赖具体的ECU硬件。原创 2023-08-17 14:59:56 · 1030 阅读 · 0 评论 -
AutoSAR配置与实践(基础篇)3.1 BSW架构和主要功能概要
微处理器抽象层(MCAL),MCAL是BSW的最底层,是对主芯片寄存器的封装,访问MCU内部外设的驱 动。它包含一些MCU内部驱动软件模块,把寄存器的操作做成统一的API接口,访问MCU内部外设(DIO、ADC等)。MCAL一层依赖于芯片,它的上面一层(ECU抽象层)则可以独立于具体的硬件。当微处理器型号发生变化时候,只需要更新对应配置,即可做到兼容所有芯片。微控制器驱动MCU内部外设驱动,比如WTDG、Timer定时器等。通信驱动。原创 2023-08-16 11:16:37 · 1537 阅读 · 0 评论 -
AutoSAR配置与实践(基础篇)2.5 RTE对数据一致性的管理
SWC内部不同的Runnable访问共同全局变量,Runnable类似C文件中的函数,这些函数如果被放在不同Task上运行, 可能出现出现同一时刻多个函数共同运行的情况。可以通过为受影响的任务分配相同的优先级,为受影响的任务分配相同的内部操作系统资源,或者将OS的任务配置为非抢占性来实现。数据一致性:当多个操作同时读写同一个数据,由于任务的抢占,出现了数据被篡改的情况,造成非预期的数据结果。SWC内部变量保护,限定局变量的作用域在变量的作用域在SWC的不同runnable间。原创 2023-08-15 12:25:02 · 2339 阅读 · 2 评论 -
AutoSAR配置与实践(深入篇)5.1 RTE对Ports的支持 – C/S原理进阶
在等待的task数量(多client时每个client的get_result请求所映射task可能不同)正在等待的task列表是否请求已处理完成对应请求接口的输出参数,用于存放请求到的数据请求的结果,是请求到了数据还是超时。原创 2023-08-12 00:49:20 · 964 阅读 · 0 评论