新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于模型的嵌入式C代碼的實(shí)現(xiàn)與驗證

基于模型的嵌入式C代碼的實(shí)現(xiàn)與驗證

作者: 時間:2011-12-22 來源:網(wǎng)絡(luò) 收藏

的設(shè)計核心是系統(tǒng)。MathWorks公司的Simulink產(chǎn)品系列使設(shè)計人員可以在一個圖形化的交互環(huán)境中應(yīng)用的設(shè)計,在該環(huán)境中,設(shè)計人員還可以利用直觀的模塊圖,對系統(tǒng)模型和子系統(tǒng)設(shè)計進(jìn)行可視化處理。在統(tǒng)一的可視化的開發(fā)測試平臺上,從設(shè)計概念到一氣呵成,減少了不必要的勞動,大大縮短項目的開發(fā)周期,減少資金投入,提高的穩(wěn)健性、一致性,滿足DO-17B航空電子規(guī)范的工作流程,使模型的設(shè)計能夠為那些對安全性、可靠性要求極其嚴(yán)格甚至近乎苛刻的設(shè)計提供絕好的方案。和基于文本的模型相比,這種圖形化的環(huán)境可以使你更容易理解設(shè)計和子系統(tǒng)之間的交互。Mathworks公司的Real-Time Workshop Embedded Coder可以將Simuli nk/ Stateflow中的算法模型自動轉(zhuǎn)化為C,大大降低了系統(tǒng)的開發(fā)門檻。開發(fā)人員可以在Simulink/Stateflow中建立系統(tǒng)模型,構(gòu)思解決方案,然后使用RTW自動生成優(yōu)化的、可移植的、自定義的產(chǎn)品級C,并根據(jù)特定的目標(biāo)硬件配置自動生成系統(tǒng)實(shí)時應(yīng)用程序。
2.2 Matlab中C代碼生成
Matlab中C代碼生成主要有兩種方式。
(1)基于Embedded Matlab
支持從概念到的編程理念,用戶可以從現(xiàn)存或自編的M-code中直接生成高效、可讀的嵌入式C代碼,使編程效率大為提高。
(2)用戶通過Simulink和有限狀態(tài)Stateflow
Simulink是動態(tài)和嵌入式等系統(tǒng)的建模與仿真工具,也是基于模型設(shè)計的基礎(chǔ)。Simulink自帶了1000多個用戶模塊,可與有限狀態(tài)機(jī)的無縫鏈接,擴(kuò)展對復(fù)雜系統(tǒng)的建模能力?;旧纤梢钥焖俚貏?chuàng)建基于嵌入式器件的應(yīng)用模型,完成精確的系統(tǒng)模型描述,可以針對任何能夠用數(shù)學(xué)來描述的系統(tǒng)進(jìn)行建模,例如動力學(xué)系統(tǒng)、控制制導(dǎo)系統(tǒng)、通信系統(tǒng)、船舶及汽車等。Simulink還提供了豐富的功能塊以及不同的專業(yè)模塊集合,利用Sireulink幾乎可以做到不書寫一行代碼完成整個動態(tài)系統(tǒng)的建模工作。Stateflow狀態(tài)機(jī)基于有限狀態(tài)機(jī)的理論使用自然的、便于理解的形式,使復(fù)雜的邏輯關(guān)系清晰簡單。一些傳統(tǒng)方法很難實(shí)現(xiàn)的算法利用其建模非常容易,特別適用于對復(fù)雜的事件驅(qū)動系統(tǒng)進(jìn)行建模和仿真。用戶只通過簡單直觀的鼠標(biāo)操作,就可以輕而易舉地構(gòu)造出復(fù)雜的系統(tǒng),生成可靠的C代碼。利用RTW-EC等工具為用戶算法自動生成嵌入式代碼。這是一種高效、實(shí)用的方法,目前國內(nèi)外各大公司在進(jìn)行新產(chǎn)品開發(fā)時已廣泛采用。它的核心思想是讓工程師把精力集中于算法的研究上,把枯燥、困難的代碼編寫工作留給計算機(jī)去自動完成,這樣可以大大縮短產(chǎn)品的開發(fā)周期,同時避免了人為引入的錯誤,降低了風(fēng)險。
2.3 嵌入式代碼的快速生成
以8051處理器為例,利用Matlab Plug-in Blockset與Stateflow無縫鏈接,利用RTW-EC工具自動生成C代碼,并完成代碼測試檢驗工作。開發(fā)環(huán)境:Matlab+Proteus。
首先構(gòu)建stateflow模型并生成代碼。以簡單的流水燈為例,使用Stateflow構(gòu)建模型Stateflow-model如圖1所示。

本文引用地址:http://m.butianyuan.cn/article/149948.htm

a.jpg


模型連接Lightflow model如圖2所示。

b.jpg


模型連接好后,調(diào)整模型配置選項卡參數(shù)。處理器選擇8051系列,ERT.TLC生成代碼選C,生成SIL,生成代碼報告打勾,其他默認(rèn)。
保存模型,單擊幽按鈕,Matlab將自動生成模型代碼。

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


評論


相關(guān)推薦

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

關(guān)閉