新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于Simulink的OSEK嵌入式軟件開發(fā)方法

基于Simulink的OSEK嵌入式軟件開發(fā)方法

作者: 時(shí)間:2009-06-30 來源:網(wǎng)絡(luò) 收藏

①mdlInitializeSizes,用于細(xì)化SimStruct結(jié)構(gòu)中不同參數(shù)的維數(shù)(SimStruct是指數(shù)據(jù)結(jié)構(gòu),Sim-Struct及其相關(guān)的宏定義參見Matlab目錄下文件sim-strue.h)。
②mdlInitializeSampleTimes,用于細(xì)化該模塊的采樣時(shí)間。
③mdlOutputs::對輸入設(shè)備來講,從硬件中讀取值加以計(jì)算并傳遞到模塊輸出端;對輸出設(shè)備而言,從上流模塊讀取數(shù)據(jù),加以處理并寫回硬件。
文件block.tlc用來控制代碼生成過程,通過相應(yīng)函數(shù)將語句寫入生成的源文件中,代碼段3是一個(gè)例子。文件中使用的函數(shù)主要包括:%function BlockTypeSetup(block,system)void、%function Start(block,system)Output、%function Outputs

本文引用地址:http://2s4d.com/article/152446.htm

4 應(yīng)用實(shí)例
圖5是一個(gè)簡單的應(yīng)用。其中建立了兩個(gè)任務(wù),任務(wù)ADC_SUM每0.1 S執(zhí)行1次,任務(wù)ADC_GPIO每0.5 S執(zhí)行1次。第一個(gè)任務(wù)包含一個(gè)ADC S函數(shù)模塊。該S函數(shù)屬輸入設(shè)備,并被封裝成具有圖5所示的參數(shù)輸入界面;第二個(gè)任務(wù)包含另外一個(gè)S函數(shù)模塊,GPIO,在這個(gè)應(yīng)用中為輸出模塊。

像第二部分描述的一樣,算法可以進(jìn)行仿真。仿真完成后可通過RTW生成代碼(本文選擇osekworks.tlc為系統(tǒng)TLC文件,并對該文件進(jìn)行了適當(dāng)修改)。生成的源代碼(包括*.c源文件和*.h頭文件)可以在Keil C166環(huán)境下聯(lián)合編譯并進(jìn)行軟件調(diào)試運(yùn)行,如圖6所示,這樣也便于集成傳統(tǒng)手動(dòng)開發(fā)流程中成熟的算法代碼。最終圖6 Keil C166環(huán)境下編譯帶μo/os―ll的生成源代碼代碼可在目標(biāo)硬件上運(yùn)行。

5 結(jié) 論
目前越來越多的汽車電子系統(tǒng)的開發(fā)借助Matlab/,并且其已變成標(biāo)準(zhǔn)的開發(fā)工具。本文提出的Sireulink環(huán)境和 OS規(guī)范。在環(huán)境下開發(fā)的算法可以結(jié)合 RTOS(本文為修改過的μC/OS-II)直接應(yīng)用到目標(biāo)硬件上。該已通過實(shí)例進(jìn)行了驗(yàn)證,與傳統(tǒng)比較極大地縮短了開發(fā)時(shí)間。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁 1 2 3 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉