<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

本文引用地址:http://dyxdggzs.com/article/149948.htm

a.jpg


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

b.jpg


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

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


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>