電子產(chǎn)業(yè)一站式賦能平臺

PCB聯(lián)盟網(wǎng)

搜索
查看: 2378|回復: 0
收起左側

嵌入式開發(fā)培訓還火嗎_C++嵌入式系統(tǒng)中應用

[復制鏈接]

2607

主題

2607

帖子

7472

積分

高級會員

Rank: 5Rank: 5

積分
7472
跳轉到指定樓層
樓主
發(fā)表于 2020-7-31 15:22:45 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
嵌入式開發(fā)培訓還火嗎_C++嵌入式系統(tǒng)中應用,   

c++作為一種編程語言,從其誕生之日至今,已經(jīng)在軟件業(yè)的歷史上扮演了至關重要的角色。它強大的語言功能和靈活的語言機制是無數(shù)程序員為之折腰。而c++中蘊含的oo,gp等編程思想,更是潛移默化的影響了軟件的架構方法。從這個層面上講,c++的影響已經(jīng)不僅僅是一門編程語言這樣簡單。然而隨著internet的發(fā)展及其帶來的b/s架構軟件的興起。新興的java/c#/vb.net等基于虛擬機語言及ruby/groovy等動態(tài)語言作為后起之秀,憑借其獨有的快速開發(fā)、簡單易用等特性,開始逐漸挑戰(zhàn)c++的地位,在企業(yè)計算領域占據(jù)了越來越重要的地位。拋開企業(yè)計算,我們轉換舞臺,來看一看c++語言在另一塊群雄紛爭的領域上的身影。

嵌入式系統(tǒng)編程   “嵌入式”是一個很大的話題,它涉及的領域相當廣泛,涵蓋了硬件設計與軟件開發(fā)。大致來說,嵌入式系統(tǒng)有三個特點:嵌入性,專用性和計算性。嵌入性表示系統(tǒng)通常需要嵌入到其他對象系統(tǒng)中,小到計算器、mp3,大到導彈、航天飛機等等。因此必須滿足對象系統(tǒng)的環(huán)境要求,如物理環(huán)境(小型)、電氣環(huán)境(可靠)、成本(價廉)等要求。專用性表示系統(tǒng)的軟硬件要有可裁剪性;滿足對象要求的最小軟、硬件配置等。計算性表示嵌入式系統(tǒng)必須是能滿足對象系統(tǒng)控制要求的計算機系統(tǒng)。正是由于應用系統(tǒng)的環(huán)境復雜多樣,嵌入式系統(tǒng)的軟硬件種類也非常繁多。按照應用需求,處理器可能從4位到128位,內存可能從幾k到幾百m甚至幾g不等。

  長久以來,提到嵌入式軟件大家首先聯(lián)想到的可能是慢得可憐的處理器和少得可憐的內存及外存,通常我們稱此為資源受限的環(huán)境?梢灶A言,在現(xiàn)在及將來的很長一段時間內,很多嵌入式軟件將繼續(xù)在資源受限的環(huán)境下開發(fā)。在資源受限的環(huán)境下,代碼的體積、執(zhí)行的效率通常都是程序員最關注的因素。正因如此,長期以來,c語言甚至匯編語言在嵌入式領域占據(jù)了非常廣闊的市場。c++語言之所以沒有從一開始就在嵌入式領域遍地開花,也不是沒有原因的。

  首先,還是由嵌入式應用種類繁多的特點決定,我們永遠也不會用iso c++在四位芯片上編程控制彩燈閃爍(當然這也不是不可以),這種工作只需要幾條匯編語句就可以完成,用c++無易于“高射炮打蚊子”。更重要的一點,iso c++標準定義了c++的語法規(guī)范,但是并沒有定義其相對應的開銷。現(xiàn)實情況是,嵌入式天梯圖, 合肥嵌入式開發(fā)培訓, 嵌入式和網(wǎng)絡工程, 嵌入式計算加速, 嵌入式有發(fā)展前途嗎, 簡單理解嵌入式, 嵌入式轉云計算, 嵌入式軟件退稅違規(guī), 嵌入式方面的職業(yè), 嵌入式哪個大學有, 嵌入式攝像頭解碼, 嵌入式系統(tǒng)存取速度, 嵌入式購買因素趨勢, 國產(chǎn)嵌入式輔助工具, 什么叫嵌入式地暖, 嵌入式系統(tǒng)的需求, 嵌入式處理器死機的, 嵌入式初級上海, 嵌入式有什么好處, 嵌入式中斷如何測試, 嵌入式簡歷技能, 嵌入式電路與系統(tǒng), 在一些編譯器的具體實現(xiàn)上,有一些iso c++的語法特性會導致代碼體積膨脹和執(zhí)行效率的低下。這導致了一些關注嵌入式系統(tǒng)效率與性能的開發(fā)人員不愿意使用c++作為嵌入式軟件的開發(fā)語言。

讓c++為嵌入式系統(tǒng)服務  雖然使用c++有可能會對嵌入式軟件帶來額外的開銷,但是這并沒有影響c++在嵌入式軟件中的推廣,在使用c++的過程中,揚長避短,發(fā)揮c++在封裝、繼承等方面的優(yōu)勢,避開可能導致效率與性能問題的語言特性,依然可以開發(fā)出優(yōu)秀的嵌入式軟件。下圖列出了c++語言特性及其在oop中的重要性和實現(xiàn)的成本之間的關系。使用c++在資源受限的環(huán)境中編程的時候,需要對這些語言特性進行合理的均衡與取舍。

  既然iso c++中有一些語言特性有可能會導致性能和代碼體積的問題,如果能對iso c++進行改造使其適用嵌入式環(huán)境,那自然是再好不過的了(雖然這有可能會導致一些鐵桿iso c++支持者的不滿)。早在上個世紀90年代,就已經(jīng)成立了嵌入式c++技術委員會(embedded c++ technical committee),該委員會致力于定義一套適用于嵌入式軟件開發(fā)的c++語言規(guī)范。在1998年,embedded c++規(guī)范正式出爐(我們簡稱之為ec++),我們可以從ec++的官方網(wǎng)站上查看這份規(guī)范,地址是http://www.caravan.net/ec2plus。 大致來講,ec++是標準c++語言的一個子集,它從c++語法中剔除了一些實現(xiàn)復雜和會導致額外負擔語法元素。

  例如:多重繼承與虛基類、rtti、異常處理、模版、命名空間等等。同時,在標準庫方面,ec++規(guī)范也做了刪減,stl和stream等被剔除了。在ec++規(guī)范出爐之后。很多嵌入式廠商都推出了符合ec++規(guī)范的編譯器,在嵌入式領域有一定的影響。

c++新的應用  近幾年來,嵌入式系統(tǒng)領域又有了新的發(fā)展。首先,隨著手機、pda等消費性電子產(chǎn)品的飛速增長,嵌入式系統(tǒng)地市場規(guī)模在飛速的擴大,這個領域吸引了越來越多的人的眼光。其次,隨著internet的廣為流行,越來越多的智能嵌入式應用場景需要互聯(lián)網(wǎng)的支持,這也從另外一個角度推進了嵌入式系統(tǒng)硬件功能的增強和軟件復雜性的提高! ≡谶@新一波的浪潮中,c++語言又有了新的用武之地。在嵌入式soc設計方面,通常需要對soc體系結構進行建模以進行體系性能的分析及軟硬件聯(lián)合設計。vhdl等設計語言可以實現(xiàn)這些功能。而在1999年osci組織推出的systemc是建立在c++基礎上的開放的系統(tǒng)級設計語言,能夠對soc體系結構進行自然和有效的描述。這樣,在嵌入式芯片設計領域,c++也可以施展拳腳。隨著嵌入式軟件功能的不斷增強,通用計算機上普遍的操作系統(tǒng)也逐漸出現(xiàn)在嵌入式系統(tǒng)中,成為
回復

使用道具 舉報

發(fā)表回復

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則


聯(lián)系客服 關注微信 下載APP 返回頂部 返回列表