本書在介紹汽車電控模塊開發規范AUTOSAR通用知識的基礎上,通過重卡自動駕駛整車控制器項目,講述了基于AUTOSAR和英飛凌TC275微控制器平臺進行車載ECU 基礎軟件設計和集成的全過程。AUTOSAR分層架構的每個部分均從通用方法講起,再通過具體的模塊進行詳細過程描述,步驟清晰,配圖豐富,旨在讓讀者能夠切實將書中的方法應用在實際項目中。書的最后簡要介紹了AUTOSAR工具鏈對道路車輛功能安全和信息安全的支持,為開發符合ISO 26262、GB/T 34590、ISO 21434、WP.29 R155/R156等標準的車載控制器軟件提供參考。
本書適合于具有一定車載嵌入式軟件開發經驗和C語言基礎的讀者,可作為高等院校本科生、研究生學習嵌入式軟件開發的參考書,也可供汽車電子行業軟件工程師學習和參考。
1 AUTOSAR 基礎知識 001
1.1 AUTOSAR 簡介 001
1.1.1 AUTOSAR優勢 001
1.1.2 AUTOSAR核心思想 002
1.1.3 AUTOSAR應用現狀 002
1.2 AUTOSAR 分層架構 003
1.2.1 應用軟件層 004
1.2.2 運行時環境 004
1.2.3 基礎軟件層 004
1.3 AUTOSAR 軟件組件 005
1.3.1 軟件組件的數據類型 006
1.3.2 軟件組件的端口 006
1.3.3 軟件組件的端口接口 006
1.3.4 軟件組件的內部行為 007
1.4 AUTOSAR 方法論 008
1.4.1 設計階段 008
1.4.2 開發步驟 009
1.5 AUTOSAR 開發策略 009
2 本書工程實例及AUTOSAR 解決方案 011
2.1 工程實例介紹 011
2.1.1 重卡自動駕駛車輛線控底盤簡介 011
2.1.2 車輛線控改造問題 011
2.1.3 重卡自動駕駛車輛網絡架構 012
2.1.4 整車控制器功能 013
2.2 AUTOSAR 解決方案 014
2.3 AUTOSAR 工具鏈說明 014
3 AUTOSAR 工程創建和模塊集成步驟 015
3.1 AUTOSAR 工程創建 015
3.1.1 文件夾創建 015
3.1.2 工程創建 016
3.1.3 基本接口創建 016
3.2 系統配置 020
3.2.1 部件創建 020
3.2.2 系統創建 020
3.2.3 部件引用和抽取配置 020
3.3 通信配置 023
3.3.1 DBC文件復制 023
3.3.2 DBC導入 023
3.3.3 通信模塊后續處理 025
3.3.4 抽取 026
3.3.5 生成RTA-BSW 026
3.3.6 arxml文件合并 028
3.4 模式管理配置 028
3.4.1 EcuM 配置 028
3.4.2 BswM 配置 029
3.5 操作系統配置 031
3.5.1 OS創建 031
3.5.2 OS配置 031
3.5.3 RTA-OS配置 035
3.5.4 RTA-OS生成 042
3.5.5 集成文件復制 044
3.6 RTE 創建及配置 045
3.6.1 RTE創建 045
3.6.2 RTE配置 046
3.7 定點數位域配置 048
3.7.1 Bfx創建 048
3.7.2 Bfx配置 049
3.8 Ecuc 數據集配置 050
3.8.1 Ecuc Value Collection創建 050
3.8.2 Ecuc Value Collection配置 050
3.9 AUTOSAR 平臺類型配置 053
3.9.1 AR Package創建 053
3.9.2 數據類型添加 054
3.10 缺省故障追蹤器配置 055
3.10.1 Det創建 055
3.10.2 Det配置 055
3.11 標準類型配置 057
4 AUTOSAR 軟件架構設計 058
4.1 軟件組件設計步驟 058
4.1.1 創建軟件組件 058
4.1.2 端口接口設計 061
4.1.3 軟件組件內部行為設計 061
4.1.4 軟件組件加入部件 062
4.1.5 軟件組件加入ECU 063
4.2 軟件組件集成方法 064
4.2.1 運行實體添加 064
4.2.2 系統信號映射 064
4.2.3 內部信號映射 065
4.2.4 代碼生成 065
4.3 軟件組件設計案例 070
4.3.1 軟件組件匯總 070
4.3.2 信號采集軟件組件 071
4.3.3 驅動控制軟件組件 073
4.3.4 基本功能軟件組件 075
4.3.5 應用軟件組件 079
4.3.6 其他軟件組件 079
5 AUTOSAR BSW 設計 082
5.1 BSW 設計通用步驟 082
5.1.1 BSW 相關模塊梳理 082
5.1.2 BSW 模塊配置 083
5.1.3 基礎模塊配置 084
5.1.4 微控制器抽象層配置 085
5.1.5 軟件集成 085
5.2 EcuM 模塊設計 087
5.2.1 EcuM 模塊創建和整體配置 087
5.2.2 EcuM 通用配置 089
5.2.3 EcuM 靈活狀態機配置 093
5.3 BswM 模塊設計 094
5.3.1 BswM 模塊創建和通用配置 094
5.3.2 模式配置 097
5.3.3 行為配置 099
5.3.4 行為列表配置 103
5.3.5 請求端口配置 106
5.3.6 模式條件配置 108
5.3.7 邏輯表達式配置 112
5.3.8 規則配置 114
5.3.9 數據類型映射集配置 117
5.4 NvM 模塊設計 117
5.4.1 存儲模塊概述 117
5.4.2 FEE配置 118
5.4.3 MemIf配置 124
5.4.4 NvM 配置 125
5.4.5 CRC配置 134
5.4.6 存儲相關模塊配置 137
5.4.7 存儲模塊代碼生成 139
5.4.8 存儲軟件組件設計 139
5.4.9 存儲功能集成 141
5.4.10 存儲代碼編寫 143
5.5 其他模塊設計 145
6 AUTOSAR MCAL 設計 146
6.1 MCAL 設計通用步驟 146
6.1.1 MCAL相關模塊梳理 146
6.1.2 Port模塊配置 147
6.1.3 MCU模塊配置 148
6.1.4 UART模塊配置 149
6.1.5 中斷配置 152
6.1.6 初始化函數調用 154
6.1.7 靜態代碼復制 155
6.1.8 調試代碼編寫 155
6.2 MCU 模塊設計 156
6.2.1 通用箱配置 157
6.2.2 MCU模塊配置 158
6.2.3 MCU復位原因配置 164
6.3 GPT 模塊設計 165
6.3.1 通用定時器模塊配置 165
6.3.2 中斷配置 167
6.3.3 通用定時器配置 168
6.4 Port 模塊設計 170
6.5 ADC 模塊設計 172
6.5.1 通用箱配置 172
6.5.2 ADC集配置 174
6.6 SPI 模塊設計 181
6.6.1 端口配置 182
6.6.2 中斷配置 182
6.6.3 DMA配置 182
6.6.4 SPI配置 182
6.6.5 SPI應用 189
6.7 CAN 模塊設計 190
6.7.1 端口配置 191
6.7.2 中斷配置 191
6.7.3 CAN配置 191
6.8 Fls 模塊設計 197
6.8.1 Fls配置 197
6.8.2 Fls應用 201
7 AUTOSAR 其他部分設計與集成 202
7.1 抽象層設計 202
7.2 芯片驅動設計 203
7.2.1 初始化函數調用 203
7.2.2 核心函數調用 204
7.2.3 頭文件路徑配置 204
7.3 基礎軟件與應用軟件集成 204
7.3.1 文件復制與工程刷新 204
7.3.2 抽取和運行時環境生成 206
7.3.3 工程編譯 206
7.3.4 生成標定文件 206
7.4 其他模塊設計 207
8 AUTOSAR 與汽車電子相關技術 208
8.1 AUTOSAR 與功能安全 208
8.1.1 ISO 26262要求和 AUTOSAR支持 208
8.1.2 AUTOSAR安全機制 213
8.1.3 車載ECU基礎軟件功能安全實現 214
8.2 AUTOSAR 與信息安全 215
8.2.1 汽車基礎軟件信息安全要求 215
8.2.2 AUTOSAR信息安全模塊 216
8.2.3 車載ECU軟件信息安全實現 217
參考文獻 218