文章目录
AUTOSAR学习路径
建立概念模型
目标:理解AUTOSAR CP的核心思想、基本术语和整体架构。
核心概念学习:
- layered Architecture: 熟练掌握三层架构(应用层、RTE、BSW),理解其“硬件隔离”的设计哲学。
- Software Component (SWC): 理解什么是SWC,以及
Port
和Interface
(S/R
和C/S
)的概念。这是应用软件的基础构建块。 - Virtual Functional Bus (VFB): 理解这个抽象概念,明白它如何实现SWC的独立于部署的设计。
- 方法论: 了解AUTOSAR的开发流程(系统级配置、ECU级配置、代码生成)。
关键术语:
- 务必搞清楚这些词:Runnable, RTE Event, OS Task, BSW Module, ECU Extract, System Description, .arxml文件。
学习资源:
- 官方文档:AUTOSAR官方网站的简介材料
- 网络课程,博文与视频
最佳路径:官方文档【标准文档】 + 官方培训【社区】 + 项目经验【动手实践】。
深度模块学习
目标:深入理解核心BSW模块的工作原理和配置细节,不再将其视为黑盒。
操作系统 (OS):
- 深入学习OSEK/VDX OS标准。
- 理解
Tasks
(基本任务、扩展任务)、Interrupts
(ISR1/ISR2)、Resources
(防止优先级反转)、Alarms
(定时器)、Schedule Tables
(时间触发操作系统的基础)。 - 理解
Runnables
如何映射到Tasks
,以及不同调度策略的影响。
通信栈 (Communication Stack):
- 层级:COM -> PduR -> CanIf -> Can Driver / CanTrcv。
- 理解
PDU
(协议数据单元)的路由过程。一个LIN信号如何被转发到CAN总线上?这就是PduR的工作。 - 熟练掌握
CAN
和LIN
的配置(数据库DBC/LDF导入、信号、PDU、通信矩阵的实现)。
存储栈 (Memory Stack):
- 层级:NvM -> Fee -> Fls
- 理解
NvM
如何管理NV Block(读写、缓存、CRC校验)。 - 理解
Fee
(Flash EEPROM Emulation)抽象层的作用,以及Fls
驱动与硬件Flash的直接交互。
系统服务:
- ECU状态管理器 (EcuM): 深入理解
STARTUP, RUN, SLEEP, SHUTDOWN
状态机。 - 看门狗管理器 (WdgM): 理解逻辑监控和 Alive / Deadline 监控。
- 诊断栈 (Dcm/Dem): 了解诊断请求处理、事件监控和故障码存储的基本流程。
- ECU状态管理器 (EcuM): 深入理解
Runtime Environment (RTE):
- 深入研究生成的RTE代码,理解
S/R
和C/S
接口在代码层面的实现区别。 - 理解RTE Event是如何触发Runnable的(例如,通过OS Task、定时器事件或数据接收事件)。
- 深入研究生成的RTE代码,理解
高级主题与集成
目标:将AUTOSAR知识与整车开发和行业标准结合,解决复杂问题。
功能安全 (FuSa - ISO 26262):
- 学习如何配置和使用AUTOSAR中的安全机制。
- 例如:OS的内存保护(MPU)、锁步核监控、通信的ECC、CRC校验等。
- 理解ASIL等级如何影响SWC和BSW的配置。
集成与调试:
- 集成:学习如何将手写代码、自动生成代码、第三方库集成到AUTOSAR环境中(通常通过CDD - Complex Device Driver)。
- 调试:熟练使用调试工具(如CANoe、CANalyzer)来监测总线和AUTOSAR系统的行为,使用 Lauterbach 等调试器进行底层调试。
脚本与自动化:
- 学习使用Python等脚本语言处理
.arxml
文件,实现配置工作的自动化,这是高级工程师的必备技能。
- 学习使用Python等脚本语言处理