嵌入式初學(xué)者注意事項(xiàng)
發(fā)布時(shí)間:2020-12-28 11:23:10 點(diǎn)擊次數(shù):226
1嵌入式系統(tǒng)知識(shí)系統(tǒng)
嵌入式系統(tǒng)的應(yīng)用范圍大體可分成兩類(lèi):(1)電子系統(tǒng)的智能(工業(yè)控制,現(xiàn)代農(nóng)業(yè),家電,汽車(chē)電子,測(cè)控系統(tǒng),數(shù)據(jù)采集等);(2)計(jì)算機(jī)應(yīng)用程序擴(kuò)大(MP3,手機(jī),通信,網(wǎng)絡(luò),計(jì)算機(jī)外圍裝置等)。從這些應(yīng)用程序可以看出,以MCU為基本完成嵌入式系統(tǒng)應(yīng)用程序產(chǎn)品設(shè)計(jì),需要具有硬件,軟件和行業(yè)領(lǐng)域的知識(shí)。硬件主要包括MCU的很小硬件系統(tǒng),輸入/輸出外圍電路和人機(jī)界面設(shè)計(jì)。軟件設(shè)計(jì)包括固件的設(shè)計(jì),也可能包括pc軟件的設(shè)計(jì)。需要通過(guò)協(xié)作,交流和總結(jié)來(lái)獲取行業(yè)知識(shí)。
簡(jiǎn)而言之,以MCU為基本學(xué)習(xí)嵌入式系統(tǒng)需要以下軟件和硬件基礎(chǔ)知識(shí)以及實(shí)踐培訓(xùn):
1:低于硬件系統(tǒng)(包括電源,晶體振蕩器,復(fù)位,寫(xiě)調(diào)試接口);
2:常規(guī)I/O(開(kāi)關(guān)輸入/輸出,關(guān)乎各種二進(jìn)制量的檢測(cè)和控制);
3:模數(shù)變換a/d(采集和處置各種傳感器信號(hào),例如紅外,溫度,光敏,超聲,方向等);
4:數(shù)模轉(zhuǎn)換d/a(對(duì)模擬裝置使用數(shù)字控制);
5:通訊(串行通訊接口SCI,串行外設(shè)接口SPI,集成電路互連總線I2C,CAN,USB,嵌入式以太網(wǎng),ZigBeetechnology等);
6:顯示(led,LCD等);
7:控制(控制各種裝置,包括PWM和其他控制技術(shù));
8:數(shù)據(jù)處理(圖形,圖像,話音,視頻等的處理或識(shí)別);
9:各種特定的應(yīng)用程序。
其實(shí),一切都是密不可分的,任何應(yīng)用程序都可以歸為以下幾類(lèi):應(yīng)用程序中的硬件設(shè)計(jì),軟件設(shè)計(jì),測(cè)試等必須遵循嵌入式軟件工程的方法,法則和基本原理,因此嵌入式軟件工程是它也是嵌入式系統(tǒng)知識(shí)系統(tǒng)的有機(jī)組成部分,但已集成到特定項(xiàng)目的開(kāi)發(fā)過(guò)程中。
以上實(shí)踐培訓(xùn)關(guān)乎硬件基礎(chǔ),軟件基礎(chǔ)和相關(guān)領(lǐng)域知識(shí),計(jì)算機(jī)語(yǔ)言,操作系統(tǒng),開(kāi)發(fā)環(huán)境等都是實(shí)現(xiàn)這些目的的工具,有些初學(xué)者很容易將工具的使用與實(shí)際目的混為一談。例如,一些學(xué)習(xí)者早就很長(zhǎng)時(shí)間學(xué)習(xí)嵌入式操作系統(tǒng)的移植,而不是開(kāi)發(fā)實(shí)際的嵌入式系統(tǒng)產(chǎn)品。最后,他們不能做一個(gè)好的嵌入式系統(tǒng)產(chǎn)品,偏離學(xué)習(xí)目標(biāo),甚至不能舍棄嵌入式系統(tǒng)。這是對(duì)嵌入式系統(tǒng)學(xué)習(xí)的誤解。讓我們對(duì)此展開(kāi)一些分析。
2嵌入式系統(tǒng)的學(xué)習(xí)誤區(qū)
關(guān)于嵌入式系統(tǒng)的學(xué)習(xí)方法,由于學(xué)習(xí)經(jīng)驗(yàn),學(xué)習(xí)環(huán)境,學(xué)習(xí)目標(biāo),現(xiàn)有知識(shí)庫(kù)等方面的差異,在學(xué)習(xí)依次,內(nèi)容選擇,實(shí)踐方法等方面可能存在差異,但應(yīng)明確這些是必備的基礎(chǔ)知識(shí),應(yīng)當(dāng)先學(xué)習(xí),然后再學(xué)習(xí),必須通過(guò)實(shí)踐取得,這些是與特定芯片無(wú)關(guān)的常識(shí),并且與特定芯片或開(kāi)發(fā)有關(guān)環(huán)境明白如何。
由于微處理器和微控制器品種繁多,因此不同的公司和組織也可能出于自身利益展開(kāi)了誤導(dǎo)性宣傳,更是是我國(guó)嵌入的微控制器制造技術(shù)的落后性和其他相關(guān)條件,使人們?cè)趯?duì)微控制器開(kāi)發(fā)的理解和理解上存在差異。造成一些初學(xué)者進(jìn)入嵌入式系統(tǒng)的學(xué)習(xí)誤區(qū),浪費(fèi)了可貴的學(xué)習(xí)時(shí)間。下面我們來(lái)分析一下初學(xué)者可能存在的幾種誤解。
如果說(shuō)學(xué)習(xí)嵌入式系統(tǒng)不是要開(kāi)發(fā)其應(yīng)用程序產(chǎn)品,那么就并未特定的目標(biāo),并且不用探討諸如學(xué)習(xí)方法之類(lèi)的許多疑問(wèn)。其實(shí),這是許多人想學(xué)習(xí)的關(guān)鍵問(wèn)題,但他們不知道從哪里開(kāi)始,也不明白他們學(xué)習(xí)的實(shí)際目標(biāo)。因此,我閱讀了一些培訓(xùn)廣告,在書(shū)局的貨架上閱讀了很多嵌入式系統(tǒng)書(shū)籍,或者以“嵌入式系統(tǒng)”為關(guān)鍵字搜尋了internet,然后出席了培訓(xùn)或閱讀書(shū)籍以開(kāi)始“學(xué)習(xí)”。對(duì)于那些有計(jì)算機(jī)經(jīng)驗(yàn)的人,他們不時(shí)選擇嵌入式操作系統(tǒng)并開(kāi)始學(xué)習(xí)。令人不愉快的隱喻有點(diǎn)像“盲人觸摸大象”,只有一個(gè)方面可以理解。這樣,我們?nèi)绾尾拍苋P(pán)明了嵌入式產(chǎn)品的開(kāi)發(fā)過(guò)程?對(duì)于許多初學(xué)者來(lái)說(shuō),我認(rèn)為為嵌入式系統(tǒng)選擇“xxx嵌入式操作系統(tǒng)+xxx處理器”入門(mén)學(xué)習(xí)模式是不恰當(dāng)?shù)?。我的提議是:首先奠定嵌入式系統(tǒng)軟件和硬件的基礎(chǔ),然后根據(jù)實(shí)際需要選擇一個(gè)實(shí)時(shí)操作系統(tǒng)(RTOS)展開(kāi)學(xué)習(xí)和練習(xí)。請(qǐng)記住:RTOS是用以開(kāi)發(fā)某些種類(lèi)的嵌入式產(chǎn)品的輔助工具,它只是伎倆,而非目的。許多類(lèi)別的嵌入式產(chǎn)品不需要RTOS。因此,從一開(kāi)始就學(xué)習(xí)rtos并不符合“從淺到深,逐步”的學(xué)習(xí)法則。
由于RTOS本身的多樣性,一般而言需要由工作單位確定RTOS的實(shí)際使用?;倦A段主要是學(xué)習(xí)RTOS的基本原理和RTOS之上的軟件開(kāi)發(fā)方法,而不是學(xué)習(xí)如何設(shè)計(jì)RTOS。旨在開(kāi)發(fā)實(shí)際嵌入式產(chǎn)品的學(xué)習(xí)者不應(yīng)在RTOS的設(shè)計(jì)或移植上費(fèi)用過(guò)多精力。與使用Windowsoperating系統(tǒng)的人一樣多,而僅設(shè)計(jì)Microsoft的Windowsoperating系統(tǒng)的人。許多人“學(xué)習(xí)”Linux,但是不使用它,這是浪費(fèi)時(shí)間,人們的精力有限,學(xué)習(xí)必須有選擇。