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