chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

關于利用Simulink模型自動生成C代碼的相關研究和分析

MATLAB ? 來源:djl ? 2019-09-17 16:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Simulink 模型的自動代碼生成?

簡單來說,在我們的 “大” 項目中,需要實現(xiàn)很多算法,其中比如 myfilter。

關于利用Simulink模型自動生成C代碼的相關研究和分析

現(xiàn)在不手寫C了,而是搭建Simulink框圖。對那些算法比C語法熟悉的人來說,這是個福音。

算法實現(xiàn)方便,測試方便

關于利用Simulink模型自動生成C代碼的相關研究和分析

Simulink 模型的測試驗證非常重要,然而這里不討論。

總之,算法沒問題之后,通過自定代碼生成工具Coder“翻譯”成C代碼,跟手寫的一樣.c.h,還可以控制函數(shù)原型、數(shù)據(jù)定義、文件結(jié)構(gòu)、甚至注釋......

關于利用Simulink模型自動生成C代碼的相關研究和分析

把自動生成的源文件集成到原來的項目文件中。

關于利用Simulink模型自動生成C代碼的相關研究和分析

由各種編譯器,把它們編譯成不同的可執(zhí)行文件,最后運行在不同的環(huán)境。

比如這里就是通過 VS 編譯成 exe,很簡單吧。

關于利用Simulink模型自動生成C代碼的相關研究和分析

所以

對于代碼生成的任務來說

重點在如何生成自己想要的C代碼

但經(jīng)常會有人問,Coder支持哪些板子?

看下面這張嵌入式軟件的偽代碼的簡單示意圖。

Simulink 算法模型通過 Coder 生成的是藍色部分,標準C;跟硬件打交道的底層驅(qū)動黑色部分,是手寫代碼。

既然叫Coder,所以本質(zhì)上,它的本職工作就是Simulink模型到C代碼這個步驟,就結(jié)束了。至于C要通過什么編譯器跑到什么硬件上,跟Coder沒多大關系。

關于利用Simulink模型自動生成C代碼的相關研究和分析

那么

為什么會有人問這個問題呢?

Build Process

Coder除了把模型翻譯成代碼的本職工作以外,還額外張羅了一些Build的任務,把C代碼變成可執(zhí)行文件。

為什么說張羅,而不說完成呢,因為Coder本身并沒有編譯的功能,它會后臺調(diào)用你安裝了的編譯器來實現(xiàn) ,看下圖。

關于利用Simulink模型自動生成C代碼的相關研究和分析

比如默認下,Coder會調(diào)用VC,使用它內(nèi)置的相應的main文件模板,然后編譯。這就是為什么每次生成代碼,在當前目錄下就會 “莫名其妙” 的生成一個exe程序。如果你不喜歡,那也可以 “Generate code only”。

如果是上面沒列的編譯器,自己也可以把它集成進來,比如構(gòu)造個Template makefile,描述怎么編譯鏈接變成可執(zhí)行文件。

關于利用Simulink模型自動生成C代碼的相關研究和分析

好像還是沒解釋所謂硬件支持的問題?

I/O Drive blocks

剛才說的是后臺可以調(diào)用編譯器,構(gòu)造main文件,生成了可執(zhí)行文件,下載到硬件。

在很久很久以前,代碼生成工具為一些板卡提供了I/O驅(qū)動模塊庫,TIC2000/5000/6000,等等。

然后可以做什么?

看下面這張圖,兩端的In/Out就換成圖中的硬件驅(qū)動模塊。舉例的板卡的驅(qū)動庫我沒裝,暫時拿Arduino的庫示意一下,提供了很多下圖中紅框類似的模塊。

關于利用Simulink模型自動生成C代碼的相關研究和分析

那么,中間用Simulink/Stateflow搭好算法,兩頭的輸入輸出端口連接上這些硬件驅(qū)動模塊,后臺又做好了編譯工具鏈的支持,就可以實現(xiàn)傳說中的支持某款硬件:一鍵下載到硬件上運行了。

如果使用這種方式來開發(fā)產(chǎn)品,這樣看上去感覺真的很美好~

但是,目測,要做的額外的工作也非常多,所有的要用到的驅(qū)動都需要包裹成Simulink Block的形式,要自動生成所需要的main文件,等等,這也是不小的工作量。

做產(chǎn)品開發(fā),使用哪種 “集成” 方式,仁者見仁。

現(xiàn)在就Coder工具來說,這部分 “對硬件的支持” 從Coder里剝離了,變成了免費的Hardware Support Package下載。用來做做算法的原型測試也不錯。

關于利用Simulink模型自動生成C代碼的相關研究和分析

另一個經(jīng)常會問的問題:

代碼生成工具的效率怎么樣?

雖然Coder習慣叫代碼生成工具,但它實際上是個代碼翻譯工具,把Simulink模型“翻譯”成C代碼。

其實就跟金山詞霸,谷歌翻譯一樣,基于你寫的中文翻譯成英文。

“今日天朗氣清,看似極好的日子,私心想若能約上三五好友,結(jié)伴出游,陶冶性情,便是再好不過了?!?/p>

再厲害的谷歌翻譯,也翻譯不出這句人話:“今天不想上班?!?/p>

所以對于Coder來說,也是一樣,它的目標是C代碼如實的反映出你搭建的Simulink模型結(jié)構(gòu)所表達的信息。在考慮生成的C代碼效率如何時,也不能忽略Simulink模型搭建的效率如何?

關于利用Simulink模型自動生成C代碼的相關研究和分析

Simulink Coder生成的C代碼主要用于加速桌面仿真、快速原型、以及HIL測試(被控對象模型也要生成C代碼)。Embedded Coder提供了更多的自定義的途徑,生成高效率的嵌入式C代碼。

但其實,對于我們用戶來說,這些Coder都是 “看不見” 的,沒有所謂打開Embedded Coder工具箱的說法。

我們只需要關心選擇哪一個系統(tǒng)目標文件(System tareget file)。罷了,下圖?!盁o責任瞎猜一句”,為什么這些后綴名是.tlc呢?因為Coder里面干翻譯這個活的叫TargetLanguageCompiler。

紅框外的.tlc只是針對各自不同的目標稍作了些修改,完成一些額外的事。比如ert_shrlib.tlc,多做了一個工作,把生成的.c.h變成.dll。

這一個小節(jié)說人話就是:選擇ert.tlc。

關于利用Simulink模型自動生成C代碼的相關研究和分析

如果對于一些小算法你有什么高效率的實現(xiàn),也可以添加進來。比如說查表,比說說針對某個特殊器件的四則運算,到時候Coder就會替換你的實現(xiàn)方式。

關于利用Simulink模型自動生成C代碼的相關研究和分析

當然,一些通用的提高代碼效率的方法,還是可以試試。讓 Coder 基于它的 “經(jīng)驗”,給你一些通用的建議:

關于利用Simulink模型自動生成C代碼的相關研究和分析

所以,對于代碼生成的任務來說,除了選擇ert.tlc,點個按鈕之外,再考慮下數(shù)據(jù)管理、代碼結(jié)構(gòu)、文件結(jié)構(gòu)......

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5198

    文章

    20449

    瀏覽量

    334088
  • C代碼
    +關注

    關注

    1

    文章

    90

    瀏覽量

    15185
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    嵌入式軟件單元測試中AI自動化與人工檢查的協(xié)同機制研究:基于專業(yè)工具的實證分析

    ? ?摘要****? 本文系統(tǒng)探討嵌入式軟件相較于通用軟件在單元測試層面的特殊性,分析其對高覆蓋率、可追溯性與實時性驗證的嚴苛需求,并以專業(yè)工具winAMS為技術載體,深入研究AI驅(qū)動的自動化測試在
    發(fā)表于 12-31 11:22

    C語言單元測試在嵌入式軟件開發(fā)中的作用及專業(yè)工具的應用

    ****?:內(nèi)置的STMicroelectronics STM32F4系列芯片模型,精確模擬了時鐘樹在不同溫度下的漂移特性 ?智能用例生成****?:基于控制流分析自動創(chuàng)建包含142
    發(fā)表于 12-18 11:46

    MXAM常見問題解答:從配置到報告生成#simulink模型測試 #simulink

    Simulink
    北匯信息POLELINK
    發(fā)布于 :2025年11月14日 11:48:38

    openDACS 2025 開源EDA與芯片賽項 賽題七:基于大模型生成式原理圖設計

    (Large Language Models, LLMs)正逐步成為EDA工具變革的核心驅(qū)動力之一。近年來,以GPT、DeepSeek、通義千問等為代表的通用大模型在文本生成、語義理解、代碼
    發(fā)表于 11-13 11:49

    使用Simulink自動生成浮點運算HDL代碼(Part 1)

    引言 想要實現(xiàn)浮點運算功能,如果自己寫Verilog代碼,需要花費較多的時間和精力。好在Simulink HDL Coder工具箱提供了自動代碼生成
    發(fā)表于 10-22 06:48

    汽車HIL測試系統(tǒng),歐美標充電模型Simulink模型,開發(fā),有償

    提供一個歐美標充電模型,交付物為白盒Simulink模型
    發(fā)表于 09-04 16:23

    HarmonyOSAI編程編輯區(qū)代碼續(xù)寫

    利用AI大模型分析并理解開發(fā)者在代碼編輯區(qū)的上下文信息或自然語言描述信息,智能生成符合上下文的ArkTS或
    發(fā)表于 08-21 15:43

    HarmonyOS AI輔助編程工具(CodeGenie)代碼續(xù)寫

    利用AI大模型分析并理解開發(fā)者在代碼編輯區(qū)的上下文信息或自然語言描述信息,智能生成符合上下文的ArkTS或
    發(fā)表于 07-15 16:15

    無刷直流電機雙閉環(huán)串級控制系統(tǒng)仿真研究

    Madlab進行BLDC建模仿真的方法,并且也提出了很多的建模仿真方案。例如有研究人員提出采用節(jié)點電流法對電機控制系統(tǒng)進行分析,通過列寫m函數(shù),建立BLDC控制系統(tǒng)真模型,這種方法實質(zhì)上是一種整體建模
    發(fā)表于 07-07 18:36

    無刷直流電機模糊PI控制系統(tǒng)建模與仿真

    利用模型進行了電機動靜態(tài)性能的仿真研究,仿真結(jié)果與理論分析一致,表明讀方法建立的 BLDCM控制系統(tǒng)仿真模型合理、有效。該
    發(fā)表于 07-07 18:25

    模型自適應控制在永磁同步電機轉(zhuǎn)速中的仿真研究

    估計動態(tài)系統(tǒng)非線性函數(shù)和控制律;基于系統(tǒng)輸出誤差提出三個控制規(guī)則生成恰當信號控制電機轉(zhuǎn)速。在 Simulink 環(huán)境下建立控制器和永磁同步電機轉(zhuǎn)速仿真系統(tǒng),仿真分析結(jié)果驗證了提出方法控制電機轉(zhuǎn)速
    發(fā)表于 06-25 13:01

    十字形多自由度超聲電機接觸分析模型研究

    摘 要:十字形多自由度超聲電機其動子繞X、Y軸旋轉(zhuǎn)與繞Z軸旋轉(zhuǎn)的驅(qū)動機理是不同的,根據(jù)彈性接觸理論,對其進行了分別考慮,并建立了電機摩擦接觸分析模型。利用建立的模型,對多自由度電機機械
    發(fā)表于 06-17 09:04

    利用MATLAB對交流電機調(diào)速系統(tǒng)進行建模和仿真

    是借助計算機及相關技術,對真實系統(tǒng)的運行過程和狀態(tài)進行數(shù)字化模擬的技術。Simulink作為MATLAB的一個組件,能夠?qū)崿F(xiàn)對動態(tài)系統(tǒng)的建模、仿真和綜合分析。本文在Simulink環(huán)境
    發(fā)表于 06-06 14:31

    如何實現(xiàn)MC33774IC在Simulink環(huán)境中使用基于模型的設計?

    我想熟悉如何實現(xiàn)MC33774IC 在 Simulink 環(huán)境中使用基于模型的設計。 盡管 MATLAB 提供了一些示例文件,但它們似乎是最終版本。要更深入地了解如何配置MC33774,我正在尋找一個教程,該教程解釋了如何從頭開始在 S
    發(fā)表于 04-10 08:05

    使用 QWQ:32B 模型搭配 VSCode 的 Cline 插件實現(xiàn)自動代碼編程!

    作者:算力魔方創(chuàng)始人/英特爾創(chuàng)新大使劉力 一,概述 隨著人工智能技術的快速發(fā)展,自動化編程工具逐漸成為開發(fā)者的得力助手。QWQ:32B 模型是一種先進的自然語言處理模型,能夠理解并生成
    的頭像 發(fā)表于 03-21 18:12 ?1323次閱讀
    使用 QWQ:32B <b class='flag-5'>模型</b>搭配 VSCode 的 Cline 插件實現(xiàn)<b class='flag-5'>自動</b>化<b class='flag-5'>代碼</b>編程!