達(dá)內(nèi)嵌入式系統(tǒng)基礎(chǔ)知識(shí):嵌入式系統(tǒng)用于大量電子設(shè)備,它們的設(shè)計(jì)涉及到硬件和軟件技術(shù)。隨著計(jì)算機(jī)技術(shù)的進(jìn)步,嵌入式系統(tǒng)開(kāi)發(fā)技術(shù)也越來(lái)越多地嵌入到越來(lái)越多的電子產(chǎn)品中。
嵌入式系統(tǒng)提供的功能是使電子設(shè)備具有比僅使用硬件技術(shù)時(shí)更大的能力。因此,嵌入式系統(tǒng)開(kāi)發(fā)可用于各種電子設(shè)備和小工具中。從電子計(jì)時(shí)器等項(xiàng)目中的少量處理,到游戲控制臺(tái)甚至主要工廠和其他工業(yè)系統(tǒng)等更復(fù)雜的嵌入式系統(tǒng)。
該技術(shù)的名稱源于軟件嵌入到特定應(yīng)用程序中的事實(shí)。嵌入式系統(tǒng)不像PC或其他可以運(yùn)行各種程序并完成大量任務(wù)的計(jì)算機(jī),而是使用嵌入式軟件的項(xiàng)目集中在一個(gè)特定任務(wù)或應(yīng)用程序上。
為了滿足這種需要,使用嵌入式技術(shù)的項(xiàng)目預(yù)裝了其軟件,盡管可能不時(shí)進(jìn)行更新。
嵌入式系統(tǒng)開(kāi)發(fā)基礎(chǔ)知識(shí)
對(duì)于許多基于處理器的系統(tǒng)和計(jì)算機(jī),定義嵌入式系統(tǒng)是有用的。嵌入式系統(tǒng)的一個(gè)簡(jiǎn)單的定義是:嵌入式系統(tǒng)是產(chǎn)品中包含的任何未被描述為計(jì)算機(jī)的計(jì)算機(jī)系統(tǒng)。
使用此嵌入式系統(tǒng)定義,可以了解各種基本特征之一。通常它們是:
嵌入式系統(tǒng)專(zhuān)為特定任務(wù)而設(shè)計(jì)。雖然它們使用計(jì)算機(jī)技術(shù),但它們不能用作使用各種不同程序執(zhí)行不同任務(wù)的通用計(jì)算機(jī)。通過(guò)這種方式,他們的功能可以集中在他們需要做的事情上,并且因此可以使它們更便宜和更有效。
嵌入式系統(tǒng)的軟件通常稱為固件。用于嵌入式系統(tǒng)的單個(gè)程序通常存儲(chǔ)在芯片上而不是存儲(chǔ)在可以存儲(chǔ)許多程序的盤(pán)上,并且它被稱為固件。
嵌入式系統(tǒng)包含兩個(gè)主要元素:
嵌入式系統(tǒng)硬件:與任何電子系統(tǒng)一樣,嵌入式系統(tǒng)需要運(yùn)行的硬件平臺(tái)。硬件將基于微處理器或微控制器。嵌入式系統(tǒng)硬件還將包含其他元素,包括內(nèi)存,輸入輸出(I / O)接口以及用戶界面和顯示。
嵌入式系統(tǒng)軟件:編寫(xiě)嵌入式系統(tǒng)軟件以執(zhí)行特定功能。它通常以格式編寫(xiě),然后向下編譯以提供可以存儲(chǔ)在硬件內(nèi)的非易失性存儲(chǔ)器內(nèi)的代碼。
嵌入式系統(tǒng)硬件:使用嵌入式系統(tǒng)時(shí),可以選擇使用微控制器或微處理器。
基于微控制器的系統(tǒng):微控制器本質(zhì)上是CPU,中央處理器單元或具有集成存儲(chǔ)器或外圍設(shè)備的處理器。由于需要更少的外部組件,使用微控制器的嵌入式系統(tǒng)往往被更廣泛地使用。
基于微處理器的系統(tǒng):微處理器包含CPU,但使用外部芯片用于存儲(chǔ)器和外圍接口。由于它們需要更多的板上設(shè)備,但它們?cè)试S更多的擴(kuò)展和選擇精確的外圍設(shè)備等,這種方法往往用于更大的嵌入式系統(tǒng)。
無(wú)論嵌入式系統(tǒng)開(kāi)發(fā)中使用何種類(lèi)型的處理器,它都可以是用于特定應(yīng)用的許多高度專(zhuān)用處理器之一的非常通用類(lèi)型。在某些情況下,如果數(shù)量足夠高,定制設(shè)計(jì)的芯片對(duì)于特定應(yīng)用可能是可行的。標(biāo)準(zhǔn)類(lèi)專(zhuān)用處理器的一個(gè)常見(jiàn)示例是數(shù)字信號(hào)處理器DSP。這種類(lèi)型的處理器尤其用于處理音頻和圖像文件。由于它們可以用在諸如移動(dòng)電話等的應(yīng)用中,因此需要非??焖俚剡M(jìn)行處理。
嵌入式系統(tǒng)軟件:任何嵌入式系統(tǒng)的關(guān)鍵元素之一是用于運(yùn)行微控制器的軟件。
可以通過(guò)多種方式編寫(xiě):
機(jī)器代碼:機(jī)器代碼是用于處理器單元的基本代碼。代碼通常采用十六進(jìn)制代碼,并為處理器的每個(gè)操作提供基本指令。目前,這種形式的代碼很少用于嵌入式系統(tǒng)。
編程語(yǔ)言:編寫(xiě)機(jī)器代碼非常費(fèi)力且耗時(shí)。很難理解和調(diào)試。為了克服這個(gè)問(wèn)題,經(jīng)常使用編程語(yǔ)言。通常使用包括C,C ++等語(yǔ)言。
嵌入式系統(tǒng)的代碼通常存儲(chǔ)在處理器板上保持的非易失性存儲(chǔ)器的形式上。該代碼稱為固件,其理念是它不會(huì)像軟件一樣更新,被保存在嵌入式系統(tǒng)中,并且用戶無(wú)法更改。通??梢愿萝浖?,但這可能意味著更改固件所在的存儲(chǔ)卡,或者以其他方式更新。
通常可以使用其他工具來(lái)幫助開(kāi)發(fā)固件。程序通常會(huì)變得復(fù)雜,有必要確保嵌入式系統(tǒng)開(kāi)發(fā)的固件正確運(yùn)行。