![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
AUTOSAR
文章平均质量分 94
一ye残雪
汽车底层软件
展开
-
应用层-SWC架构
应用层-SWC架构0 前言1 SWC设计原理1.1 SWC架构目的1.2 SWC架构方案2 SWC架构实现2.1 通用数据Base TypeUnitsData ContraintsCompu MethodConstants2.2 Data ElementImplementation Data TypeApplication Data TypeData Type Map2.3 PortPort PrototypePort Interface2.4 Atomic SWCApplication Component原创 2021-06-13 14:51:18 · 7419 阅读 · 2 评论 -
TC389-MCMCAN模块
TC389-MCMCAN模块0 前言1 CAN通讯功能综述1 MCMCAN模块2 CAN Node的Receive机制2.1 Dedicated Rx Buffer2.2 Rx FIFO2.3 过滤器3 CAN Node的Transmission机制3.1 Dedicated Tx Buffer3.2 Tx FIFO3.3 Tx Queue3.4 Mixed Dedicated Tx Buffers and Tx FIFO3.5 Mixed Dedicated Tx Buffers and Tx Queue原创 2021-06-09 22:38:46 · 5616 阅读 · 4 评论 -
AUTOSAR-MemIf模块
AUTOSAR-MemIf模块0 前言1 MemIf模块的设计原理2 MemIf模块的C语言实现2.1 C文件架构2.2 使用到的类定义和状态枚举2.4 MemIf模块提供的APIMemIf_ReadMemIf_WriteMemIf_InvalidateBlockMemIf_EraseImmediateBlockMemIf_CancelMemIf_SetModeMemIf_GetStatusMemIf_GetJobResult2.5 MemIf模块使用的外部APIDet_ReportError3 MemIf原创 2021-06-02 13:13:50 · 4808 阅读 · 1 评论 -
AUTOSAR-Fee模块
AUTOSAR-Fee模块0 前言1 TC389中的Data Flash基础知识1.1 Data Flash操作区域1.2 Data Flash操作指令2 Fls模块的设计原理2.1 Flash Emulation EEPROM2.2 地址、长度和数据块2.3 轮训模式和回调模式2.4 同步和异步,处理模式2.5 访问代码2.6 配置指针和状态指针3 Fls模块的C语言实现3.1 C文件架构3.2 使用到的类定义和状态枚举3.3 配置指针和状态指针3.4 Fls模块提供的APIFls_17_Dmu_Init原创 2021-06-01 14:10:42 · 18681 阅读 · 6 评论 -
AUTOSAR-Fls模块
AUTOSAR-Fls模块0 前言1 TC389中的Data Flash基础知识1.1 Data Flash操作区域1.2 Data Flash操作指令0 前言>>返回AUTOSAR系列文章目录<<1 TC389中的Data Flash基础知识1.1 Data Flash操作区域英飞凌AURIX TC389中的数据闪存模块(Data Flash,DFLASH)中部分存储空间用于模拟EEPROM并存储用户数据,AUTOSAR中的Fls模块是这部分存储空间的驱动模块与PFLA原创 2021-05-21 16:30:27 · 15438 阅读 · 12 评论 -
INCA - A2L文件
汽车电子标定:A2L文件0 前言1 A2L文件简介2 A2L文件结构0 前言1 A2L文件简介A2L文件是基于ASAP2标准,采用ASAP2指定的一套类XML语言的描述性语言(采用开标签和关标签来描述信息)书写,描述ECU的通信等相关的参数,以及标定,观测变量的地址以及物理值计算公式等等的文本格式文件。它用来指导上位机和ECU的通讯交互过程,让他们对交互的信息有一致的认识,从而是上位机工具准确且友好的将ECU中的信息展现给用户。ASAP2标准是ASAM组织制定的一套标准,该标准规定了上位机(Mast原创 2021-05-19 17:32:31 · 8617 阅读 · 2 评论 -
线性反馈移位寄存器LFSR和循环冗余码CRC
线性反馈移位寄存器LFSR和循环冗余码CRC0 前言1 数学基础1.1 逻辑异或1.2 模2乘法 和 模2除法2 线性反馈移位寄存器LFSR2.1 抽头和特征多项式3 循环冗余码CRC0 前言线性反馈移位寄存器(Linear Feedback Shift Register,LFSR)和循环冗余码(Cyclic Redundancy Check,CRC)是微控制器中常用的底层原理。LFSR用于生成伪随机数,后者用于生成检错码。他们的数学原理都是一样的。1 数学基础1.1 逻辑异或异或运算使用符号⊕原创 2021-03-31 11:25:17 · 9160 阅读 · 7 评论 -
微控制器存储器介绍
内存1:微控制器存储器介绍0 前言1 存储器硬件分类1.1 ROM存储器PROMEPROMEEPROMFlashFlash Emulation EEPROM1.2 RAM存储器DRAMSRAM2 存储器功能分类2.1 CPU内存储器2.2 CPU外存储器0 前言本文介绍车用微控制器存储器,无论是寄存器指令还是AUTOSAR的NvM单元,都是以微控制器的存储器硬件为基础1 存储器硬件分类1.1 ROM存储器Read Only Memory,只读存储器,最初代表一种出厂后只能读不能写、不掉电的设备。烧原创 2021-03-15 17:18:07 · 5839 阅读 · 1 评论 -
C语言-结构体篇
C语言-结构体篇0 前言1 结构体声明1.1 基本声明方式1.2 合并声明方式0 前言1 结构体声明1.1 基本声明方式结构体基本声明方式要分为两步:先定义一个结构体类型BOOK,此时内存中并没有给结构体安排空间。然后用BOOK声明两个结构体变量book1,book2,此时内存中开辟两个空间用于存放boo1,book2。/****定义一个结构体类型****/struct BOOK{ char title[MAXTITL]; //注意分号结尾 ; char author原创 2020-08-27 12:08:26 · 1036 阅读 · 0 评论 -
C语言-解读复杂声明
C语言-解读复杂声明0 前言0 前言尝试理解以下声明:int (*daytab)[13];int *daytab[13];void (*comp)();void *comp();char (*(*x())[])();char (*(*x[3])())[5];int (*func)(int);int (*func[5])(int *p);int *func(int *)[5];char *(*(*f(char *(*para)(char *)))[2])();...原创 2020-08-26 18:12:27 · 713 阅读 · 1 评论 -
C语言-预处理篇
C语言-预处理篇0 链接1 预处理器0 链接C语言-基础篇: link.C语言-内存篇: link.C语言-指针篇: link.1 预处理器原创 2020-08-19 19:59:19 · 2384 阅读 · 0 评论 -
C语言-基础篇
C语言学习笔记第一个程序第一个程序#include <stdio.h>int main(){ /* 我的第一个 C 程序 */ printf("Hello, World! \n"); return 0;}所有的 C 语言程序都需要包含 main() 函数。 代码从 main() 函数开始执行。/* … */ 用于注释说明。printf() 用于格式化输出到屏幕。printf() 函数在 “stdio.h” 头文件中声明。stdio.h 是一个头文件 (标原创 2020-08-07 11:10:16 · 1872 阅读 · 0 评论 -
EcuM模块
EcuM模块0 前言1 EcuM状态1.1 流程图:MasterCore从STARTUP 到RUN1.2 流程图:SlaveCore从STARTUP 到RUN0 前言ECU State Manager (EcuM) 主要工作是:初始化BSW (Basis Software)ECU的sleep和wake upECU的shut down和resetEcuM有两种模式,EcuM flex和EcuM fixed,这里只谈EcuM flex。1 EcuM状态Module StateAct原创 2021-04-28 18:14:30 · 3515 阅读 · 0 评论 -
C语言 - MISRA代码规范
C语言-手写代码规范0 前言0 前言C语言有C90(ISO于1990年批准该标准)、C99标准(ANSI/ISO联合委员会发布)和C11标准(2011年发布),手写C语言代原创 2020-09-11 09:38:07 · 3032 阅读 · 1 评论 -
AUTOSAR-I/O服务
AUTOSAR-MCAL模块0 前言1 DIO模块1.1 功能说明1.2 API说明0 前言1 DIO模块DIO模块提供服务来控制模拟数字I/O引脚的状态。这些服务包括:单个通道的读写整个通道的读写通道组的读写值1.1 功能说明初始化通过调用Dio_Init(&DioConfig)来初始化DIO模块。通过调用Dio_InitMemory()来初始化所有的全局变量。所以Dio_InitMemory()必须在Dio_Init()之前被调用模块DIO没有提供Main_Functio原创 2020-09-07 16:23:23 · 2214 阅读 · 1 评论