课程名称:汽车电子嵌入式软件开发研修班
培训对象:嵌入式软件工程师、底层驱动工程师、AUTOSAR工程师、软件测试工程师、系统工程师。
培训目标:
全面掌握汽车嵌入式软件架构与开发流程。
精通MCU底层驱动开发与硬件抽象。
熟悉通信协议栈(CAN/LIN/以太网)实现。
掌握基于UDS的Bootloader与诊断开发。
1. 汽车嵌入式软件架构概述
嵌入式软件分层架构(应用层/中间件/底层);AUTOSAR经典平台与自适应平台;MISRA C编码规范;软件开发V流程。
2. MCU选型与启动流程
车规级MCU选型要素(内核/Flash/RAM/外设/功能安全);MCU启动流程(BootROM/启动配置/向量表重定向);时钟与电源管理初始化。
3. 底层驱动开发(MCAL)
GPIO驱动;ADC驱动与采样;PWM输出与捕获;看门狗(WWDG/IWDG)驱动;EEPROM/Flash模拟EEPROM驱动。
4. 中断与资源管理
中断向量与优先级配置;中断嵌套与抢占;临界段保护;资源互斥与死锁预防;多核通信基础。
5. 实时操作系统(RTOS)应用
OSEK/AUTOSAR OS规范;任务管理与调度策略(时间片/优先级);资源管理与优先级反转;事件与信号量;时间保护与内存保护。
6. CAN通信协议栈开发
CAN控制器驱动;CAN报文收发与过滤;CAN驱动程序开发;CAN总线错误处理与Bus-Off恢复。
7. LIN与以太网通信基础
LIN通信原理与调度表;LIN从机/主机驱动开发;以太网/SOME/IP基础;网络管理(OSEK NM/AUTOSAR NM)。
8. 诊断协议栈(UDS)开发
UDS(ISO 14229)服务概述;诊断会话与安全访问;DTC(故障码)管理与快照;例程控制与数据标识符;诊断栈集成。
9. Bootloader开发与OTA
Bootloader架构(Primary/Secondary);Flash驱动与擦写算法;UDS刷写服务实现;刷写可靠性设计(CRC校验/回滚机制);OTA升级流程与信息安全。
10. 基于模型的设计(MBD)
MATLAB/Simulink/Stateflow建模;自动代码生成;模型在环(MIL)/软件在环(SIL)/硬件在环(HIL);模型测试与覆盖率分析。
11. 软件集成与测试
软件集成策略(增量/每日构建);静态代码分析(QA-C/Polyspace);单元测试与集成测试;软件功能测试与回归测试。
12. 功能安全与信息安全基础
ISO 26262对软件要求;软件安全机制(ECC/看门狗/程序流监控);信息安全基础(安全启动/SecOC/HSM应用)。
【综合案例研讨】
案例一:基于AUTOSAR架构的BCM软件集成——某车身域控制器项目中,从MCAL配置、RTE生成到应用层SWC集成的全流程实践,解决任务调度超时与CAN通信丢帧问题。
案例二:UDS Bootloader开发与OTA升级故障排查——某控制器OTA升级过程中出现刷写失败导致变砖问题,通过优化Flash驱动与添加断点续传机制,提升升级成功率至99.9%。
案例三:CAN总线Bus-Off故障分析与恢复优化——某车型在实车运行中频繁出现节点脱网,通过分析Bus-Off触发机制与快速恢复算法,优化TEC计数处理与恢复策略,提升网络稳定性。