基于OSEK/VDX規范的車(chē)控電子開(kāi)發(fā)
3.5.1 ORTI文件結構
ORTI文件包含版本信息部分、聲明部分和信息部分。版本信息部分描述了KOIL和內核的版本。對于ORTI來(lái)講,內核的版本是ORTI標準的版本號。聲明部分聲明ORTI實(shí)現中使用的內核類(lèi)型,相當于C語(yǔ)言中的結構聲明。它描述了訪(fǎng)問(wèn)內核對象所包含數據的方法。該部分詳細說(shuō)明了給定屬性的顯示名稱(chēng)。信息部分包含了所有給定系統聲明部分所聲明的方法,描述了計算或引用所需屬性的方法。信息部分還提供了所需屬性的靜態(tài)值和表達式。
3.5.2 標準的ORTI對象及屬性
OS對象,包含正在運行的任務(wù)、正在運行的優(yōu)先級、正在運行的中斷處理程序、操作系統服務(wù)、最近的錯誤、當前應用的模式等屬性。
任務(wù)對象,包含優(yōu)先級、狀態(tài)、堆棧、活動(dòng)狀態(tài)、上下文等屬性。
上下文對象,包含地址、大小等兩個(gè)屬性。
堆棧對象,包含大小、基地址、堆棧方向、填充模式等四個(gè)屬性。
報警器對象,包含報警時(shí)間、周期、狀態(tài)、動(dòng)作、記數器等五個(gè)屬性。
資源對象,包含狀態(tài)、資源鎖、優(yōu)先級等三個(gè)屬性。
消息容器對象,包含消息名稱(chēng)、類(lèi)型、隊列大小、隊列記數器、當前消息地址等五個(gè)屬性。
4 車(chē)控電子產(chǎn)品的開(kāi)發(fā)流程
車(chē)控電子產(chǎn)品是軟硬件結合的嵌入式系統。為了節約資源,縮短產(chǎn)品開(kāi)發(fā)周期,一般應采取軟硬件同步開(kāi)發(fā)的方案,如圖5所示。車(chē)控電子產(chǎn)品的開(kāi)發(fā)工具對軟硬件的同步開(kāi)發(fā)、調試提供了很好的支持。車(chē)控電子產(chǎn)品的軟件開(kāi)發(fā)分為功能描述、軟件設計、代碼生成、操作系統環(huán)境下高級調試等步驟。車(chē)控電子產(chǎn)品的硬件開(kāi)發(fā)分為硬件描述、硬件設計、硬件調試等步驟。當軟件設計完成后,通過(guò)使用相應的工具,完成在虛擬ECU平臺上的驗證。當硬件設計完成后,與硬件一起進(jìn)行軟硬件集成調試。通過(guò)這種開(kāi)發(fā)方式,縮短了產(chǎn)品上市的時(shí)間。

圖5 軟硬件并行的開(kāi)發(fā)方案
目前,汽車(chē)車(chē)控電子產(chǎn)品軟件開(kāi)發(fā)流程是“V”形開(kāi)發(fā)流程,如圖6所示。“V”形開(kāi)發(fā)流程分為五個(gè)階段,即功能設計、原型仿真、代碼生成、硬件在回路仿真——HIL、標定。

圖6 車(chē)控電子產(chǎn)品軟件開(kāi)發(fā)流程
在功能設計階段使用的主要工具是MATLAB。通過(guò)使用MATLAB提供的Simulink、Stateflow等工具,完成控制方案的設計、功能模塊的設計、控制算法的設計等任務(wù),并進(jìn)行初步的仿真模擬工作。在原型仿真階段使用的主要工具是DSPACE。使用dSPACE提供的快速控制原型 ——RCP工具完成離線(xiàn)的仿真工作。在開(kāi)始該階段之前,需要使用Real Time Workshop、Targetlink等工具完成由Simulink、Stateflow等產(chǎn)生的代碼向標準 C代碼的轉換工作。在進(jìn)行向標準 C代碼的轉換過(guò)程中,可以根據需要加入符合OSEK規范的嵌入式實(shí)時(shí)操作系統。在代碼生產(chǎn)階段使用的主要工具是CodeWarrior。通過(guò)使用 CodeWarrior提供的編譯器、調試器等工具,完成從標準C代碼向目標硬件平臺上的產(chǎn)品代碼的轉換工作。圖7表示了車(chē)控電子產(chǎn)品的代碼生成過(guò)程。

圖7 車(chē)控電子產(chǎn)品代碼生成過(guò)程
結語(yǔ)
我國自主發(fā)展汽車(chē)車(chē)控產(chǎn)品尚處于起步階段。本文簡(jiǎn)要介紹了車(chē)控產(chǎn)品的系統平臺——OSEK/VDX規范,并給出了一個(gè)基于OSEK/VDX規范的簡(jiǎn)單的車(chē)控電子開(kāi)發(fā)模型。在這個(gè)模型中,要求開(kāi)發(fā)者熟練使用國際上主流的開(kāi)發(fā)工具,以提高開(kāi)發(fā)效率,縮短開(kāi)發(fā)時(shí)間。
評論