新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于模型的嵌入式C代碼的實現與驗證

        基于模型的嵌入式C代碼的實現與驗證

        作者: 時間:2011-12-22 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/149948.htm

        a.jpg


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

        b.jpg


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

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 正镶白旗| 江源县| 定兴县| 通河县| 焦作市| 囊谦县| 宜春市| 图片| 磴口县| 横峰县| 新建县| 汝南县| 六枝特区| 东乡族自治县| 苍梧县| 鹰潭市| 石楼县| 吴桥县| 定日县| 郯城县| 台中县| 潜山县| 花莲市| 阿城市| 咸丰县| 湘西| 休宁县| 阜阳市| 孟津县| 嘉黎县| 兴隆县| 将乐县| 镇沅| 台安县| 泰州市| 庄河市| 镇雄县| 长顺县| 余庆县| 石门县| 英山县|