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

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

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

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

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

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

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

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

所以

對(duì)于代碼生成的任務(wù)來說

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

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

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

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

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

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

那么

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

Build Process

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

為什么說張羅,而不說完成呢,因?yàn)镃oder本身并沒有編譯的功能,它會(huì)后臺(tái)調(diào)用你安裝了的編譯器來實(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”。

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

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

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

I/O Drive blocks

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

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

然后可以做什么?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

如果對(duì)于一些小算法你有什么高效率的實(shí)現(xiàn),也可以添加進(jìn)來。比如說查表,比說說針對(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ù)來說,除了選擇ert.tlc,點(diǎn)個(gè)按鈕之外,再考慮下數(shù)據(jù)管理、代碼結(jié)構(gòu)、文件結(jié)構(gòu)......

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

    關(guān)注

    5198

    文章

    20413

    瀏覽量

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

    關(guān)注

    1

    文章

    90

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

    openDACS 2025 開源EDA與芯片賽項(xiàng) 賽題七:基于大模型生成式原理圖設(shè)計(jì)

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

    使用Simulink自動(dòng)生成浮點(diǎn)運(yùn)算HDL代碼(Part 1)

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

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

    提供一個(gè)歐美標(biāo)充電模型,交付物為白盒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

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

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

    模型自適應(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

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

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

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

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

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

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

    STM32CubeMX用于STM32配置和初始化C代碼生成

    電子發(fā)燒友網(wǎng)站提供《STM32CubeMX用于STM32配置和初始化C代碼生成.pdf》資料免費(fèi)下載
    發(fā)表于 02-26 17:32 ?678次下載