???總覺得單純寫ISO 26262顯得太單調(diào),于是小編拉上好盆友印小怪開啟了simulink 之旅。希望能跟更多的朋友一起交流學(xué)習(xí),共同進(jìn)步。趁著周末的大好時光,一起來學(xué)習(xí)吧!?
?從工作到現(xiàn)在已經(jīng)五年多的時間了,在工作中發(fā)現(xiàn)了一個代碼神器,有請神器閃亮登場,那就是我們的Simulink。 剛開始用代碼生成功能的時候真是一把鼻涕一把淚呀,搗鼓了一周才弄了個一知半解,網(wǎng)上詳細(xì)介紹代碼生成的文章又不多,所以我簡單整理了一下代碼生成的知識,算是個拋磚引玉,希望有C基礎(chǔ)或者想學(xué)代碼編程的人得到些許知識,若是有錯誤的地方還請大家批評指正。 剛剛開始學(xué)代碼生成的時候,看著Simulink生成的代碼簡直就是在看天文,基本上沒有什么可讀性,后來了解了配置規(guī)則后才發(fā)現(xiàn)Simulink真是太強(qiáng)大了。當(dāng)然也不是真想讀C代碼,只是讓代碼看起來更像我們手寫的C代碼一樣。從現(xiàn)在應(yīng)用現(xiàn)狀來看,用的最多的地方是在汽車ECU控制器上,偷偷的告訴你,做嵌入式的程序員們都可以用哦! 為了不增加文章的繁瑣性,基本的Simulink操作我就不再贅述,所以看下面文章得有一定的Simulink的基礎(chǔ)。 下面進(jìn)入正題,欣賞代碼生成的魅力,先舉個最簡單的例子,看看Simulink生成的代碼什么樣。 首先創(chuàng)建一個Test.slx的文件,里面放上如下所示的一個模型并進(jìn)行個簡單的設(shè)置如下圖:?
?
至于為什么配置等后續(xù)文章會詳細(xì)介紹,請耐心等待。點(diǎn)擊代碼生成按鈕后就生成了報告。下面來簡單看一下生成代碼的效果,其中最關(guān)鍵的是Test.c和Test.h文件,這個是咱們最想要的代碼了,如下圖所示:
從Test.c文件中找到咱們想要實(shí)現(xiàn)y=x*3的這個應(yīng)用內(nèi)容:
沃德天,這上面又是結(jié)構(gòu)體,又改名字的,不是我想要的呀,想一下要是咱們用C代碼去實(shí)現(xiàn)這個函數(shù)該怎么實(shí)現(xiàn),如下所示:
是不是C代碼看起來簡單明了?,F(xiàn)在咱們就一步步配置規(guī)則讓自動生成的代碼和下面手寫的C代碼一致。 第一步,將函數(shù)名字配置成想要的名字,如GetGain3,如下圖步驟:
點(diǎn)擊代碼生成,得到如下:
是不是和咱們平常寫的代碼一致了。所以生成的代碼,一定程度上是可以比擬用C寫的哦! 當(dāng)然會C的人說了,我簡單一句話搞定了,為什么用你的模型去生成代碼。其實(shí)模型有這樣幾個好處:
一個是測試方面的比如MIL、SIL、PIL測試方面保證代碼的質(zhì)量;
第二個是其生成的代碼會符合規(guī)范,如MISRA-C 2012等;
第三點(diǎn)就是可讀性,圖形化的界面比一行行的字母的可讀性要好,當(dāng)設(shè)計比較復(fù)雜的系統(tǒng)時,模型的優(yōu)勢就逐漸的顯現(xiàn)出來了。
責(zé)任編輯:YYX
-
Simulink
+關(guān)注
關(guān)注
22文章
543瀏覽量
64019 -
C代碼
+關(guān)注
關(guān)注
1文章
90瀏覽量
14776
原文標(biāo)題:Simulink之嵌入式C代碼生成-前言篇
文章出處:【微信號:QCDZYJ,微信公眾號:汽車電子工程知識體系】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Linux嵌入式和單片機(jī)嵌入式的區(qū)別?
ETAS全新的嵌入式AI解決方案

Python在嵌入式系統(tǒng)中的應(yīng)用場景
嵌入式主板選型與應(yīng)用指南

嵌入式系統(tǒng)中的代碼優(yōu)化與壓縮技術(shù)
如何提高嵌入式代碼質(zhì)量?
新手怎么學(xué)嵌入式?
零基礎(chǔ)嵌入式開發(fā)學(xué)習(xí)路線
什么是嵌入式?一文讀懂嵌入式主板
嵌入式主板是什么意思?嵌入式主板全面解析
使用C2000?嵌入式模式生成器(EPG)進(jìn)行設(shè)計

嵌入式開發(fā)常用軟件有哪些?
北京迅為RK3568開發(fā)板嵌入式學(xué)習(xí)之Linux驅(qū)動全新更新-CAN+

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

評論