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

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

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

simulink之嵌入式C代碼生成

汽車電子工程知識(shí)體系 ? 來源:汽車電子硬件設(shè)計(jì) ? 作者:汽車電子硬件設(shè)計(jì) ? 2020-10-10 11:02 ? 次閱讀

???總覺得單純寫ISO 26262顯得太單調(diào),于是小編拉上好盆友印小怪開啟了simulink 之旅。希望能跟更多的朋友一起交流學(xué)習(xí),共同進(jìn)步。趁著周末的大好時(shí)光,一起來學(xué)習(xí)吧!?

?從工作到現(xiàn)在已經(jīng)五年多的時(shí)間了,在工作中發(fā)現(xiàn)了一個(gè)代碼神器,有請(qǐng)神器閃亮登場(chǎng),那就是我們的Simulink。 剛開始用代碼生成功能的時(shí)候真是一把鼻涕一把淚呀,搗鼓了一周才弄了個(gè)一知半解,網(wǎng)上詳細(xì)介紹代碼生成的文章又不多,所以我簡(jiǎn)單整理了一下代碼生成的知識(shí),算是個(gè)拋磚引玉,希望有C基礎(chǔ)或者想學(xué)代碼編程的人得到些許知識(shí),若是有錯(cuò)誤的地方還請(qǐng)大家批評(píng)指正。 剛剛開始學(xué)代碼生成的時(shí)候,看著Simulink生成的代碼簡(jiǎn)直就是在看天文,基本上沒有什么可讀性,后來了解了配置規(guī)則后才發(fā)現(xiàn)Simulink真是太強(qiáng)大了。當(dāng)然也不是真想讀C代碼,只是讓代碼看起來更像我們手寫的C代碼一樣。從現(xiàn)在應(yīng)用現(xiàn)狀來看,用的最多的地方是在汽車ECU控制器上,偷偷的告訴你,做嵌入式程序員們都可以用哦! 為了不增加文章的繁瑣性,基本的Simulink操作我就不再贅述,所以看下面文章得有一定的Simulink的基礎(chǔ)。 下面進(jìn)入正題,欣賞代碼生成的魅力,先舉個(gè)最簡(jiǎn)單的例子,看看Simulink生成的代碼什么樣。 首先創(chuàng)建一個(gè)Test.slx的文件,里面放上如下所示的一個(gè)模型并進(jìn)行個(gè)簡(jiǎn)單的設(shè)置如下圖:?

?

至于為什么配置等后續(xù)文章會(huì)詳細(xì)介紹,請(qǐng)耐心等待。點(diǎn)擊代碼生成按鈕后就生成了報(bào)告。下面來簡(jiǎn)單看一下生成代碼的效果,其中最關(guān)鍵的是Test.c和Test.h文件,這個(gè)是咱們最想要的代碼了,如下圖所示:

從Test.c文件中找到咱們想要實(shí)現(xiàn)y=x*3的這個(gè)應(yīng)用內(nèi)容:

沃德天,這上面又是結(jié)構(gòu)體,又改名字的,不是我想要的呀,想一下要是咱們用C代碼去實(shí)現(xiàn)這個(gè)函數(shù)該怎么實(shí)現(xiàn),如下所示:

是不是C代碼看起來簡(jiǎn)單明了?,F(xiàn)在咱們就一步步配置規(guī)則讓自動(dòng)生成的代碼和下面手寫的C代碼一致。 第一步,將函數(shù)名字配置成想要的名字,如GetGain3,如下圖步驟:

點(diǎn)擊代碼生成,得到如下:

是不是和咱們平常寫的代碼一致了。所以生成的代碼,一定程度上是可以比擬用C寫的哦! 當(dāng)然會(huì)C的人說了,我簡(jiǎn)單一句話搞定了,為什么用你的模型去生成代碼。其實(shí)模型有這樣幾個(gè)好處:

一個(gè)是測(cè)試方面的比如MIL、SIL、PIL測(cè)試方面保證代碼的質(zhì)量;

第二個(gè)是其生成的代碼會(huì)符合規(guī)范,如MISRA-C 2012等;

第三點(diǎn)就是可讀性,圖形化的界面比一行行的字母的可讀性要好,當(dāng)設(shè)計(jì)比較復(fù)雜的系統(tǒng)時(shí),模型的優(yōu)勢(shì)就逐漸的顯現(xiàn)出來了。

責(zé)任編輯:YYX

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

    關(guān)注

    22

    文章

    520

    瀏覽量

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

    關(guān)注

    1

    文章

    89

    瀏覽量

    14258

原文標(biāo)題:Simulink之嵌入式C代碼生成-前言篇

文章出處:【微信號(hào):QCDZYJ,微信公眾號(hào):汽車電子工程知識(shí)體系】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    使用C2000?嵌入式模式生成器(EPG)進(jìn)行設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《使用C2000?嵌入式模式生成器(EPG)進(jìn)行設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 09-14 10:13 ?0次下載
    使用<b class='flag-5'>C</b>2000?<b class='flag-5'>嵌入式</b>模式<b class='flag-5'>生成</b>器(EPG)進(jìn)行設(shè)計(jì)

    一種常用嵌入式開發(fā)代碼

    使用開源協(xié)議:GPL-2.0varch簡(jiǎn)介varch(we-architecture,意為我們的框架庫)是嵌入式C語言常用代碼模塊庫,包含了嵌入式中常用的算法庫,數(shù)據(jù)結(jié)構(gòu)(容器)庫,解
    的頭像 發(fā)表于 09-04 08:06 ?326次閱讀
    一種常用<b class='flag-5'>嵌入式</b>開發(fā)<b class='flag-5'>代碼</b>庫

    如何提升嵌入式編程能力?

    :掌握嵌入式系統(tǒng)的基本原理,包括中斷、并發(fā)、實(shí)時(shí)操作、低功耗設(shè)計(jì)等。 3. 實(shí)踐編程:通過實(shí)際編寫和測(cè)試代碼來提高技能。從簡(jiǎn)單的LED閃爍程序開始,逐步過渡到更復(fù)雜的項(xiàng)目,如定時(shí)器PWM應(yīng)用、串口、IIC
    發(fā)表于 06-21 10:01

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語言則是嵌入式系統(tǒng)開發(fā)中最常用的編程語言之一。成為一名
    發(fā)表于 04-07 16:03

    如何成為一名嵌入式C語言高手?

    如何成為一名嵌入式C語言高手? 嵌入式系統(tǒng)是當(dāng)今科技領(lǐng)域的核心,而C語言則是嵌入式系統(tǒng)開發(fā)中最常用的編程語言之一。成為一名
    發(fā)表于 03-25 14:12

    聊一聊嵌入式C語言

    作為一名嵌入式軟件開發(fā)者,熟練掌握嵌入式C語言對(duì)我的日常工作至關(guān)重要。
    的頭像 發(fā)表于 01-22 09:28 ?493次閱讀

    嵌入式核心板開發(fā)ESD靜電保護(hù)

    嵌入式核心板開發(fā)ESD靜電保護(hù)
    的頭像 發(fā)表于 11-28 17:55 ?540次閱讀
    <b class='flag-5'>嵌入式</b>核心板開發(fā)<b class='flag-5'>之</b>ESD靜電保護(hù)

    嵌入式C語言的結(jié)構(gòu)特點(diǎn)

    嵌入式開發(fā)中既有底層硬件的開發(fā)又涉及上層應(yīng)用的開發(fā),即涉及系統(tǒng)的硬件和軟件,C語言既具有匯編語言操作底層的優(yōu)勢(shì),又具有高級(jí)語言功能性強(qiáng)的特點(diǎn),當(dāng)之無愧地成為嵌入式開發(fā)的主流語言。在 STM32開發(fā)
    的頭像 發(fā)表于 11-24 16:16 ?595次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b>語言的結(jié)構(gòu)特點(diǎn)

    嵌入式系統(tǒng)的C語言

    電子發(fā)燒友網(wǎng)站提供《嵌入式系統(tǒng)的C語言.doc》資料免費(fèi)下載
    發(fā)表于 11-18 14:39 ?2次下載
    <b class='flag-5'>嵌入式</b>系統(tǒng)的<b class='flag-5'>C</b>語言

    C語言進(jìn)階嵌入式系統(tǒng)高級(jí)C語言編程

    電子發(fā)燒友網(wǎng)站提供《C語言進(jìn)階嵌入式系統(tǒng)高級(jí)C語言編程.rar》資料免費(fèi)下載
    發(fā)表于 11-18 10:32 ?1次下載
    <b class='flag-5'>C</b>語言進(jìn)階<b class='flag-5'>之</b><b class='flag-5'>嵌入式</b>系統(tǒng)高級(jí)<b class='flag-5'>C</b>語言編程

    c語言嵌入式開發(fā)

    電子發(fā)燒友網(wǎng)站提供《c語言嵌入式開發(fā).zip》資料免費(fèi)下載
    發(fā)表于 11-17 14:11 ?2次下載
    <b class='flag-5'>c</b>語言<b class='flag-5'>嵌入式</b>開發(fā)

    simulink自動(dòng)生成ROS代碼

    當(dāng)我們用simulink完成控制程序的搭建后,我們期望下一次可以直接對(duì)ROS進(jìn)行控制,而不是每次都需要啟動(dòng)matlab和simulink,因此我們可以使用simulink代碼
    的頭像 發(fā)表于 11-15 17:53 ?749次閱讀
    <b class='flag-5'>simulink</b>自動(dòng)<b class='flag-5'>生成</b>ROS<b class='flag-5'>代碼</b>

    一般在什么情況下需要用到simulink?

    使用simlink生成嵌入式代碼,一般在什么情況下需要用到simulink,simulink的教程,誰有提供一下
    發(fā)表于 11-06 08:06

    嵌入式程序基于源代碼仿真調(diào)試

    前面一課設(shè)計(jì)了51單片機(jī)最小系統(tǒng)電路,使用51單片機(jī)的I/O口控制發(fā)光二極管的狀態(tài),并裝載運(yùn)行了使用keil編寫的嵌入式程序。本次實(shí)驗(yàn)應(yīng)用proteus結(jié)合keil對(duì)嵌入式C程序進(jìn)行源代碼
    的頭像 發(fā)表于 11-01 09:24 ?1051次閱讀
    <b class='flag-5'>嵌入式</b>程序基于源<b class='flag-5'>代碼</b>仿真調(diào)試

    如何用C語言開發(fā)DSP嵌入式系統(tǒng)?

    如何用C語言開發(fā)DSP嵌入式系統(tǒng)? DSP嵌入式系統(tǒng)開發(fā)是一個(gè)非常重要的領(lǐng)域,它涉及到設(shè)備的控制、數(shù)據(jù)的處理、系統(tǒng)的優(yōu)化等多種方面,因此,掌握這方面的技術(shù)非常重要。 在本文中,將詳細(xì)探討如何用
    的頭像 發(fā)表于 10-29 17:29 ?1129次閱讀