<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

          摘要 近年來,V型開發(fā)模式在汽車電子開發(fā)領(lǐng)域得以廣泛應(yīng)用,同時Matlab/實時操作系統(tǒng)規(guī)范已成為標(biāo)準(zhǔn)的開發(fā)平臺,文章通過引入新的理念和將兩者相結(jié)合。首先從分析軟件的架構(gòu)入手,介紹了模型中的任務(wù)識別、定時機(jī)制、μC/OS―II的順應(yīng)性開發(fā),以及在Matlab環(huán)境下如何創(chuàng)建自定義的驅(qū)動庫等,最后通過應(yīng)用實例驗證了該開發(fā)的可行性。
          關(guān)鍵詞 代碼自動生成 Matlab/ μC/OS-II

          本文引用地址:http://www.ex-cimer.com/article/152446.htm


          引 言
          現(xiàn)在V型開發(fā)模式已成為使用最廣的汽車流程標(biāo)準(zhǔn)。這一標(biāo)準(zhǔn)流程得到許多工具的支撐,有來自Mathworks的工具,如用于功能開發(fā)和仿真的Matlab/Simulink/Stateflow,用于自動代碼生成的Real―TimeWorkshop,以及來自dSpace的工具。硬件有用于快速控制原型開發(fā)的AutoBox和用于硬件在環(huán)測試的模塊,軟件有產(chǎn)品級代碼生成器TargetLink。它們在加快開發(fā)周期的同時,也提高了代碼的可靠性。
          平臺軟件方面,OSEK OS是廣泛應(yīng)用于汽車電子領(lǐng)域的操作系統(tǒng)(RTOS)規(guī)范。它定義了一些基本的系統(tǒng)服務(wù),比如任務(wù)處理、中斷服務(wù)程序(ISR)處理、資源管理、事件處理以及報警服務(wù)等。
          由上可知,將Matlab/Simulink的建模和仿真環(huán)境在代碼生成階段與OSEK OS規(guī)范相結(jié)合,將極大地方便開發(fā)。這方面Matlab已有針對OSEK/VDX的對象模塊,TargetLink也實現(xiàn)了部分結(jié)合,但兩者都局限于特定的硬件,不能應(yīng)用于不同的控制器和實時操作系統(tǒng)。


          1 嵌入式理念
          符合模型的開發(fā)和OSEK規(guī)范的軟件架構(gòu)如圖1所示。以英飛凌XC164系列單片機(jī)為例,硬件層的核心部件由RTOS提供的系統(tǒng)服務(wù)進(jìn)行管理,外設(shè)部件由相應(yīng)的驅(qū)動程序驅(qū)動。

          中間層(軟件運行環(huán)境)包括兩部分,操作系統(tǒng)和硬件驅(qū)動。操作系統(tǒng)采用順應(yīng)OSEK規(guī)范的μC/OS-II(見3.1),硬件外設(shè)驅(qū)動開發(fā)在后面作介紹。
          應(yīng)用程序指的是與硬件無關(guān)的軟件,含控制算法和中斷服務(wù)程序(ISR)??刂扑惴ㄍ瓿煽刂迫蝿?wù),形式一般為Simulink模型。該模型可以和被控對象模型一起在閉環(huán)狀態(tài)下完成功能仿真,同時也可以在代碼生成階段與硬件驅(qū)動以及操作系統(tǒng)API一起生成可在目標(biāo)硬件上運行的程序。這里ISR可以有兩種類型,可以是手寫的C代碼,也可以是Simulink模型中的觸發(fā)子系統(tǒng)。在該子系統(tǒng)中的觸發(fā)源是圖1中所示的硬件層外設(shè)。


          2 MATLAB環(huán)境下代碼生成流程
          實時工作空間(Real-Time Workshop,RTW)代碼生成流程包含下面幾部分。
          ①仿真和模型文件(model.mdl)。通過手動添加C語言S函數(shù)可以擴(kuò)展Simulink模型庫。
          ②中間描述文件(model.rtw)。該文件描述了模型中系統(tǒng)和各模塊以及它們之間的聯(lián)系,可以看作是模型文件的分層式的描述庫文件。
          ③目標(biāo)語言編譯器(TLC)文件。目標(biāo)語言編譯器讀取model.rtw文件中的信息,將模型最終轉(zhuǎn)化成源代碼。
          TLC文件有兩種形式,系統(tǒng)TLC文件和模塊TLC文件。前者控制整個模型的代碼生成,比如可以指定模型生成C語言源代碼,而后者僅針對對應(yīng)的模塊。對每個手動添加的C語言S函數(shù)對象,必須有對應(yīng)的模塊TLC文件,才可用于代碼生成。
          ④生成的源代碼。圖2中列舉了生成的主要源代碼,其中model.c是model.mdl對應(yīng)生成的算法源代碼。

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

          上一頁 1 2 3 下一頁

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();