當(dāng)前位置:首頁 > 嵌入式培訓(xùn) > IT培訓(xùn)問題庫 > 一只老鳥的嵌入式系統(tǒng)基礎(chǔ)知識總結(jié),嵌入式學(xué)習(xí)必看
要學(xué)習(xí)嵌入式,那必不可少的就要對嵌入式及嵌入式系統(tǒng)的基礎(chǔ)知識要熟悉了解,分享一些我總結(jié)的一些嵌入式系統(tǒng)的基礎(chǔ)知識,對你有用就是王道。
嵌入式系統(tǒng)基礎(chǔ)知識我們首先要先分析一下,想要知道這個基礎(chǔ)知識,那我就應(yīng)該要知道嵌入式系統(tǒng)是什么呢,知道這個才可以進(jìn)行下一個
什么是嵌入式系統(tǒng)
嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機(jī)系統(tǒng)。他的核心就是有有一些微處理器或者單片機(jī)組成的。他的軟件通常是暫時不變的,所以經(jīng)常被稱為“固件”。我來做個比喻,嵌入式系統(tǒng)就像是人的大腦一樣,可以用來控制人的手腳,或者監(jiān)控一些病變,他就是這樣一個系統(tǒng)。對于一些帶有數(shù)字接口的設(shè)備,如手表、微波爐、錄像機(jī)、汽車等,都使用嵌入式系統(tǒng),有些嵌入式系統(tǒng)還包含操作系統(tǒng),但大多數(shù)嵌入式系統(tǒng)都是由單個程序?qū)崿F(xiàn)整個控制邏輯。
一個嵌入式系統(tǒng)(本文所說的嵌入式系統(tǒng)包括ARM,DSP,單片機(jī)等,不包括FPGA、CPLD等)的開發(fā)至少涉及到硬件和軟件兩個部分。
1、從硬件上,將基于CPU的處圍器件,整合到CPU芯片內(nèi)部,比如早期基于X86體系結(jié)構(gòu)下的計算機(jī),CPU只是有運(yùn)算器和累加器的功能,一切芯片要造外部橋路來擴(kuò)展實(shí)現(xiàn),象串口之類的都是靠外部的16C550/2的串口控制器芯片實(shí)現(xiàn),而目前的這種串口控制器芯片早已集成到CPU內(nèi)部,還有PC機(jī)有顯卡,而多數(shù)嵌入式處理器都帶有LCD控制器,但其種意義上就相當(dāng)于顯卡。
從軟件上講,就是在定制操作系統(tǒng)內(nèi)核里將應(yīng)用一并選入,編譯后將內(nèi)核下載到ROM中。而在定制操作系統(tǒng)內(nèi)核時所選擇的應(yīng)用程序組件就是完成了軟件的“嵌入”,比如WinCE在內(nèi)核定制時,會有相應(yīng)選擇,其中就是Wordpad,PDF,MediaPlay等等選擇,如果我們選擇了,在CE啟動后,就可以在界面中找到這些東西,如果是以前PC上將的windows操作系統(tǒng),多半的東西都需要我們得新再裝。
對上面這些概念是不是還是有點(diǎn)云里霧里的,那我來舉個例子,讓你更清楚的了解,硬件之?dāng)?shù)字電路:就比如CPU的外圍電路,晶振,復(fù)位,擴(kuò)展的eeprom等等,都不需要我們設(shè)計,直接根據(jù)芯片手冊上的典型應(yīng)用連接即可,變化也很少。但是如果要讓這些芯片工作起來,開發(fā)者需要讀懂用戶手冊,重點(diǎn)看操作芯片的流程圖和時序圖。電路和數(shù)字電路都很簡單,不需要刻意去學(xué)習(xí),更不需要多深入。只需要認(rèn)識高低電平即可。這是硬件的簡單介紹。
那軟件方面的話,我舉個例子,就是C語言的學(xué)習(xí)了,C語言功底一定要好,結(jié)構(gòu)體,指針等需要熟練使用。嵌入式說白了就是用C語言操作硬件,C語言的水平?jīng)Q定了程序的效率。無論如何,C語言一定要學(xué)好。且不推薦匯編語言。
以上為嵌入式硬件與軟件的一些基礎(chǔ)知識,這還遠(yuǎn)遠(yuǎn)不夠,重頭戲來了:
嵌入式系統(tǒng)一般由嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)和應(yīng)用程序組成,用于對其他設(shè)備的控制和監(jiān)視或管理等功能。應(yīng)用舉例汽車中嵌入式系統(tǒng)包括,電子控制裝置:車燈控制,車窗控制,門鎖集中控制,空調(diào)控制,電控剎車,ABS控制,安全氣囊控制,發(fā)動機(jī)控制,AT控制(自動變速器)。自動泊車系統(tǒng),自動巡航系統(tǒng),夜視系統(tǒng),自動駕駛。車載電子裝置:導(dǎo)航系統(tǒng),汽車音響,電子娛樂系統(tǒng),車載通信系統(tǒng)。
嵌入式最小硬件系統(tǒng),嵌入式處理器,時鐘電路,電源電路,復(fù)位電路,存儲器,調(diào)試測試接口。前向通道,后向通道,人機(jī)交互通道,相互互聯(lián)通道,最小系統(tǒng)。
嵌入式處理器由存儲器、I/O設(shè)備、通信模塊(USB、UART、以太網(wǎng)、Iic、CAN、)和電源等組成。
嵌入式系統(tǒng)開發(fā)流程:需求分析->體系結(jié)構(gòu)設(shè)計->機(jī)械系統(tǒng)設(shè)計、硬件設(shè)計、軟件設(shè)計->系統(tǒng)集成->系統(tǒng)測試。
嵌入式系統(tǒng)軟件結(jié)構(gòu):簡單輪詢結(jié)構(gòu)(簡單循環(huán),數(shù)字萬用表),帶中斷的輪詢結(jié)構(gòu)(有中斷,洗衣機(jī)),監(jiān)控式操作系統(tǒng)+應(yīng)用軟件的結(jié)構(gòu)(內(nèi)核+多任務(wù),車載設(shè)備),通用嵌入式操作系統(tǒng)+應(yīng)用軟件的結(jié)構(gòu)(常用操作系統(tǒng)+中間件+應(yīng)用軟件,手機(jī))。
設(shè)備驅(qū)動程序:設(shè)備的初始化,設(shè)備的打開和關(guān)閉,設(shè)備的讀取和寫入,設(shè)備狀態(tài)的查詢和設(shè)備控制操作。
內(nèi)核結(jié)構(gòu)分為單內(nèi)核和微內(nèi)核。單內(nèi)核將各個模塊整合在一起,模塊間的相互通信通過直接調(diào)用其他模塊的函數(shù)來實(shí)現(xiàn),分為整體結(jié)構(gòu)和分層結(jié)構(gòu)。微內(nèi)核僅將必須的基本功能(任務(wù)調(diào)度、任務(wù)間通信、低級存儲管理、中斷處理等)放入內(nèi)核,其他功能(文件管理服務(wù)、網(wǎng)絡(luò)通信服務(wù)、顯示服務(wù)等)由在用戶運(yùn)行的服務(wù)來實(shí)現(xiàn)。
所以嵌入式系統(tǒng)的學(xué)習(xí)還是需要你把這些都掌握好,只有對這些都了解,你才能進(jìn)行對嵌入式進(jìn)一步的研究,這些都是我學(xué)習(xí)過程中總結(jié)的,可以學(xué)習(xí)借鑒哦。還有不妨可以看看嵌入式學(xué)習(xí)路線,讓你的思路更加的清楚。
相關(guān)推薦:嵌入式學(xué)習(xí)路線
嵌入式學(xué)習(xí)寶典