嵌入式開(kāi)發(fā)簡(jiǎn)介
嵌入式開(kāi)發(fā)就是指在嵌入式操作系統(tǒng)下進(jìn)行開(kāi)發(fā),一般常用的系統(tǒng)有WinCE,ucos,vxworks,linux,android等。另外,用c,c++或匯編開(kāi)發(fā);用高級(jí)處理器,arm7,arm9,arm11,powerpc,mips,mipsel等,或加上操作系統(tǒng)也屬于嵌入式的開(kāi)發(fā)。
嵌入式開(kāi)發(fā)的分類(lèi)
1、嵌入式應(yīng)用開(kāi)發(fā),應(yīng)該就是你說(shuō)的嵌入式開(kāi)發(fā),即c++或android等精通一門(mén)面向?qū)ο笳Z(yǔ)言。
2、嵌入式內(nèi)核移植,底層驅(qū)動(dòng)開(kāi)發(fā),會(huì)看懂一些數(shù)字電路,能寫(xiě)一些簡(jiǎn)單的匯編語(yǔ)言,精通c語(yǔ)言,了解arm的基本架構(gòu),linux內(nèi)核了解越深越好,會(huì)編寫(xiě)驅(qū)動(dòng)。
3、嵌入式硬件開(kāi)發(fā),即芯片的外圍電路設(shè)計(jì)
嵌入式開(kāi)發(fā)的使用技巧
嵌入式系統(tǒng)(Embedded System)是指以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟件硬件可裁剪、適應(yīng)應(yīng)用系統(tǒng)對(duì)功能、可靠性、成本、體積、功耗嚴(yán)格要求的專(zhuān)用計(jì)算機(jī)系統(tǒng)。舉例來(lái)說(shuō),大到油田的集散控制系統(tǒng)和工廠流水線,小到家用VCD機(jī)或手機(jī),甚至組成普通PC終端設(shè)備的鍵盤(pán)、鼠標(biāo)、硬盤(pán)、Modem等均是由嵌入式處理器控制的。
嵌入式開(kāi)發(fā)的應(yīng)用領(lǐng)域
嵌入式系統(tǒng)無(wú)疑是當(dāng)前最熱門(mén)最有發(fā)展前途的IT應(yīng)用領(lǐng)域之一。嵌入式系統(tǒng)用在一些特定專(zhuān)用設(shè)備上,通常這些設(shè)備的硬件資源(如處理器、存儲(chǔ)器等)非常有限,并且對(duì)成本很敏感,有時(shí)對(duì)實(shí)時(shí)響應(yīng)要求很高等。特別是隨著消費(fèi)家電的智能化,嵌入式更顯重要。
像我們平常見(jiàn)到的手機(jī)、PDA、電子字典、可視電話、VCD/DVD/MP3 Player、數(shù)字相機(jī)(DC)、數(shù)字?jǐn)z像機(jī)(DV)、U-Disk、機(jī)頂盒(Set Top Box)、高清電視(HDTV)、游戲機(jī)、智能玩具、交換機(jī)、路由器、數(shù)控設(shè)備或儀表、汽車(chē)電子、家電控制系統(tǒng)、醫(yī)療儀器、航天航空設(shè)備等等都是典型的嵌入式系統(tǒng)。
c++簡(jiǎn)介
C++是C語(yǔ)言的繼承,它既可以進(jìn)行C語(yǔ)言的過(guò)程化程序設(shè)計(jì),又可以進(jìn)行以抽象數(shù)據(jù)類(lèi)型為特點(diǎn)的基于對(duì)象的程序設(shè)計(jì),還可以進(jìn)行以繼承和多態(tài)為特點(diǎn)的面向?qū)ο蟮某绦蛟O(shè)計(jì)。C++擅長(zhǎng)面向?qū)ο蟪绦蛟O(shè)計(jì)的同時(shí),還可以進(jìn)行基于過(guò)程的程序設(shè)計(jì),因而C++就適應(yīng)的問(wèn)題規(guī)模而論,大小由之。
C++不僅擁有計(jì)算機(jī)高效運(yùn)行的實(shí)用性特征,同時(shí)還致力于提高大規(guī)模程序的編程質(zhì)量與程序設(shè)計(jì)語(yǔ)言的問(wèn)題描述能力。
C++工作原理
C++語(yǔ)言的程序因?yàn)橐w現(xiàn)高性能,所以都是編譯型的。但其開(kāi)發(fā)環(huán)境,為了方便測(cè)試,將調(diào)試環(huán)境做成解釋型的。即開(kāi)發(fā)過(guò)程中,以解釋型的逐條語(yǔ)句執(zhí)行方式來(lái)進(jìn)行調(diào)試,以編譯型的脫離開(kāi)發(fā)環(huán)境而啟動(dòng)運(yùn)行的方式來(lái)生成程序最終的執(zhí)行代碼。
生成程序是指將源碼(C++語(yǔ)句)轉(zhuǎn)換成一個(gè)可以運(yùn)行的應(yīng)用程序的過(guò)程。如果程序的編寫(xiě)是正確的,那么通常只需按一個(gè)功能鍵,即可搞定這個(gè)過(guò)程。該過(guò)程實(shí)際上分成兩個(gè)步驟。
第一步是對(duì)程序進(jìn)行編譯,這需要用到編譯器(compiler)。編譯器將C++語(yǔ)句轉(zhuǎn)換成機(jī)器碼(也稱(chēng)為目標(biāo)碼);如果這個(gè)步驟成功,下一步就是對(duì)程序進(jìn)行鏈接,這需要用到鏈接器(linker)。鏈接器將編譯獲得機(jī)器碼與C++庫(kù)中的代碼進(jìn)行合并。C++庫(kù)包含了執(zhí)行某些常見(jiàn)任務(wù)的函數(shù)(“函數(shù)”是子程序的另一種稱(chēng)呼)。例如,一個(gè)C++庫(kù)中包含標(biāo)準(zhǔn)的平方根函數(shù)sqrt,所以不必親自計(jì)算平方根。C++庫(kù)中還包含一些子程序,它們把數(shù)據(jù)發(fā)送到顯示器,并知道如何讀寫(xiě)硬盤(pán)上的數(shù)據(jù)文件。
C++的特點(diǎn)
1、支持?jǐn)?shù)據(jù)封裝和數(shù)據(jù)隱藏
在C++中,類(lèi)是支持?jǐn)?shù)據(jù)封裝的工具,對(duì)象則是數(shù)據(jù)封裝的實(shí)現(xiàn)。C++通過(guò)建立用戶(hù)定義類(lèi)支持?jǐn)?shù)據(jù)封裝和數(shù)據(jù)隱藏。
在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,將數(shù)據(jù)和對(duì)該數(shù)據(jù)進(jìn)行合法操作的函數(shù)封裝在一起作為一個(gè)類(lèi)的定義。對(duì)象被說(shuō)明為具有一個(gè)給定類(lèi)的變量。每個(gè)給定類(lèi)的對(duì)象包含這個(gè)類(lèi)所規(guī)定的若干私有成員、公有成員及保護(hù)成員。完好定義的類(lèi)一旦建立,就可看成完全封裝的實(shí)體,可以作為一個(gè)整體單元使用。類(lèi)的實(shí)際內(nèi)部工作隱藏起來(lái),使用完好定義的類(lèi)的用戶(hù)不需要知道類(lèi)是如何工作的,只要知道如何使用它即可。
2、支持繼承和重用
在C++現(xiàn)有類(lèi)的基礎(chǔ)上可以聲明新類(lèi)型,這就是繼承和重用的思想。通過(guò)繼承和重用可以更有效地組織程序結(jié)構(gòu),明確類(lèi)間關(guān)系,并且充分利用已有的類(lèi)來(lái)完成更復(fù)雜、深入的開(kāi)發(fā)。新定義的類(lèi)為子類(lèi),成為派生類(lèi)。它可以從父類(lèi)那里繼承所有非私有的屬性和方法,作為自己的成員。
3、支持多態(tài)性
采用多態(tài)性為每個(gè)類(lèi)指定表現(xiàn)行為。多態(tài)性形成由父類(lèi)和它們的子類(lèi)組成的一個(gè)樹(shù)型結(jié)構(gòu)。在這個(gè)樹(shù)中的每個(gè)子類(lèi)可以接收一個(gè)或多個(gè)具有相同名字的消息。當(dāng)一個(gè)消息被這個(gè)樹(shù)中一個(gè)類(lèi)的一個(gè)對(duì)象接收時(shí),這個(gè)對(duì)象動(dòng)態(tài)地決定給予子類(lèi)對(duì)象的消息的某種用法。多態(tài)性的這一特性允許使用高級(jí)抽象。
繼承性和多態(tài)性的組合,可以輕易地生成一系列雖然類(lèi)似但獨(dú)一無(wú)二的對(duì)象。由于繼承性,這些對(duì)象共享許多相似的特征。由于多態(tài)性,一個(gè)對(duì)象可有獨(dú)特的表現(xiàn)方式,而另一個(gè)對(duì)象有另一種表現(xiàn)方式。
C++技術(shù)應(yīng)用
1、科學(xué)計(jì)算
在科學(xué)計(jì)算領(lǐng)域,F(xiàn)ORTRAN是使用最多的語(yǔ)言之一。但是C++憑借先進(jìn)的數(shù)值計(jì)算庫(kù)、泛型編程等優(yōu)勢(shì)在這一領(lǐng)域也應(yīng)用頗多。
2、網(wǎng)絡(luò)軟件
C++擁有很多成熟的用于網(wǎng)絡(luò)通信的庫(kù),其中最具有代表性的是跨平臺(tái)的、重量級(jí)的ACE庫(kù),該庫(kù)可以說(shuō)是C++語(yǔ)言最重要的成果之一,在許多重要的企業(yè)、部門(mén)甚至是軍方都有應(yīng)用。
3、操作系統(tǒng)
在該領(lǐng)域,C語(yǔ)言是主要使用的編程語(yǔ)言。但是C++憑借其對(duì)C的兼容性,面向?qū)ο笮再|(zhì)也開(kāi)始在該領(lǐng)域有一席之地。
嵌入式開(kāi)發(fā)與c++開(kāi)發(fā)的區(qū)別
嵌入式軟件和c++沒(méi)有可比性,一個(gè)是大類(lèi),一個(gè)是語(yǔ)言。這倆沒(méi)可比性。嵌入式開(kāi)發(fā)也可能用c++,也可能用其他語(yǔ)言。
嵌入式主要指linux下的開(kāi)發(fā),包括linux驅(qū)動(dòng)開(kāi)發(fā)和應(yīng)用層的開(kāi)發(fā),現(xiàn)在由于有android了,所以,android ndk開(kāi)發(fā)或者移植也逐漸涉及到了。但不包含android app的開(kāi)發(fā),那個(gè)是專(zhuān)門(mén)的一項(xiàng)。linux部分的開(kāi)發(fā)主要是c語(yǔ)言,如果涉及l(fā)inux驅(qū)動(dòng),需要有相應(yīng)的硬件知識(shí)。無(wú)論驅(qū)動(dòng)開(kāi)發(fā)和應(yīng)用層開(kāi)發(fā),都需要對(duì)linux系統(tǒng)的知識(shí)。 android ndk 是用c或者c++的。除此之外,嵌入式方面的語(yǔ)言主要是c,匯編,和bash腳本。
c++是一門(mén)語(yǔ)言,在win的環(huán)境下開(kāi)發(fā)用的比較多。當(dāng)然,也可以用在嵌入式設(shè)備上,但只能做linux應(yīng)用層或更往上的東西。linux系統(tǒng)及底層都是c的。c++在純軟件的項(xiàng)目上用的比較多。
-
嵌入式開(kāi)發(fā)
+關(guān)注
關(guān)注
18文章
1030瀏覽量
47578 -
C++
+關(guān)注
關(guān)注
22文章
2108瀏覽量
73645
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論