c語(yǔ)言嵌入式系統(tǒng)編程用到的C語(yǔ)言是否與我們常提到的C語(yǔ)言是一樣的呢?其實(shí)還是有區(qū)別的。而它們的區(qū)別又是在哪里呢?今天我們就來(lái)談?wù)勥@個(gè)問(wèn)題。
嵌入式工程師一般都會(huì)告訴你,其區(qū)別在于c語(yǔ)言嵌入式系統(tǒng)編程中的C語(yǔ)言是跑在嵌入式的開(kāi)發(fā)板上的,CPU和電腦不一樣,所以編譯器也是不一樣的,生成的可執(zhí)行程序也是不一樣的。不同于一般形式的軟件編程,基于特定的硬件平臺(tái)嵌入式系統(tǒng)編程的,勢(shì)必要求其編程語(yǔ)言具備較強(qiáng)的硬件直接操作能力。毫無(wú)疑問(wèn),匯編語(yǔ)言是具備這種特點(diǎn)的。然而,由于該語(yǔ)言編寫開(kāi)發(fā)過(guò)程的復(fù)雜性,通常不選擇它用于嵌入式系統(tǒng)開(kāi)發(fā),而C語(yǔ)言是一種“低層次”的語(yǔ)言,已經(jīng)成為嵌入式系統(tǒng)開(kāi)發(fā)的選擇。
嵌入式操作系統(tǒng)一般指非PC系統(tǒng),它包括硬件和軟件兩部分。硬件包括處理器/微處理器、存儲(chǔ)器及外設(shè)器件和I/O端口、圖形控制器等。軟件部分包括操作系統(tǒng)軟件(OS)(要求實(shí)時(shí)和多任務(wù)操作)和應(yīng)用程序編程,有時(shí)設(shè)計(jì)人員把這兩種軟件組合在一起。應(yīng)用程序控制著系統(tǒng)的運(yùn)作和行為;而操作系統(tǒng)控制著應(yīng)用程序編程與硬件的交互作用。
嵌入式系統(tǒng)的核心是嵌入式微處理器。嵌入式微處理器一般就具備以下4個(gè)特點(diǎn):
1.對(duì)實(shí)時(shí)多任務(wù)有很強(qiáng)的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時(shí)間,從而使內(nèi)部的代碼和實(shí)時(shí)內(nèi)核心的執(zhí)行時(shí)間減少到限度。
2.具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能。這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已經(jīng)模塊化,而為了避免在軟件模塊之間出現(xiàn)錯(cuò)誤的交叉作用,需要設(shè)計(jì)強(qiáng)大的存儲(chǔ)區(qū)保護(hù)功能,同時(shí)也有利于軟件診斷。
3.可擴(kuò)展的處理器結(jié)構(gòu),以便能迅速地開(kāi)發(fā)出滿足應(yīng)用的性能的嵌入式微處理器。
4.嵌入式微處理器必須功耗很低,尤其是用于便攜式的無(wú)線及移動(dòng)的計(jì)算和通信設(shè)備中靠電池供電的嵌入式系統(tǒng),如需要功耗只有mW甚至μW級(jí)。
嵌入式計(jì)算機(jī)系統(tǒng)同通用型計(jì)算機(jī)系統(tǒng)相比,具有以下特點(diǎn):
1.嵌入式系統(tǒng)通常是面向特定應(yīng)用的嵌入式CPU,與通用型的不同就是嵌入式CPU大多工作在為特定用戶群設(shè)計(jì)的系統(tǒng)中,它通常都具有低功耗、體積小、集成度高等特點(diǎn),能夠把通用CPU中許多由板卡完成的任務(wù)集成在芯片內(nèi)部,從而有利于嵌入式系統(tǒng)設(shè)計(jì)趨于小型化,移動(dòng)能力大大增強(qiáng),跟網(wǎng)絡(luò)的耦合也越來(lái)越緊密。
2.嵌入式系統(tǒng)是將先進(jìn)的計(jì)算機(jī)技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)與各個(gè)行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物。這一點(diǎn)就決定了它必然是一個(gè)技術(shù)密集、資金密集、高度分散、不斷創(chuàng)新的知識(shí)集成系統(tǒng)。
3.嵌入式系統(tǒng)的硬件和軟件都必須高效率地設(shè)計(jì),量體裁衣、去除冗余,力爭(zhēng)在同樣的硅片面積上實(shí)現(xiàn)更高的性能,這樣才能在具體應(yīng)用中對(duì)處理器的選擇更具有競(jìng)爭(zhēng)力。
4.嵌入式系統(tǒng)和具體應(yīng)用有機(jī)地結(jié)合在一起,它的升級(jí)換代也是和具體產(chǎn)品同步進(jìn)行,因此嵌入式系統(tǒng)產(chǎn)品一旦進(jìn)入市場(chǎng),具有較長(zhǎng)的生命周期。
5.為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入式系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)本身中,而不是存貯于磁盤等載體中。
6.嵌入式系統(tǒng)本身不具備自舉開(kāi)發(fā)能力,即使設(shè)計(jì)完成以后用戶通常也是不能對(duì)其中的程序功能進(jìn)行修改的,必須有一套開(kāi)發(fā)工具和環(huán)境才能進(jìn)行開(kāi)發(fā)。
以上就是c語(yǔ)言嵌入式系統(tǒng)編程的簡(jiǎn)單闡述,在嵌入式開(kāi)發(fā)中,C語(yǔ)言依然占據(jù)著主導(dǎo)地位,所以盡管這門語(yǔ)言比較難,但是粵嵌教育也希望大家能夠好好掌握,甚至精通。