嵌入式系統(tǒng)工程開發(fā)的新模式|軟件自動(dòng)化( 代碼自動(dòng)生成)|使用建模的方法(數(shù)字孿生)<結(jié)合視頻一起學(xué)習(xí)>2022-02-04

嵌入式系統(tǒng)工程開發(fā)的新模式|軟件自動(dòng)化( 代碼自動(dòng)生成)|使用建模的方法(數(shù)字孿生)

<結(jié)合視頻一起學(xué)習(xí)>


嵌入式系統(tǒng)工程開發(fā)的新模式|軟件自動(dòng)化( 代碼自動(dòng)生成)|使用建模的方法(數(shù)字孿生)學(xué)習(xí)UML編程語言纠拔,是嵌入式系統(tǒng)編程的一條成功之路和未來趨勢(shì)播赁,這個(gè)方法更快捷_嗶哩嗶哩_bilibili


字幕


親愛的同學(xué)們,大家好!

我想和你們聊聊未來如何繼續(xù)單片機(jī)編程的學(xué)習(xí)渊涝,接下來可以做什么

首先來看一下,我們?cè)谶@個(gè)課程里學(xué)習(xí)了哪些內(nèi)容

我們學(xué)習(xí)了這個(gè)板子的編程芝囤,大家也很努力的寫了很多代碼划煮,還用這個(gè)板子做了許多有趣的練習(xí)

我們?cè)倬唧w看看

我們寫了類似這種源代碼,然后把代碼燒寫到板子上遇骑,再進(jìn)行測(cè)試

這就是開發(fā)嵌入式系統(tǒng)的一般方法


00:01:00

我們回顧一下單片機(jī)的歷史

像這個(gè)單片機(jī)棉浸,它已經(jīng)有30年歷史,是一個(gè)8位單片機(jī)

它是8051的架構(gòu)尾序,今天已經(jīng)不再流行了

接下來還發(fā)生了什么蔓同?


?00:01:30

我們先看看十多年前

以前的8051架構(gòu),在很長一段時(shí)間內(nèi)都是工業(yè)標(biāo)準(zhǔn)

那時(shí)候幾乎只有這一種架構(gòu)

大概在2000年左右蹲诀,開始有了競(jìng)爭(zhēng)


00:02:00

出現(xiàn)了PIC和AVR斑粱,AVR在這里標(biāo)紅了

從此,單片機(jī)的架構(gòu)變得多樣化脯爪,市面上有許多不同的架構(gòu)

也不能再說某一種架構(gòu)才是工業(yè)標(biāo)準(zhǔn)了

這時(shí)出現(xiàn)了許多現(xiàn)代單片機(jī)则北,8位,16位

大約6痕慢、7年前也就在2012年前后的時(shí)間尚揣,

市面上出現(xiàn)了使用ARM控制器的32位單片機(jī)

也就是我們現(xiàn)在學(xué)習(xí)編程的STM32單片機(jī)


00:02:45

那標(biāo)準(zhǔn)的和現(xiàn)代的這兩種架構(gòu)有什么區(qū)別呢?

要強(qiáng)調(diào)的一點(diǎn)是在這10年間單片機(jī)性能是呈指數(shù)性發(fā)展的

我們看這個(gè)指數(shù)曲線上掖举,短的紅線表示舊的8位單片機(jī)的性能

長的紅線表示現(xiàn)在ARM Cortex M單片機(jī)的性能

現(xiàn)在談?wù)摰牟皇菐装傩锌炱浊写a,而是上百萬行代碼塔次,而且是在一個(gè)單片機(jī)上


?00:03:30

接下來方篮,我們?cè)僬務(wù)剰?fù)雜性這個(gè)方面。什么是復(fù)雜性励负?

我現(xiàn)在隨手扔出幾根火柴藕溅,你第一眼便可看出是3根火柴

我再扔出幾根,現(xiàn)在你不能一眼看出继榆,而需要數(shù)數(shù)了

你可能要花上20秒巾表、半分鐘的時(shí)間來數(shù)清楚有幾根火柴

現(xiàn)在我用個(gè)小技巧,這樣給出火柴

通過這個(gè)排列略吨,你可以很快看出這是30根火柴

這就是復(fù)雜性的管理


?00:04:00

我們?cè)倏匆粋€(gè)例子集币,工程師是如何管理復(fù)雜性的

這個(gè)工地看起來很復(fù)雜,問題是翠忠,工人們?nèi)绾沃酪谀睦镒鍪裁茨兀?/p>

這個(gè)秘密也藏在圖片中鞠苟,就是這里

這就是如何管理復(fù)雜性的秘密:

對(duì)于較復(fù)雜的事情,我們先制定計(jì)劃

在軟件編程里,我們也這樣做

建筑工程師先在電腦上畫出藍(lán)圖偶妖,通常不再是手動(dòng)畫圖姜凄,而是用計(jì)算機(jī)軟件


?00:05:03

我們現(xiàn)在看看軟件編程的藍(lán)圖是怎樣的

我們看到的這是源代碼,源代碼不能稱為藍(lán)圖

因?yàn)槲覀冮_始寫代碼時(shí)趾访,就相當(dāng)于工人已經(jīng)在蓋樓了

如果我們沒有藍(lán)圖的話态秧,就是無計(jì)劃地工作

通常的方法是,我們先編寫文本扼鞋,例如用word申鱼,確定要完成哪些工作

這是一個(gè)稍好些的方法,但還不是最佳的

我們常吃仆罚可以看到軟件開發(fā)人員在白板上畫方塊捐友、畫線條,畫完后他們介紹這個(gè)結(jié)構(gòu)圖溃槐,有些人同意的話還會(huì)點(diǎn)頭

可見大家都能看懂和理解這種圖

這個(gè)方法在工程師間很快流傳開來匣砖,大家認(rèn)為這種圖很方便,也易于快速理解

而在實(shí)際軟件編程中昏滴,這種圖看起來是這樣的

00:06:10

這就是軟件編程的藍(lán)圖的樣子


00:06:20

我們?cè)倬唧w看看是怎么做的

通過軟件來建立藍(lán)圖猴鲫,專業(yè)用語稱為software engineering

我們接下來以SiSy軟件為例,介紹如何建立編程的藍(lán)圖


00:06:52

首先谣殊,我們要理解一個(gè)概念:什么是建模拂共?

建模是一個(gè)軟件工程領(lǐng)域的概念,在機(jī)械制造中姻几,人們稱之為機(jī)械設(shè)計(jì)

建模其實(shí)就是軟件的設(shè)計(jì)

建囊撕可以理解為畫出一個(gè)真實(shí)的物體的樣子,而且是通過統(tǒng)一規(guī)范的符號(hào)語言蛇捌,例如小方框抚恒、線條、圓等

這些統(tǒng)一的符號(hào)規(guī)定了人們?nèi)绾萎嬙O(shè)計(jì)圖豁陆,對(duì)圖紙有哪些要求


00:07:35

現(xiàn)在很常見的工作都是基于計(jì)算機(jī)的設(shè)計(jì)然后再自動(dòng)生成柑爸。

如在機(jī)械領(lǐng)域的CNC,在電子電氣領(lǐng)域的PCB盒音,同樣也適用于軟件。這種工作方式就稱為建模馅而。


00:08:00

軟件建模用的是什么符號(hào)語言祥诽?這里也有相應(yīng)的標(biāo)準(zhǔn)

就是ISO 19505標(biāo)準(zhǔn),UML語言的標(biāo)準(zhǔn)瓮恭。借助UML語言我們建立軟件編程的藍(lán)圖

這就是UML語言雄坪,通常一張紙就足以描述清楚它最重要的一些符號(hào)

那它是怎么起作用的呢?人們是怎么使用它的呢屯蹦?


00:08:35

讓我們來看看從模型到運(yùn)行的軟件這項(xiàng)工作是如何完成的维哈。

第一步:我們繪制了軟件結(jié)構(gòu)的藍(lán)圖绳姨。 這就是軟件架構(gòu)的設(shè)計(jì)。

第二步:我們將邏輯納入藍(lán)圖阔挠。這可以寫成源代碼飘庄,甚至可以繪制。以下是序列圖的示例购撼。

第三步:我們按一個(gè)按鈕跪削,SiSy自動(dòng)生成完整的源代碼。

所有專業(yè)的UML工具都可以做到這一點(diǎn)迂求。 SiSy在嵌入式系統(tǒng)方面特別擅長碾盐。

第四步:編譯和鏈接源代碼。 然后代碼可以傳輸?shù)轿⒖刂破?/p>

第五步: 然后我們可以像往常一樣測(cè)試并繼續(xù)工作揩局。

這是不是很容易毫玖。這就完成了

問題是,這種編程方法難學(xué)嗎凌盯?

不孕豹,一點(diǎn)也不難,反而更簡(jiǎn)單十气。


00:10:00

在一開始励背,只要學(xué)習(xí)三樣?xùn)|西

第一,要知道什么是“類”砸西?我們要在藍(lán)圖里放入“類”

第二叶眉,要知道怎么將“類”連接起來,他們之間的“關(guān)系”芹枷,我們要知道一些常見的關(guān)系

第三衅疙,要理解“繼承”的概念

這些都了解后,我們就可以像坐上火箭一樣快速的開始學(xué)習(xí)啦鸳慈。

首先饱溢,什么是“類”?

“類”是系統(tǒng)的組成部分走芋,就像建房子用的磚塊

在UML語言里绩郎,我們用方塊來表示“類”,里面寫上類的名稱


00:10:55

接下來翁逞,我們要了解什么是“繼承”

“繼承”指的是將一個(gè)類的屬性傳遞給另一個(gè)類肋杖,使這個(gè)類也具有了它的屬性

對(duì)于初學(xué)者,“繼承”關(guān)系可以理解為“是”的關(guān)系

這個(gè)圖的含義是:“故障LED是一個(gè)輸出引腳”

故障LED的亮起挖函,需要輸出引腳状植。

我們用一個(gè)空心三角形來表示“繼承”/“是”關(guān)系。


00:11:40

接下來,還有“擁有”的關(guān)系

也就是我們用若干個(gè)較小的對(duì)象來組成一個(gè)較大的對(duì)象

例如我們可以建立一個(gè)系統(tǒng)津畸,它擁有故障LED振定、按鈕等等。

“擁有”可以用一端菱形一端箭頭的線條來表示肉拓,菱形有空心和實(shí)心兩種后频,對(duì)于初學(xué)者我們先不介紹它們的區(qū)別,暫且先用空心菱形

這個(gè)圖表示的就是“控制器有一個(gè)故障LED”

我們?cè)賮矸治鲆粋€(gè)具體的完整案例

我們可以用剛才學(xué)到的知識(shí)來讀圖帝簇,學(xué)了兩分鐘我們就能看懂UML圖啦徘郭,這真的不難。

00:12:35

控制器有一個(gè)故障LED和按鈕丧肴,故障LED是一個(gè)輸出引腳残揉,按鈕是輸入引腳。


很簡(jiǎn)單的系統(tǒng)芋浮,看起來和在SiSy里真實(shí)的結(jié)構(gòu)圖是一樣的抱环。

現(xiàn)在我只需要按下按鈕即可,按下軟件里的按鈕纸巷,這個(gè)程序就能運(yùn)行了

事實(shí)上就是這么簡(jiǎn)單


00:13:04

有哪些人在使用這種編程方法镇草、使用SiSy工具呢?

這里有個(gè)世界地圖瘤旨,下方是歐洲和德國

SiSy是來自德國的軟件梯啤,用戶最多是集中在德國

僅在德國,就有超過27000名用戶存哲。這里是一些使用SiSy軟件的德國大學(xué)和應(yīng)用技術(shù)型大學(xué)以及職業(yè)技術(shù)學(xué)院因宇。可以說祟偷,大約有一半的德國高校使用SiSy察滑,還有奧地利和瑞士的高校也使用⌒蕹Γ康斯坦茨贺辰、慕尼黑、亞琛嵌施、海德堡饲化、漢諾威、科布倫茨以及柏林的所有高等院校等都在教學(xué)中使用SiSy艰管。


00:14:10

通過SiSy軟件完成了哪些項(xiàng)目呢滓侍?

SiSy不僅用于學(xué)校教學(xué),還用于很多實(shí)際項(xiàng)目

不算上27000名用戶牲芋,僅我們SiSy公司就做了不少項(xiàng)目

例如,我們使用SiSy為移動(dòng)機(jī)械開發(fā)控制器

除了移動(dòng)機(jī)械和汽車領(lǐng)域,還有關(guān)于建筑能源管理的項(xiàng)目缸浦。

左邊這個(gè)建筑是不需要外部的能源供應(yīng)的夕冲,它的能源可以自給自足。

另外一個(gè)建筑是一所學(xué)校裂逐,也是零能耗建筑被動(dòng)屋歹鱼。

這里涉及上千個(gè)傳感器,上百個(gè)節(jié)點(diǎn)卜高,每天超過200萬個(gè)測(cè)量值弥姻,它們通過網(wǎng)絡(luò)傳遞到主機(jī)。

也就是說掺涛,SiSy不僅可以用于單片機(jī)編程庭敦,還能用于其他很多領(lǐng)域。

我們最大的項(xiàng)目是2000年漢諾威世博會(huì)項(xiàng)目的業(yè)務(wù)流程建模薪缆。

世博會(huì)有超過2萬名員工秧廉,我們對(duì)業(yè)務(wù)流程進(jìn)行建模,生成了工作指示 拣帽。

SiSy中不僅可以生成源代碼疼电,還可以生成文件(工作指示)。

這是SiSy作為建模工具的絕對(duì)優(yōu)勢(shì)减拭。


00:15:55

最后蔽豺,我推薦你們使用建模的方法,學(xué)習(xí)UML編程語言拧粪,使用SiSy軟件修陡。

這是嵌入式系統(tǒng)編程的一條成功之路和未來趨勢(shì),這個(gè)方法更快捷既们、更有效濒析、更穩(wěn)定,而且可以保存為文本文檔啥纸,

所有軟件編程的需要都可以在SiSy中得到滿足号杏。

最好祝大家在學(xué)習(xí)中有所收獲并樂在其中!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末斯棒,一起剝皮案震驚了整個(gè)濱河市盾致,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌荣暮,老刑警劉巖庭惜,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異穗酥,居然都是意外死亡护赊,警方通過查閱死者的電腦和手機(jī)惠遏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來骏啰,“玉大人节吮,你說我怎么就攤上這事∨懈” “怎么了透绩?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長壁熄。 經(jīng)常有香客問我帚豪,道長,這世上最難降的妖魔是什么草丧? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任狸臣,我火速辦了婚禮,結(jié)果婚禮上方仿,老公的妹妹穿的比我還像新娘固棚。我一直安慰自己,他們只是感情好仙蚜,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布此洲。 她就那樣靜靜地躺著,像睡著了一般委粉。 火紅的嫁衣襯著肌膚如雪呜师。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天贾节,我揣著相機(jī)與錄音汁汗,去河邊找鬼。 笑死栗涂,一個(gè)胖子當(dāng)著我的面吹牛知牌,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播斤程,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼角寸,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了忿墅?” 一聲冷哼從身側(cè)響起扁藕,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎疚脐,沒想到半個(gè)月后亿柑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡棍弄,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年望薄,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疟游。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡式矫,死狀恐怖乡摹,靈堂內(nèi)的尸體忽然破棺而出役耕,到底是詐尸還是另有隱情采转,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布瞬痘,位于F島的核電站故慈,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏框全。R本人自食惡果不足惜察绷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望津辩。 院中可真熱鬧拆撼,春花似錦、人聲如沸喘沿。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚜印。三九已至莺禁,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間窄赋,已是汗流浹背哟冬。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留忆绰,地道東北人浩峡。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像错敢,于是被迫代替她去往敵國和親翰灾。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容