女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

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

掃碼添加小助手

加入工程師交流群

Simulink 模型的自動(dòng)代碼生成?

簡(jiǎn)單來(lái)說(shuō),在我們的 “大” 項(xiàng)目中,需要實(shí)現(xiàn)很多算法,其中比如 myfilter。

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

現(xiàn)在不手寫(xiě)C了,而是搭建Simulink框圖。對(duì)那些算法比C語(yǔ)法熟悉的人來(lái)說(shuō),這是個(gè)福音。

算法實(shí)現(xiàn)方便,測(cè)試方便

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

Simulink 模型的測(cè)試驗(yàn)證非常重要,然而這里不討論。

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

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

把自動(dòng)生成的源文件集成到原來(lái)的項(xiàng)目文件中。

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

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

比如這里就是通過(guò) VS 編譯成 exe,很簡(jiǎn)單吧。

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

所以

對(duì)于代碼生成的任務(wù)來(lái)說(shuō)

重點(diǎn)在如何生成自己想要的C代碼

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

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

Simulink 算法模型通過(guò) Coder 生成的是藍(lán)色部分,標(biāo)準(zhǔn)C;跟硬件打交道的底層驅(qū)動(dòng)黑色部分,是手寫(xiě)代碼。

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

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

那么

為什么會(huì)有人問(wèn)這個(gè)問(wèn)題呢?

Build Process

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

為什么說(shuō)張羅,而不說(shuō)完成呢,因?yàn)镃oder本身并沒(méi)有編譯的功能,它會(huì)后臺(tái)調(diào)用你安裝了的編譯器來(lái)實(shí)現(xiàn) ,看下圖。

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

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

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

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

好像還是沒(méi)解釋所謂硬件支持的問(wèn)題?

I/O Drive blocks

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

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

然后可以做什么?

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

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

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

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

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

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

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

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

另一個(gè)經(jīng)常會(huì)問(wèn)的問(wèn)題:

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

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

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

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

再厲害的谷歌翻譯,也翻譯不出這句人話:“今天不想上班。”

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

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

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

但其實(shí),對(duì)于我們用戶(hù)來(lái)說(shuō),這些Coder都是 “看不見(jiàn)” 的,沒(méi)有所謂打開(kāi)Embedded Coder工具箱的說(shuō)法。

我們只需要關(guān)心選擇哪一個(gè)系統(tǒng)目標(biāo)文件(System tareget file)。罷了,下圖。“無(wú)責(zé)任瞎猜一句”,為什么這些后綴名是.tlc呢?因?yàn)镃oder里面干翻譯這個(gè)活的叫TargetLanguageCompiler。

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

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

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

如果對(duì)于一些小算法你有什么高效率的實(shí)現(xiàn),也可以添加進(jìn)來(lái)。比如說(shuō)查表,比說(shuō)說(shuō)針對(duì)某個(gè)特殊器件的四則運(yùn)算,到時(shí)候Coder就會(huì)替換你的實(shí)現(xiàn)方式。

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

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

關(guān)于利用Simulink模型自動(dòng)生成C代碼的相關(guān)研究和分析

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

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

    關(guān)注

    5152

    文章

    19670

    瀏覽量

    317530
  • C代碼
    +關(guān)注

    關(guān)注

    1

    文章

    90

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    無(wú)模型自適應(yīng)控制在永磁同步電機(jī)轉(zhuǎn)速中的仿真研究

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

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

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

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

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

    Simulink與 Simscape的結(jié)合使用

    。用戶(hù)可以利用 Simulink 進(jìn)行系統(tǒng)建模、仿真、測(cè)試和驗(yàn)證,以及生成代碼。 Simscape 簡(jiǎn)介 Simscape 是一個(gè)用于創(chuàng)建基于物理的
    的頭像 發(fā)表于 12-12 09:31 ?1822次閱讀

    Simulink與 MATLAB 的結(jié)合使用 Simulink中的信號(hào)處理方法

    在工程和科學(xué)研究中,信號(hào)處理是一個(gè)重要的領(lǐng)域,涉及到信號(hào)的采集、分析、處理和生成。MATLAB 提供了豐富的信號(hào)處理工具箱,而 Simulink 提供了一個(gè)直觀的圖形界面,使得復(fù)雜的信
    的頭像 發(fā)表于 12-12 09:25 ?1513次閱讀

    Simulink模型仿真與分析技巧

    1. 模型構(gòu)建基礎(chǔ) 1.1 理解系統(tǒng)需求 在開(kāi)始構(gòu)建模型之前,明確系統(tǒng)的需求和目標(biāo)是至關(guān)重要的。這包括了解系統(tǒng)的動(dòng)態(tài)特性、輸入輸出關(guān)系以及預(yù)期的性能指標(biāo)。 1.2 選擇合適的模塊 Simulink
    的頭像 發(fā)表于 12-12 09:23 ?2441次閱讀

    Simulink自定義模塊開(kāi)發(fā)教程 Simulink 在控制系統(tǒng)中的應(yīng)用

    在控制系統(tǒng)的設(shè)計(jì)和分析中,Simulink 提供了一個(gè)強(qiáng)大的工具集,允許工程師通過(guò)圖形化界面快速構(gòu)建和測(cè)試復(fù)雜的系統(tǒng)模型。然而,Simulink 的標(biāo)準(zhǔn)庫(kù)可能不包含所有特定的功能,這時(shí)
    的頭像 發(fā)表于 12-12 09:21 ?2188次閱讀

    NVIDIA推出全新生成式AI模型Fugatto

    NVIDIA 開(kāi)發(fā)了一個(gè)全新的生成式 AI 模型利用輸入的文本和音頻,該模型可以創(chuàng)作出包含任意的音樂(lè)、人聲和聲音組合的作品。
    的頭像 發(fā)表于 11-27 11:29 ?819次閱讀

    探索設(shè)計(jì)稿自動(dòng)生成Flutter代碼的技術(shù)方案

    的工具和方法,最后嘗試大模型生成flutter代碼在項(xiàng)目中的實(shí)踐。 一、美團(tuán)的探索 美團(tuán)在2021年3月25日發(fā)表了一篇關(guān)于設(shè)計(jì)稿自動(dòng)
    的頭像 發(fā)表于 11-08 10:09 ?1702次閱讀
    探索設(shè)計(jì)稿<b class='flag-5'>自動(dòng)</b><b class='flag-5'>生成</b>Flutter<b class='flag-5'>代碼</b>的技術(shù)方案

    如何自動(dòng)生成verilog代碼

    介紹幾種自動(dòng)生成verilog代碼的方法。
    的頭像 發(fā)表于 11-05 11:45 ?1031次閱讀
    如何<b class='flag-5'>自動(dòng)</b><b class='flag-5'>生成</b>verilog<b class='flag-5'>代碼</b>

    Matlab/Simulink/Stateflow建模開(kāi)發(fā)及仿真測(cè)試

    matlab 模擬仿真 熟悉Matlab/Simulink/Stateflow建模開(kāi)發(fā)及仿真測(cè)試,熟悉V模型開(kāi)發(fā)流程。 熟悉自動(dòng)代碼生成,能
    發(fā)表于 10-24 17:23

    AI大模型的最新研究進(jìn)展

    AI大模型的最新研究進(jìn)展體現(xiàn)在多個(gè)方面,以下是對(duì)其最新進(jìn)展的介紹: 一、技術(shù)創(chuàng)新與突破 生成式AI技術(shù)的爆發(fā) : 生成式AI技術(shù)正在迅速發(fā)展,其強(qiáng)大的
    的頭像 發(fā)表于 10-23 15:19 ?1512次閱讀

    代碼解析工具與自動(dòng)化流程圖生成解決方案

    ? 摘要:CasePlayer2是一款強(qiáng)大的源代碼解析工具,專(zhuān)門(mén)設(shè)計(jì)用于分析ANSI CCC++以及匯編語(yǔ)言源
    的頭像 發(fā)表于 10-10 13:40 ?1004次閱讀

    新的 MathWorks 硬件支持包支持從 MATLAB 和 Simulink 模型到高通 Hexagon 神經(jīng)處理單元架構(gòu)的自動(dòng)代碼生成

    ? 和 Simulink? 模型自動(dòng)代碼生成流程。在提高數(shù)據(jù)準(zhǔn)確度和標(biāo)準(zhǔn)合規(guī)性的同時(shí),也提升開(kāi)發(fā)人員的工作流效率。使用 MathWork
    的頭像 發(fā)表于 09-23 11:59 ?583次閱讀

    關(guān)于Makefile自動(dòng)生成-autotools的使用

    的Makefile并非日常任務(wù),但遇見(jiàn)需要構(gòu)建大型軟件項(xiàng)目時(shí),利用工具自動(dòng)生成Makefile就顯得尤為關(guān)鍵。接下來(lái),我們將重點(diǎn)介紹一款自動(dòng)化構(gòu)建工具——Autoto
    的頭像 發(fā)表于 07-25 15:50 ?1825次閱讀
    <b class='flag-5'>關(guān)于</b>Makefile<b class='flag-5'>自動(dòng)</b><b class='flag-5'>生成</b>-autotools的使用