AutoSAR(AUTomotive Open System ARchitecture)是一个全球性的汽车电子软件架构标准,由全球汽车制造商、供应商以及其他电子、半导体和软件系统公司共同开发。它旨在简化汽车电子软件系统的开发与配置,同时实现软件模块化、标准化,以适应不同汽车制造商的需求。AutoSAR的提出与发展,对于汽车电子领域产生了重大影响。 AutoSAR的主要组成部分包括应用层(Application Layer)、基础软件层(Basic Software Layer)和微控制器抽象层(Microcontroller Abstraction Layer,MCAL)。其中,应用层又分为应用软件层(Application Software Layer)和实时运行环境(Runtime Environment,RTE)。基础软件层负责底层硬件的抽象,包括输入输出、通信、诊断、模式管理等功能,而微控制器抽象层则提供了对硬件的直接接口。 AutoSAR的优势在于实现了硬件无关性,将应用软件与硬件解耦,使得软件可以在不同的硬件平台上移植。此外,AutoSAR通过标准化的接口和模块化的设计,提高了软件的复用性,降低了开发成本和时间。 应用层中的软件组件(Software Component,SCW)是功能模块化的基本单位,它们通过端口(Ports)进行数据交换。端口分为服务端/请求端(Server/Requester,S/R)和客户端/服务器端(Client/Server,C/S)两种类型。运行实体(Runnables)是执行具体任务的实例,它们由RTE进行调度和触发。 RTE是应用软件层与基础软件层的中间桥梁,它负责运行环境的建立、运行实体的调度以及数据一致性的管理。RTE还支持接口的标准化,即定义了系统中软件组件之间以及与基础软件之间的通信接口。 基础软件层(BSW)负责实现与硬件直接相关的功能,其结构包含MCAL、ECU抽象层和服务层。BSW的具体功能包括I/O管理、通信管理、内存管理、模式管理、看门狗管理以及诊断服务等。通过BSW层的管理,硬件资源得到了高效利用,同时保证了系统的稳定性和可靠性。 描述文件在AutoSAR标准中具有重要作用,包括SWC描述文件、系统约束描述文件、ECU资源描述文件、系统配置描述文件以及ECU提取文件等,它们帮助实现软件组件和配置的标准化和文档化。 ECU提取文件(ECUEX)是对ECU软件的提取,可以用于后续的软件更新和维护工作。ECU的项目流程包含了团队构成、角色分配、开发流程等环节,为整个项目的顺利进行提供指导和保证。 工具链在AutoSAR开发中扮演着重要角色,Vector提供的一系列工具,如PREEvision、vVIRTUALtarget、DaVinci、CANoe和CANape等,提供了从设计到测试完整的支持。这些工具增强了开发过程的自动化程度,提高开发效率和软件质量。 随着汽车行业的发展,出现了Adaptive AUTOSAR。它与传统AutoSAR有所不同,主要面向高性能计算平台,满足更加复杂的车载应用需求。Adaptive AUTOSAR在E/E架构、软件架构以及软硬件协同设计方面都进行了创新,为智能汽车的发展提供了新的平台。 实践篇中,通过使用Vector的DaVinci Developer工具,可以对AppL在Dev中的配置进行实践操作,这是对AutoSAR理论知识应用的延伸,帮助开发者实际掌握如何在工具链中进行开发和配置。 AutoSAR为汽车电子软件开发提供了统一的开发框架,提高了开发效率和系统的可维护性,促进了车载软件的标准化和模块化。通过AutoSAR的深入学习和应用,汽车制造商和供应商可以在全球化的市场中快速响应不断变化的汽车电子产品需求。此外,Adaptive AUTOSAR作为新兴的AutoSAR分支,为汽车电子领域带来了更多的创新机会,预示着智能汽车软件开发的新篇章。
2025-07-10 14:47:06 18.67MB AutoSAR 嵌入式系统 汽车电子 软件架构
1
内容概要:本文详细介绍了基于TC397芯片的Autosar多核配置工程,涵盖工具链选择、BSW与MCAL工程编译、六核操作系统配置等方面。首先讨论了工具链的选择,推荐使用EB Tresos和DaVinci Configurator,并强调了编译器参数的重要性。接着阐述了BSW配置中的核心启动顺序和内存分区方法,指出核间同步必须使用硬件信号量。然后讲解了OS配置中的核间通信配置,强调了共享内存对齐和任务分配的原则。最后分享了一些实用的调试技巧,如通过LED指示核的状态。 适合人群:熟悉嵌入式系统开发,尤其是对AUTOSAR有一定了解的研发人员。 使用场景及目标:适用于需要在TC397平台上进行多核开发的工程项目,帮助开发者理解和掌握多核系统的配置和调试方法,确保六个核能够协同工作并稳定运行。 其他说明:文中提供了大量具体的代码片段和配置示例,有助于读者更好地理解和实践。此外,还提到了一些常见的坑和解决方案,为实际开发提供指导。
2025-06-26 16:36:57 502KB
1
### QSPI配置详解 #### 一、概述 本篇文章旨在详细介绍如何配置TC397微控制器中的QSPI(Quad SPI)接口。QSPI是一种高速串行接口,常用于连接存储器或其他外设。TC397芯片具备六路SPI接口,其中QSPI4将作为本文的重点介绍对象。 #### 二、硬件接口配置 在开始软件配置之前,需要明确QSPI4接口所涉及的硬件引脚及其功能: - **QSPI4_MOSI** (Master Out Slave In): P22_0 - **QSPI4_MISO** (Master In Slave Out): P22_1 - **QSPI4_CLK** (Clock): P22_3 - **QSPI4_CS0** (Chip Select 0): P22_2 - **QSPI4_CS1** (Chip Select 1): P02_1 - **QSPI4_CS2** (Chip Select 2): P33_3 此外,还需要配置两个额外的GPIO引脚,用作外部设备的使能控制信号: - **MCU2MPMU_CS0_EN1_A**: P33_12 - **MCU2MPMU_CS0_EN1_B**: P33_13 #### 三、引脚配置 接下来进行具体的引脚配置: 1. **QSPI4_MOSI** (P22_0): 输出模式,备用功能3 (ALT3)。 2. **QSPI4_MISO** (P22_1): 输入模式,通用GPIO。 3. **QSPI4_CLK** (P22_3): 输出模式,备用功能3 (ALT3)。 4. **QSPI4_CS0** (P22_2): 输出模式,特殊功能输出3 (SLSO3)。 5. **QSPI4_CS1** (P02_1): 输出模式,特殊功能输出7 (SLSO7)。 6. **QSPI4_CS2** (P33_3): 输出模式,特殊功能输出2 (SLSO2)。 7. **MCU2MPMU_CS0_EN1_A** (P33_12): 输出模式,通用GPIO。 8. **MCU2MPMU_CS0_EN1_B** (P33_13): 输出模式,通用GPIO。 #### 四、SPI模块配置 完成引脚配置后,进入SPI模块的具体配置步骤: 1. **SpiChannel配置**: - 指定SPI通道的数据传输方向(输入/输出)及数据宽度等。 2. **SpiExternalDevice配置**: - 配置外部设备的相关参数,如时钟极性、相位等。 3. **SpiJob配置**: - 定义一个SPI通信任务(Job),每个Job可包含一个或多个SPI通道。 - Job的执行顺序基于其优先级设置。 4. **SpiSequence配置**: - 将一系列Job组合成一个序列(Sequence),以实现更复杂的通信逻辑。 5. **SpiHwConfiguration配置**: - 包括时钟源选择、数据模式等硬件层配置项。 #### 五、DMA初始化 为了提高数据传输效率,通常会启用DMA(Direct Memory Access)方式来处理SPI数据传输。下面是一段示例代码,展示了如何初始化SPI4的DMA功能: ```c void SPI4_Mount_Dma(void){ volatile Ifx_SRC_SRCR *src = &MODULE_SRC.QSPI.QSPI[4].TX; src ->B.SRPN =3; // 设置DMA请求优先级 src->B.TOS = 1; // 使能传输完成中断 src->B.CLRR = 1; // 清除中断标志 src->B.SRE = 1; // 启用中断 src = &MODULE_SRC.QSPI.QSPI[4].RX; src ->B.SRPN =2; // 设置DMA请求优先级 src->B.TOS = 1; // 使能传输完成中断 src->B.CLRR = 1; // 清除中断标志 src->B.SRE = 1; // 启用中断 Spi_SetAsyncMode(SPI_INTERRUPT_MODE); // 设置SPI为异步模式 } ``` #### 六、中断服务函数 配置好DMA之后,还需编写相应的中断服务函数来处理DMA传输完成事件: ```c ISR(DMA_IMU_RX_CH2SR_Isr) { Dma_ChInterruptHandler(2); // 处理通道2的接收中断 } ISR(DMA_IMU_TX_CH3SR_Isr) { Dma_ChInterruptHandler(3); // 处理通道3的发送中断 } ``` #### 七、总结 通过上述步骤,我们可以成功地配置TC397中的QSPI4接口,以实现高效可靠的SPI数据传输。需要注意的是,在实际应用过程中,还应根据具体需求调整配置参数,并确保所有硬件资源正确连接。
2025-01-07 19:55:09 3.27MB mcal
1
英飞凌TC3系列MCAL(Microcontroller Abstraction Layer)v1.4版本是一个重要的软件组件,主要用于增强英飞凌微控制器在应用开发中的功能性和效率。MCAL是微控制器抽象层,它提供了一个硬件接口,让应用程序可以独立于具体的微控制器硬件进行编程。这个版本的MCAL专为TC3系列微控制器设计,旨在简化开发流程,提高代码的可移植性和可维护性。 在TC3系列微控制器中,MCAL包含了一系列驱动程序,这些驱动程序涵盖了各种片上外设,如ADC(模数转换器)、DAC(数模转换器)、定时器、串行通信接口(如SPI、I2C和UART)、GPIO(通用输入/输出)、PWM(脉宽调制)等。这些驱动程序为开发者提供了标准化的API(应用程序编程接口),使得开发者能够轻松地控制和配置这些硬件资源,而无需深入理解底层硬件细节。 MCAL v1.4版本可能包括了对先前版本的改进和修复,比如性能优化、功耗降低、错误修正或者增加了对新外设的支持。此外,更新通常会带来更好的兼容性和稳定性,确保软件在不同环境下的良好运行。对于开发人员来说,这意味着更快的开发速度,更少的调试时间,以及更可靠的最终产品。 在具体使用英飞凌TC3系列MCAL v1.4版本时,开发者首先需要了解每个驱动程序的功能和用法。例如,ADC驱动可能包含了初始化、读取数据、设置采样率等功能;GPIO驱动则可能支持配置引脚为输入或输出,以及读写操作。开发者可以通过查阅MCAL提供的文档,了解每个API的参数、返回值和可能的错误状态,以便正确地集成到自己的应用代码中。 在压缩包文件"MC-ISAR_AS422_TC3xx_1.40"中,通常会包含以下内容: 1. 源代码:驱动程序的C/C++源码,供开发者查看和编译。 2. 头文件:定义了MCAL的API函数和数据结构,供用户在应用程序中引用。 3. 示例代码:展示了如何使用MCAL驱动的示例项目,帮助开发者快速上手。 4. 文档:详细说明了MCAL的功能、用法、配置选项以及API参考。 5. 配置工具:可能包含用于生成特定平台配置的工具,以适应不同的硬件配置。 通过理解和熟练运用英飞凌TC3系列MCAL v1.4版本,开发者可以更高效地利用TC3系列微控制器的硬件资源,创建高性能、低功耗的应用。同时,由于MCAL的可移植性,开发者还能将已有的知识和经验应用到其他基于英飞凌微控制器的项目中,提高开发效率。
2024-09-25 09:44:41 67.66MB mcal
1
TC397 EB MCAL开发从0开始系列 2.0 PORT配置实战 和 3.0 DIO配置 章节配置
2024-04-19 20:23:43 114KB
1
网上找的 有是需要下载解压关注公众号,又是各种麻烦。我重新传一下 积分需要1就行
2024-02-05 21:11:32 43.95MB autosar
1
TC397 EB MCAL开发从0开始系列 之 [1.1] 集成ADS MCAL demo https://blog.csdn.net/a1906681180/article/details/131628997?spm=1001.2014.3001.5502 文章对应的配置可运行demo
2023-11-08 10:13:56 2.6MB
1
Source insight 解析AUTOSAR源码宏文件, 解决AUTOSAR/MCAL 代码无法解析,显示黑色,无法跳转等问题。
2022-12-13 16:27:50 8KB TOM MCAL Source 无法跳转
1
This User Manual describes NXP Semiconductors AUTOSAR General Purpose Timer ( GPT ) for S32K14X . AUTOSAR GPT driver configuration parameters and deviations from the specification are described in GPT Driver chapter of this document. AUTOSAR GPT driver requirements and APIs are described in the AUTOSAR GPT driver software specification document.
2022-09-08 18:18:42 1.01MB AUTOSAR_MCAL_GPT
1
主要包含了mcal在ebtresos中需要配置的模块的详细官方手册,比如MCU、ADC、PORT等十几个模块。每个模块都单独具有一个文本,每个文本中详细讲解了该模块在MCAL中如何配置,每个配置项的作用、参数等,也讲解了MCAL对上层开放的每个API的作用和使用方法
2022-08-24 09:01:16 1.38MB autosar mcal driver mcu
1