從原型設(shè)計(jì)到生產(chǎn)的過程中,基于MATLAB/Simulink平臺(tái),使用Stateflow來構(gòu)建嵌入式控制算法模型,經(jīng)過充分的仿真驗(yàn)證后,通過Embedded Coder自動(dòng)生成高質(zhì)量的嵌入式軟件代碼,主要的技術(shù)特點(diǎn)和優(yōu)勢:
● 生成優(yōu)化的 C、C++ 代碼
● 使用浮點(diǎn)和定點(diǎn)設(shè)計(jì)工具,在成本與性能之間做出權(quán)衡
● 使用在環(huán)測試,驗(yàn)證和分析生成的代碼
● 符合各種標(biāo)準(zhǔn)的要求,例如 AUTOSAR、ISO 26262、DO-178、MISRA C 及 CERT C
● 使用硬件支持包附加組件,支持 從 Arduino 到 Zynq 的多種流行電路板上進(jìn)行原型設(shè)計(jì)
技術(shù)亮點(diǎn)和描述:
1. 支持定點(diǎn)數(shù)據(jù)定制:使用一組豐富的數(shù)據(jù)類型和工具,從雙精度快速轉(zhuǎn)向開發(fā) 8 位、16 位和 32 位定點(diǎn)和單精度算法。使用數(shù)據(jù)類型覆寫,嵌入式定點(diǎn)或單精度設(shè)計(jì)可以即時(shí)切換到雙精度,以分析量化的影響。可以輕松、快速地識(shí)別溢出源、精度損失以及浪費(fèi)的范圍或精度。從 MATLAB 代碼、Simulink 模型和 Stateflow 圖表中,輕松生成位真 (bit-true) C 和 C++ 代碼。
圖注1: 浮點(diǎn)和定點(diǎn)的數(shù)據(jù)對(duì)比示意圖。
2. 支持驗(yàn)證設(shè)計(jì)(模型)和代碼:編寫、管理并跟蹤需求到模型、生成的代碼和測試用例。檢查設(shè)計(jì)是否符合模型標(biāo)準(zhǔn),例如 MAAB。開發(fā)和執(zhí)行基于仿真的測試(包括軟件在環(huán)、處理器在環(huán)和硬件在環(huán)的測試)。借助 Embedded Coder,您可使用任務(wù)和功能級(jí)別分析來分析生成的代碼。
3. 支持的標(biāo)準(zhǔn):使用 Embedded Coder 生成符合流行軟件和安全標(biāo)準(zhǔn)(如 AUTOSAR 和 MISRA C)的代碼。MathWorks 提供認(rèn)證和認(rèn)證套件,以確保在開發(fā)系統(tǒng)和質(zhì)量工具時(shí)符合以下標(biāo)準(zhǔn)的要求:ISO 26262、IEC 61508 、EN 50128、IEC 62304、DO-178、DO-254,以及針對(duì)汽車、醫(yī)療、鐵路和航空航天嵌入式系統(tǒng)的其他行業(yè)標(biāo)準(zhǔn)。
圖注2: 模型與代碼驗(yàn)證【測試用例】
4. 硬件支持:無論您的應(yīng)用程序做何操作 - 信號(hào)處理、計(jì)算機(jī)視覺、圖像處理或控制系統(tǒng),都可以快速生成代碼并為您的硬件編譯代碼。在嵌入式平臺(tái)(如 Raspberry Pi 或 Arduino)上生成代碼,并進(jìn)行原型設(shè)計(jì)。在移動(dòng)平臺(tái)上,將生成的代碼集成到自己的應(yīng)用程序中,并在 iPhones、iPads 或 Android 設(shè)備上運(yùn)行,包括訪問視頻攝像頭、麥克風(fēng)和加速計(jì)等機(jī)載傳感器。將嵌入式系統(tǒng)部署到功能強(qiáng)大的微處理器。
此外,MathWorks 和 Connections 合作伙伴還為以下流行的硬件提供內(nèi)置的交鑰匙集成服務(wù),對(duì)于其他的嵌入式目標(biāo)處理器提供定制化的咨詢開發(fā)服務(wù):
● Arduino 支持
● ARM 支持
● TI DSP支持
● Embedded Linux support
圖注3:系統(tǒng)建模及仿真
圖注4:從模型到代碼的自動(dòng)生成
圖注5:模型與代碼的雙向追溯