![matlab嵌入式代碼生成_第1頁](http://file4.renrendoc.com/view/505e19471995ebdc8d490a38f802536c/505e19471995ebdc8d490a38f802536c1.gif)
![matlab嵌入式代碼生成_第2頁](http://file4.renrendoc.com/view/505e19471995ebdc8d490a38f802536c/505e19471995ebdc8d490a38f802536c2.gif)
![matlab嵌入式代碼生成_第3頁](http://file4.renrendoc.com/view/505e19471995ebdc8d490a38f802536c/505e19471995ebdc8d490a38f802536c3.gif)
![matlab嵌入式代碼生成_第4頁](http://file4.renrendoc.com/view/505e19471995ebdc8d490a38f802536c/505e19471995ebdc8d490a38f802536c4.gif)
![matlab嵌入式代碼生成_第5頁](http://file4.renrendoc.com/view/505e19471995ebdc8d490a38f802536c/505e19471995ebdc8d490a38f802536c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
本文格式為Word版,下載可任意編輯——matlab嵌入式代碼生成
EmbeddedCoder
——為嵌入式系統(tǒng)生成優(yōu)化的C/C++代碼
Embeddedcoder可為嵌入式處理器、目標上的快速原型及產(chǎn)品中使用的微處理器生成可讀的、集成的、高效的C/C++代碼。Embeddedcoder擴展了Matlabcoder和Simulinkcoder配置選項和優(yōu)化設(shè)置,來更好的控制生成代碼的函數(shù)、文件和數(shù)據(jù)。這些優(yōu)化設(shè)置提高了代碼的執(zhí)行效率,并能夠集成產(chǎn)品應(yīng)用時的外部代碼、數(shù)據(jù)類型及標定參數(shù)。還可以將第三方開發(fā)環(huán)境集成到為嵌入式系統(tǒng)生成可執(zhí)行文件的build過程中。
Embeddedcoder本身提供對AUTOSAR和ASAP2軟件標準的支持。同時也提供可追溯性報告、代碼接口文件和自動化的軟件測試來支持DO-178B,IEC61508和ISO26262的軟件開發(fā)。
特點:
?????
擴展了Matlabcoder和Simulinkcoder的優(yōu)化和代碼生成配置選項。?具有使用Simulink數(shù)據(jù)字典進行存儲類型、數(shù)據(jù)類型和別名定義的能力。?針對具體目標平臺的代碼優(yōu)化。?
無論有無RTOS的多速率、多任務(wù)和多核的代碼執(zhí)行。?
代碼驗證,包含SIL/PIL測試,自定義解釋,具有模型和需求到代碼雙向追蹤的代碼報告。?
?集成TexasInstrumentsCodeComposerStudio?,Analog?Devices?VisualDSP++?及其它的第三方嵌入式開發(fā)環(huán)境。
?對標準的支持,包含ASAP2,AUTOSAR,DO-178,IEC61508,ISO26262,?andMISRAC。
一個生成代碼的定點模型和它的設(shè)置為SIL執(zhí)行的仿真模型。
EmbeddedCoder可進行產(chǎn)品級的嵌入式系統(tǒng)代碼快速生成、歸檔和測試。
強大的功能
■配置目標平臺
可使用MatlabCoder的工程用戶界面及SimulinkModelExplore來設(shè)置EmbeddedCoder的代碼生成的配置選項。也可以直接使用Matlab命令和腳本的形式對每個選項進行設(shè)置。
從MatlabCoder的工程用戶界面,可進行:
????
為MATLAB文件和函數(shù)生成代碼。?選擇使用EmbeddedCoder特性。?為代碼生成配置功臣設(shè)置選項。?創(chuàng)立、加載和重用多個工程。?
從SimulinkModelExplore,可進行:
????
為Simulink模型和子系統(tǒng)生成代碼。?選擇一個EmbeddedCoder目標。?為代碼生成進行目標配置。?創(chuàng)立、加載和重用多個配置集。?
■選擇目標
EmbeddedCoder使用配置對象和系統(tǒng)目標文件將MATLAB代碼和Simulink模型轉(zhuǎn)換為產(chǎn)品級的源代碼和可執(zhí)行文件。
對于一個MATLAB配置對象,需要說明如下的輸出目標:
???
MEX文件?C/C++靜態(tài)庫?C/C++可執(zhí)行文件?
對于Simulink系統(tǒng)目標文件,需要說明生成的代碼即將運行在哪種實時環(huán)境中。
EmbeddedCoder包含多種配置的目標文件,也支持第三方和自定義目標。內(nèi)置的目標
包括:
?EmbeddedReal-Time目標:為任意的產(chǎn)品級處理器生成具有定點和浮點數(shù)據(jù)的ANSI/ISO?C,C++代碼,可進行高效的實時運行。
??
AUTOSAR目標:生成支持AUTOSAR軟件組件的C代碼和實時運行接口。?共享庫目標:生成可在主機目標平臺上運行的靜態(tài)庫,如windows的動態(tài)鏈接庫(.dll),UNIX共享目標文件(.so)。?
?IDE?LINK目標:生成支持第三方集成開發(fā)環(huán)境編譯和下載的代碼,如(CCS)。
■定義嵌入式硬件特性
可從預(yù)定義的列表或者使用目標設(shè)置為MATLAB或者SIMULINK代碼生成選擇目標平臺。可通過自定義環(huán)境來擴展這個預(yù)定義的列表。
可通過SimulinkModelExplore為代碼部署設(shè)置預(yù)定義列表或者設(shè)置生成的微處理器選項。EmbeddedCoder可為任意的微處理器或者DSP生成代碼,包括8位,16位,32位。
■定義及控制自定義數(shù)據(jù)
EmbeddedCoder可以定義及控制生成代碼中的數(shù)據(jù)格式。為了便于軟件集成,可以通過MATLABCoder工程用戶界面說明入口函數(shù)和全局數(shù)據(jù)的類型、長度及是否是復(fù)數(shù)。
對于MATLAB代碼,EmbeddedCoder支持所有的MATLABCoder的數(shù)據(jù)定義,包括定點數(shù)據(jù)對象。
對于Simulink模型,EmbeddedCoder生成代碼支持如下的數(shù)據(jù)說明及數(shù)據(jù)字典定義:
?Simulinkdata?object—提供預(yù)定義存儲類型,包括constant,volatile,exportedglobal,importedglobal,structure,bitfileld及獲取和設(shè)置的方法。
?Modulepackagingdata?object—為高級的數(shù)據(jù)對象提供預(yù)定義的特性,主要用于多種產(chǎn)品,如內(nèi)存分派來進行標定或者調(diào)理查表數(shù)據(jù)。
?Userdata?type-從繁雜的數(shù)據(jù)中創(chuàng)立抽象的數(shù)據(jù)類型,可確切控制生成代碼中的模型數(shù)據(jù),可與legacydata進行交互,同時也可替代simulink內(nèi)置的數(shù)據(jù)類型。
如下的工具將有助于在simulink中設(shè)計和管理工程數(shù)據(jù):
?CustomStorageClass?Designer-通過圖形化的界面創(chuàng)立自定義的數(shù)據(jù)定義和聲明,將數(shù)據(jù)結(jié)構(gòu)導入到生成的代碼中,或者是導出數(shù)據(jù),分派內(nèi)存,將自動生成與交換標準如ASAM或者ASAP2兼容的數(shù)據(jù)格式。
?SimulinkModel?Explore—顯示simulink模型和stateflow圖中所有用到的數(shù)據(jù),可以以數(shù)據(jù)字典的格式查看所有自定義數(shù)據(jù)的信息。
?Embedded?Coder可以創(chuàng)立ASAP2的數(shù)據(jù)交換文件,能夠使用ASAP2標準導出具有繁雜數(shù)據(jù)定義的模型數(shù)據(jù)??尚薷膬?nèi)置的屬性生成其它的數(shù)據(jù)交換機制文件。
通過CustomStorageClassDesigner創(chuàng)立自定義的存儲類型,可使用內(nèi)置圖形用戶界面進
行設(shè)計、查看及驗證繁雜數(shù)據(jù)類型。
■優(yōu)化及打包代碼
使用EmbeddedCoder,可控制函數(shù)邊界、保存表達式,對多個模塊使用優(yōu)化選項以減少代碼量。數(shù)據(jù)通過全局變量或者函數(shù)參數(shù)的形式與生成的代碼進行交換??蓪⑸傻拇a追溯到模型中的模塊和信號。
從MATLAB代碼和Simulink模型生成代碼,EmbeddedCoder選項可進行:
????
為數(shù)學函數(shù)和操作符生成具體目標平臺的代碼。?生成導出到外部環(huán)境的可重用代碼。?
減少不必要的初始化、終止、記錄和錯誤處理的代碼。?從整形應(yīng)用中去除浮點型代碼。?
EmbeddedCoder還為simulink模型提供額外的代碼優(yōu)化和配置選項,可進行:
從模型中生成具有處理器編譯宏定義的代碼變量。
按位存儲布爾型數(shù)據(jù)和stateflow狀態(tài)。
???
可控制每個生成文件的格式。?
控制全局變量數(shù)據(jù)是如何定義和引用的。?對解釋的內(nèi)容和放置位置進行說明。?
具有具體目標平臺的數(shù)學擴展函數(shù)和重用函數(shù)優(yōu)化選項的MATLAB例子和Simulink例子。EmbeddedCoder使用具體目標平臺和可移植的代碼優(yōu)化選項來提高代碼的執(zhí)行效率。
■解釋、追溯及記錄代碼
EmbeddedCoder提供多種方式來檢查從MATLAB文件和函數(shù)或者Simulink模型和子系統(tǒng)生成的代碼。使用這些方式,可進行:
???
生成代碼生成報告,來描述模型和模塊的配置選項。?控制生成代碼中全局數(shù)據(jù),數(shù)據(jù)烈性和函數(shù)的標識符。?
在生成的代碼中可將MATLAB代碼作為解釋,包含函數(shù)幫助文檔。?
EmbeddedCoder也可將高級需求作為代碼解釋插入到代碼中,與需求文檔可進行鏈接(需要SimulinkVerificationandValidation)。代碼生成報告也包含代碼接口描述文件,追溯性報告及可顯示生成的源文件和代碼。模型和代碼間存在雙向的鏈接,可以便利的在每行代碼和相關(guān)的simulink模型間進行定位,包含子系統(tǒng)、模塊、MATLAB函數(shù)和代碼及Stateflow
狀態(tài)圖和轉(zhuǎn)換??牲c擊一個鏈接以高亮顯示相關(guān)的模型元素或者代碼行,更加便利代碼檢查和調(diào)試。
Simulink代碼生成報告,高亮現(xiàn)實算法和代碼間的雙向追蹤。
■執(zhí)行和驗證代碼
EmbeddedCoder可將生成的代碼與代碼執(zhí)行環(huán)境進行集成,EmbeddedCoder對MATLAB生成的代碼的執(zhí)行與使用MATLABCoder生成的代碼具有一致的執(zhí)行框架。
對于Simulink,EmbeddedCoder擴展了SimulinkCoder提供的實時執(zhí)行的框架。默認狀況下,代碼可在具有或者沒有實時操作系統(tǒng)、單任務(wù)多任務(wù)或者異步模式下執(zhí)行。也可以使用軟件在環(huán)(SIL)和處理器在環(huán)(PIL)的方式驗證代碼執(zhí)行的結(jié)果。
◆生成主程序
EmbeddedCoder依照所提供的實時環(huán)境代碼部署信息生成一個可擴展的主程序。這種特性可為模型生成和創(chuàng)立一個完整的自定義可執(zhí)行文件。
◆速率分組
EmbeddedCoder依照模型中的采樣時間設(shè)置生成單速率或者多速率代碼。對于多速率多任務(wù)模型,依照速率分組為每個速率任務(wù)生成獨立的函數(shù)。
◆使用鏈接和目標
第三方IDE、微處理器及RTOS包括WindRiverSystems?VxWorks支持生成代碼的自動下載、集成、優(yōu)化和執(zhí)行。
◆SIL和PIL測試
EmbeddedCoder可在simulink中使用simulink仿真模型或者s-function模塊自動執(zhí)行生成代碼進行SIL測試,或者在嵌入式目標平臺上進行PIL測試。代碼生成測試API可幫助自動測試的執(zhí)行,并與之前的模型比較測試結(jié)果。與第三方工具的集成可進行代碼結(jié)構(gòu)覆蓋度分析來確保測試的完整性。
SimulinkCoder
——從Simulink和Stateflow模型生成C和C++代碼
SimulinkCode(之前版本為Real-TimeWorkshop)從Simulink框圖、Stateflow圖和MATLAB函數(shù)生成并執(zhí)行C和C++代碼。生成的代碼可用于實時和非實時應(yīng)用,包括仿真加速、快速原型建立和硬件在回路測試??梢允褂肧imulink對生成的代碼進行調(diào)優(yōu)和監(jiān)測,或在MATLAB和Simulink之外運行代碼并與之交互。
特點
離散、連續(xù)或混合Simulink和Stateflow模型的ANSI/ISOC和C++代碼及可執(zhí)行文件
用于大型模型的增量代碼生成
支持整型、浮點型和定點型數(shù)據(jù)類型
針對單采樣率、多采樣率和異步模型的代碼生成使用或不使用RTOS的單任務(wù)、多任務(wù)和多核代碼執(zhí)行用于參數(shù)調(diào)優(yōu)和信號監(jiān)測的外部模式仿真
強大的功能
■選擇和使用目標
Simulink模型資源管理器在Simulink中提供了單一用戶界面,用于配置所有代碼生成設(shè)置。模型資源管理器可提供:
???
選擇代碼生成目標?配置目標以進行代碼生成?為模型或子系統(tǒng)生成代碼?
CodeGenerationAdvisor會檢查模型和代碼生成設(shè)置,然后根據(jù)需求針對如何改進配置提供建議。一旦為項目確定了最優(yōu)設(shè)置之后,便可以將這些設(shè)置保存為配置集以重復(fù)用于其他模型。
使用Simulink建模的大型飛機系統(tǒng)。SimulinkCoder支持用于大規(guī)模建模的高級Simulink
功能,包括模型塊、變量子系統(tǒng)和總線數(shù)組。
◆選擇目標:
SimulinkCoder使用系統(tǒng)目標文件將模型轉(zhuǎn)換為源代碼和可執(zhí)行文件。目標文件指定生成的代碼將要在其中運行的環(huán)境。SimulinkCoder包括若干個準備好運行的配置的目標文件,還支持第三方目標和自定義目標。內(nèi)置目標包括:
?一般實時目標——生成用于模型參數(shù)交互式調(diào)優(yōu)的代碼,記錄和顯示實時仿真結(jié)果并靜態(tài)分派數(shù)據(jù)為進行高效的實時執(zhí)行;?
?一般實時Malloc?目標——在生成的代碼中使用動態(tài)內(nèi)存分派,以便在一個可執(zhí)行文件中包含同一模型的多個實例或包含多個模型;
?快速仿真目標(RSim)——提供快速靈活的測試平臺用于使用定步長或變步長求解器執(zhí)行批量或Monte?Carlo仿真研究,并使您可以將每次運行的數(shù)據(jù)保存到唯一的輸出文件中。
可以擴展這些目標以創(chuàng)立自定義的運行時接口和設(shè)備驅(qū)動程序文件,從而能以特定環(huán)境為目標,訪問SimulinkCoder的執(zhí)行并調(diào)試其中的功能。
■編譯和執(zhí)行生成的代碼
SimulinkCoder為使用常用桌面環(huán)境編譯和執(zhí)行生成的代碼提供內(nèi)置支持,包括:
????
Eclipse?IDE?
Microsoft?VisualC++?IDE?Linux?操作系統(tǒng)?Windows?操作系統(tǒng)?
可以使用EmbeddedCoder在實時嵌入式系統(tǒng)中生成和運用優(yōu)化的C和C++代碼。
■定義和控制數(shù)據(jù)
SimulinkCoder允許用戶定義和控制模型數(shù)據(jù)在所生成代碼中的出現(xiàn)方式??赏ㄟ^以下方式管理數(shù)據(jù):
????
將數(shù)據(jù)類型聲明為整型、浮點型和定點型?指定調(diào)優(yōu)和校準參數(shù)或常數(shù)的存儲區(qū)?指定監(jiān)測和記錄信號數(shù)據(jù)的存儲區(qū)?重復(fù)使用存儲區(qū)以最小化局部范圍的數(shù)據(jù)?
SimulinkCoder從存儲在Simulink框圖或數(shù)據(jù)字典(通過Simulink模型資源管理器訪問)中的數(shù)據(jù)生成代碼。通過利用不同的數(shù)據(jù)字典集,可以將代碼從一個模型重新運用到多個目標。
Simulink模型資源管理器可顯示模型中使用的各種數(shù)據(jù)類型和存儲類。
注意存儲類要求EmbeddedCoder。
■生成代碼
SimulinkCoder為Simulink和Stateflow功能和組件提供了全面的代碼生成支持,包括:
???
模型塊用于增量生成代碼?
原子子系統(tǒng)和原子子圖表,用于通過可重入C函數(shù)的重用代碼?在代碼中,總線對象和總線數(shù)組用于生成結(jié)構(gòu)?
?S-函數(shù),用于對已有代碼進行仿真和對接?
Simulink中的MATLAB函數(shù)塊和Stateflow中的MATLAB函數(shù),用于從具有MATLAB組件的模型生成代碼
SimulinkCoder還支持Simulink系列產(chǎn)品,包括定點建模、物理建模、信號處理和通信建模以及快速原型建立和硬件在回路(HIL)測試產(chǎn)品。
◆代碼生成選項:
SimulinkCoder提供了用戶可選擇的選項,以便在桌面和仿真環(huán)境中執(zhí)行生成的代碼。選項包括:
??????
代碼重用?表達式折疊?信號存儲區(qū)重用?死路徑消除?參數(shù)內(nèi)聯(lián)?
單精度和預(yù)制數(shù)學庫(包括ISOC和GNUC)?
生成的代碼,其中將For循環(huán)融合和表達式折疊用于一個10元素數(shù)組模型。
SimulinkCoder為單維和多維信號生成高效且可讀的代碼。
Simulink中合成前期和后期時序信息的關(guān)鍵路徑突出顯示。能夠快速迭代設(shè)計,以規(guī)避時序限制瓶頸。
SimulinkHDLCoder能夠生成可讀的,獨立于目標機的HDL代碼,并且支持遺產(chǎn)代碼集成。因此,用戶能夠根據(jù)設(shè)計需求在FPGA和ASIC的實現(xiàn)之間快速轉(zhuǎn)換。
SimulinkPLCCoder
——生成PLCs和PACs的IEC61131結(jié)構(gòu)化文本
SimulinkPLCCoder?能夠?qū)imulink模型,Stateflow?圖和EmbeddedMATLAB?函數(shù),生成與硬件無關(guān)的IEC61131結(jié)構(gòu)化文本。結(jié)構(gòu)化文本可以是PLCopen規(guī)范的XML格式,也可以是廣泛應(yīng)用于集成開發(fā)環(huán)境(IDEs)的其他文件格式。因此,我們可以對各種可編程規(guī)律控制器(PLC)及可編程自動化控制器(PAC)設(shè)備進行應(yīng)用程序的編譯和配置。
SimulinkPLCCoder通過PLC和PACIDEs,以及仿真工具的使用,能夠生成測試平臺,幫助我們來驗證結(jié)構(gòu)化文本。特點
?????
自動生成IEC61131-3結(jié)構(gòu)化文本;
支持Simiulink,包括可重復(fù)利用子系統(tǒng),PID控制器模塊及查找表;支持Stateflow,包括圖形功能,真值表及狀態(tài)機;
支持嵌入式MATLAB,包括if-else語句,循環(huán)結(jié)構(gòu)及數(shù)學運算;
支持多種數(shù)據(jù)類型,包括布爾型、整數(shù)型、枚舉類型、浮點型,以及向量、矩陣、總線和可調(diào)參數(shù);
?支持IDE,包括B&RAutomation?,PLCopenXML,RockwellAutomation?RSlogix?5000,及3S-SmartSoftwareSolutionsCoDeSys;
?創(chuàng)立測試平臺。
從模型到結(jié)構(gòu)化文本再到應(yīng)用,SimulinkPLCCoder將模型生成結(jié)構(gòu)化文本,供IDE應(yīng)用到工業(yè)控制系統(tǒng)。
SimulinkPLCCoder的使用
在Simulink環(huán)境中,利用SimulinkPLCCoder生成結(jié)構(gòu)化文本,需右鍵點擊Simulink子系統(tǒng)模塊,在開啟的右鍵菜單中選擇PLCCoder>GenerateCodeforSubsystem選項。在MATLAB環(huán)境中,用戶可以調(diào)用plcgeneratecode命令,來創(chuàng)立腳本文件,生成結(jié)構(gòu)
化文本,使得結(jié)構(gòu)化文本的生成過程自動化且可重復(fù)。
SimulinkPLCCoder支持130多個Smulink模塊,包括所有的Stateflow結(jié)構(gòu)以及大部分嵌入式MATLAB函數(shù);對于包含了反饋環(huán)路,模型和狀態(tài)規(guī)律以及繁雜數(shù)學算法的控制系統(tǒng)模型,Sim
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年臨時租賃合同樣本(2篇)
- 2025年個人無抵押借款合同格式版(2篇)
- 2025年個人簡單勞動合同常用版(4篇)
- 2025年臨時聘用協(xié)議經(jīng)典版(2篇)
- 2025年書面勞動合同(三篇)
- 2025年臨時聘用協(xié)議簡單版(三篇)
- 2025年二婚婚前協(xié)議參考樣本(2篇)
- 2025年個人門面常用版房屋租賃合同(2篇)
- 北京市裝修工程驗收合同
- 產(chǎn)業(yè)升級渣土運輸協(xié)議樣本
- 茶文化與茶健康教學課件
- 建筑公司工程財務(wù)報銷制度(精選7篇)
- 降水預(yù)報思路和方法
- 工程設(shè)計方案定案表
- 第一章-天氣圖基本分析方法課件
- 虛位移原理PPT
- 初二物理彈力知識要點及練習
- QE工程師簡歷
- 輔音和輔音字母組合發(fā)音規(guī)則
- 2021年酒店餐飲傳菜員崗位職責與獎罰制度
- 最新船廠機艙綜合布置及生產(chǎn)設(shè)計指南
評論
0/150
提交評論