第一篇:嵌入式系統(tǒng)應(yīng)用與學(xué)習(xí)心得體會
μC/OS嵌入式實時操作系統(tǒng)的應(yīng)用和學(xué)習(xí)心得
μC/OS-II 是一種基于優(yōu)先級的搶占式多任務(wù)實時操作系統(tǒng),包含了實時內(nèi)核、任務(wù)管理、時間管理、任務(wù)間通信同步(信號量,郵箱,消息 隊列)和內(nèi)存管理等功能。它可以使各個任務(wù)獨立工作,互不干涉,很容易實現(xiàn)準時而且無誤執(zhí)行,使實時應(yīng)用程序的設(shè)計和擴展變得容易,使應(yīng)用程序的設(shè)計過程大為減化。它是一個完整的、可移植、可固化、可裁剪的搶占式實時多任務(wù)內(nèi)核。μC/OS-II絕大部分的代碼是用ANSII的C語言編寫的,包含一小部分匯編代碼,使之可供不同架構(gòu)的微處理器使用。至今,從8位到64位,μC/OS-II已在超過40種不同架構(gòu)上的微處理器上運行。μC/OS-II已經(jīng)在世界范圍內(nèi)得到廣泛應(yīng)用,包括很多領(lǐng)域,如手機、路由器、集線器、不間斷電源、飛行器、醫(yī)療設(shè)備及工業(yè)控制上。實際上,μC/OS-II已經(jīng)通過了非常嚴格的測試,并且得到了美國航空管 理局的認證,可以用在飛行器上。這說明μC/OS-II是穩(wěn)定可靠的,可用于與人性命攸關(guān)的安全緊要系統(tǒng)。除此以外,μC/OS-II 的鮮明特點就是源碼公開,便于移植和維護。
我們在學(xué)習(xí)μC/OS嵌入式實時操作系統(tǒng)時用的教科書是任哲編著的 《嵌入式實時操作系統(tǒng)μC/OS-Ⅱ原理及應(yīng)用》,這本書介紹了嵌入式實時操作系統(tǒng)μC/OS-Ⅱ內(nèi)核的任務(wù)管理和調(diào)度、系統(tǒng)時鐘和節(jié)拍服務(wù)、時間管理、中斷、任務(wù)的通信和同步、內(nèi)存的簡單管理原理,同時給出了實例。最后,還介紹了μC/OS-Ⅱ的移植方法。
在多任務(wù)系統(tǒng)中,內(nèi)核負責(zé)管理各個任務(wù),或者說為每個任務(wù)分配CPU時間,并且負責(zé)任務(wù)之間的通訊。內(nèi)核提供的基本服務(wù)是任務(wù)切換。之所以使用實時內(nèi)核可以大大簡化應(yīng)用系統(tǒng)的設(shè)計,是因為實時內(nèi)核允許將應(yīng)用分成若干個任務(wù),由實時內(nèi)核來管理它們。內(nèi)核本身也增加了應(yīng)用程序的額外負荷,代碼空間增加ROM的用量,內(nèi)核本身的數(shù)據(jù)結(jié)構(gòu)增加了RAM的用量。但更主要的是,每個任務(wù)要有自己的棧空間,這一塊吃起內(nèi)存來是相當厲害的。內(nèi)核本身對CPU的占用時間一般在2到5個百分點之間。μC/OS-Ⅱ有一個精巧的內(nèi)核調(diào)度算法,實時內(nèi)核精小,執(zhí)行效率高,算法巧妙,代碼空間很少,具有如下特點:只支持基于優(yōu)先級的搶占式調(diào)度算法,不支持時間片輪循;64個優(yōu)先級,只能創(chuàng)建64個任務(wù),用戶只能創(chuàng)建56個任務(wù);每個任務(wù)優(yōu)先級都不相同;不支持優(yōu)先級逆轉(zhuǎn);READY隊列通過內(nèi)存映射表實現(xiàn)快速查詢;效率非常高;支持時鐘節(jié)拍;支持信號量,消息隊列,事件控制塊,事件標志組,消息郵箱任務(wù)通訊機制;支持中斷嵌套,中斷嵌套層數(shù)可達255層,中斷使用當前任務(wù)的堆棧保存上下文;每個任務(wù)有自己的堆棧,堆棧大小用戶自己設(shè)定;支持動態(tài)修改任務(wù)優(yōu)先級;任務(wù)TCB為靜態(tài)數(shù)組,建立任務(wù)只是從中獲得一個TCB,不用動態(tài)分配,釋放內(nèi)存;任務(wù)堆棧為用戶靜態(tài)或者動態(tài)創(chuàng)建,在任務(wù)創(chuàng)建外完成,任務(wù)創(chuàng)建本身不進行動態(tài)內(nèi)存分配;任務(wù)的總個數(shù)(OS_MAX_TASKS)由用戶決定;0優(yōu)先級最高,63優(yōu)先級最低;有一個優(yōu)先級最低的空閑任務(wù),在沒有用戶任務(wù)運行的時候運行。
任務(wù)的調(diào)度核心主要是在任務(wù)就緒表中查找具有最高優(yōu)先級別的就緒任務(wù)及實現(xiàn)任務(wù)切換,即將找到的的最高優(yōu)先級別的任務(wù)的“任務(wù)號”---> “當前任務(wù)的任務(wù)號OSPrioCur”;從OSTCBPrioTbl[]取出最高優(yōu)先級別任務(wù)的任務(wù)控制塊首地址---> “當前任務(wù)的任務(wù)控制塊指針OSTCBCur”,最后調(diào)用OS_TASK_SW()完成現(xiàn)場切換(即將CPU的寄存器信息保存到當前正運行任務(wù)的私棧中,然后從待運行的高優(yōu)先級別的任務(wù)私棧中彈出原先保存寄存器信息到CPU)。
時鐘節(jié)拍服務(wù)放到一個時鐘節(jié)拍任務(wù)中完成,通過采用啥希散列表機制來管理延時任務(wù),每次時鐘節(jié)拍服務(wù)只需要處理極少數(shù)的延時任務(wù),從而大大減少了時鐘節(jié)拍服務(wù)花費的時間,提高了系統(tǒng)的實時性。
另外,在μC/OS系列RTOS中,時鐘節(jié)拍服務(wù)除了會跟蹤延時的任務(wù),還會跟蹤那些指定了超時時限的等待任務(wù)。也就是說,當指定的超時時限結(jié)束時,即使任務(wù)等待的事件沒有發(fā)生,時鐘節(jié)拍服務(wù)也會使該任務(wù)恢復(fù)運行。
uC/OS-II的時間管理是通過定時中斷來實現(xiàn)的,該定時中斷一般為10毫秒或100毫秒發(fā)生一次,時間頻率取決于用戶對硬件系統(tǒng)的定時器編程來實現(xiàn)。中斷發(fā)生的時間間隔是固定不變的,該中斷也成為一個時鐘節(jié)拍。
uC/OS-II要求用戶在定時中斷的服務(wù)程序中,調(diào)用系統(tǒng)提供的與時鐘節(jié)拍相關(guān)的系統(tǒng)函數(shù),例如中斷級的任務(wù)切換函數(shù),系統(tǒng)時間函數(shù)。
uC/OS-II 中最多可以支持64 個任務(wù),分別對應(yīng)優(yōu)先級0~63,其中0 為最高優(yōu)先級。63為最低級,系統(tǒng)保留了4個最高優(yōu)先級的任務(wù)和4個最低優(yōu)先級的任務(wù),所有用戶可以使用的任務(wù)數(shù)有56個。還提供了任務(wù)管理的各種函數(shù)調(diào)用,包括創(chuàng)建任務(wù),刪除任務(wù),改變?nèi)蝿?wù)的優(yōu)先級,任務(wù)掛起和恢復(fù)等。
系統(tǒng)初始化時會自動產(chǎn)生兩個任務(wù):一個是空閑任務(wù),它的優(yōu)先級最低,該任務(wù)僅給一個整形變量做累加運算;另一個是系統(tǒng)任務(wù),它的優(yōu)先級為次低,該任務(wù)負責(zé)統(tǒng)計當前cpu的利用率。
想使用在MCU上使用μC/OS-II則必須滿足以下幾個條件:①處理器C 編譯器支持可重入代碼的生成;②用C 語言可以打開和關(guān)閉中斷;③ 處理器支持中斷,并能產(chǎn)生定時中斷(中斷頻率通常設(shè)置在10~100 Hz 之間);④ 處理器支持足夠的RAM 空間,以滿足多任務(wù)環(huán)境下設(shè)置任務(wù)堆棧的要求;⑤處理器有相應(yīng)的指令,能將堆棧指針和其它CPU 寄存器讀出和存儲到堆?;騼?nèi)存中。μC/OS-II代碼中大部分是用C語言寫的,但涉及到數(shù)據(jù)類型的重定義、堆棧結(jié)構(gòu)的設(shè)計、任務(wù)切換時狀態(tài)的保存和恢復(fù)等問題的大部分代碼由于與處理器有關(guān),是用匯編語言實現(xiàn)的。移植所要做的工作,就是在不同的處理器上用匯編語言來改寫與處理器有關(guān)的代碼及其他與處理器特性相關(guān)的部分。
在μC/OS-II移植過程中涉及以上問題的代碼都包含在文件OS_CPU.H、OS_CPU_C.C、OS_CPU_A.ASM中。因此移植的主要工作也在源代碼的基礎(chǔ)上圍繞著這三個文件的改寫展開。
總之,學(xué)習(xí)μC/OS嵌入式實時操作系統(tǒng)首先得先了解整個系統(tǒng)的結(jié)構(gòu),工作時的流程,比如任務(wù)1運行時如果有外部中斷會發(fā)生什么(調(diào)用中斷服務(wù)程序,把相應(yīng)的任務(wù)加如就緒列,內(nèi)核進行調(diào)度,就緒隊列中的最高優(yōu)先級的任務(wù)...)等,再對代碼進行具體的研究會比較容易。
我們需熟知μC/OS嵌入式實時操作系統(tǒng)中的函數(shù)及其應(yīng)用,例如引起任務(wù)調(diào)度的系統(tǒng)函數(shù)有OSStart()uCOS/II啟動 ;OSTaskSuspend()掛起任務(wù) ;OSTaskResume()恢復(fù)任務(wù) ;OSTimeDly()/OSTimeDlyHMSM()等待一個事件的發(fā)生等。只有在熟識系統(tǒng)運行的方式及可以引發(fā)其運行的函數(shù)的情況下我們才能較好的去運用它,用它來實現(xiàn)移植,從而達到我們的目的。
學(xué)習(xí)實時操作系統(tǒng),任哲編著的 《嵌入式實時操作系統(tǒng)μC/OS-Ⅱ原理及應(yīng)用》這本書相對來說比較適合初學(xué)者,它篇幅適中,通俗易懂,若能結(jié)合北京航空航天大學(xué)《ucosii操作系統(tǒng)講義》就更加好了。
正所謂讀書百遍,其義自現(xiàn),通過對《北航》和《任哲》的資料不斷反復(fù)地學(xué)習(xí)和閱讀,我心中總算有些眉目了,我是先用別人的程序進行移植調(diào)試后才加入自己的代碼,雖然開始都是實驗---下載--失敗,但隨著我的不斷努力,最終也是能夠成功的,所以說學(xué)習(xí)這種技術(shù),需要的是耐心,因為它需要我們一步一步慢慢加深理解,調(diào)試程序,有時一個符號打錯了都會造成實驗的失敗,我們就要耐心仔細的在代碼的海洋里尋找著這一根小針并把它去除改正。
第二篇:嵌入式系統(tǒng)設(shè)計與應(yīng)用
第一章:
嵌入式系統(tǒng)定義:以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對功能,可靠性,成本,體積,功耗嚴格要求的專用計算機系統(tǒng)。(一切非PC計算機系統(tǒng))嵌入式系統(tǒng)特點:“專用”計算機系統(tǒng),運行環(huán)境差異很大,比通用PC系統(tǒng)資源少,功耗低,體積小,集成度高,成本低,具有完整的系統(tǒng)測試和可靠性評估體系,具有較長的生命周期,需要專用開發(fā)工具和方法進行設(shè)計,包含專用調(diào)試電路,多學(xué)科知識集成系統(tǒng)。嵌入式系統(tǒng)應(yīng)用范圍:汽車,工業(yè)控制,通信設(shè)備,消費電子,商業(yè)終端,航空航天,軍事需求。
嵌入式系統(tǒng)的基本開發(fā)流程:系統(tǒng)定義與需求分析階段,方案設(shè)計階段,詳細設(shè)計階段,軟、硬件集成測試階段,系統(tǒng)功能性測試及可靠性測試階段。
系統(tǒng)定義與需求分析階段:對系統(tǒng)需求進行分析,制定系統(tǒng)的設(shè)計依據(jù)。方案設(shè)計階段:確定系統(tǒng)初步設(shè)計方案并形成設(shè)計描述文檔。詳細設(shè)計階段:完善初步方案,對方案實施詳細設(shè)計。
軟硬件集成測試階段:對系統(tǒng)軟硬件進行綜合測試,驗證系統(tǒng)設(shè)計功能。
系統(tǒng)功能性能測試及可靠性測試測試:對系統(tǒng)功能,性能,可靠性進行綜合測評。
對于使用操作系統(tǒng)的嵌入式系統(tǒng)來說,嵌入式系統(tǒng)軟件結(jié)構(gòu)一般包含4個層面:板級支持包層,實時操作系統(tǒng)(RTOS)層,應(yīng)用程序接口(API)層,應(yīng)用程序?qū)印S行┵Y料將應(yīng)用程序接口API歸屬于OS層,按3層劃分的應(yīng)用程序控制系統(tǒng)的運作和行為;操作系統(tǒng)與硬件無關(guān),不同的嵌入式操作系統(tǒng)其組成結(jié)構(gòu)也不盡相同 嵌入式操作系統(tǒng)種類繁多,大體分為兩種:商用型和免費型
商用型:VxWorks,Windows CE,pSoS,Palm OS,OS-9,LynxOS,QNX和LYNX 免費型:Linux和uC/OS—II uC/OS—II具有執(zhí)行效率高,占用空間小,可移植性及擴展性強,實施性能優(yōu)良,穩(wěn)定性和可靠性良好等特點。其內(nèi)核采用微內(nèi)核結(jié)構(gòu),將基本功能(如進程管理,存儲管理,中斷處理)放在內(nèi)核中,留給用戶一個標準API函數(shù),并根據(jù)各個任務(wù)的優(yōu)先級分配CPU時間。交叉開發(fā)環(huán)境:交叉開發(fā)是指一個通用計算機上進行軟件的編輯編譯,然后下載到嵌入式設(shè)備中進行調(diào)試的開發(fā)方式,它通常采用宿主機/目標機模式。
第二章:
RISC是精簡指令集
精簡指令集體系結(jié)構(gòu)的優(yōu)點:硬連線的指令譯碼邏輯,便于流水線執(zhí)行,大多數(shù)RISC指令為單周期執(zhí)行。
精簡指令集處理器的優(yōu)點:處理器關(guān)心面積小,開發(fā)時間縮短,開發(fā)成本降低,容易實現(xiàn)高性能,低成本的處理器。
精簡指令集體系結(jié)構(gòu)缺點:與CISC相比,通常RISC的代碼密度低;RISC不能執(zhí)行x86代碼;RISC給優(yōu)化編譯程序帶來了困難
ARM設(shè)計采用的RISC技術(shù)特征主要有:Load/Store體系結(jié)構(gòu),固定的32位指令,3地址指令格式。
ARM7TDM名稱具體含義:ARM7:32位ARM體系結(jié)構(gòu)4T版本;T:Thumb16位壓縮指令集;D:支持片上Debug,使處理器能夠停止以響應(yīng)調(diào)試請求;M:增強型Multiplier,與前代相比具有較高的性能且產(chǎn)生64位的結(jié)果。I:EmbeddedICE硬件以支持片上斷點和觀察點。ARM7 3級流水線:(取指級,譯碼級,執(zhí)行級)ARM9TDMI 流水線操作:(取指,譯碼,執(zhí)行,緩沖/數(shù)據(jù),回寫)5級 ARM處理器核可工作兩種狀態(tài):ARM狀態(tài)和Thumb狀態(tài)
從ARM進入Thumb狀態(tài),當操作數(shù)寄存器Rm的狀態(tài)位bit[0]為1時,執(zhí)行“BX Rm”指令進入Thumb狀態(tài)
從Thumb進入ARM狀態(tài),當操作數(shù)寄存器Rm的狀態(tài)位bit[0]為0時,執(zhí)行“BX Rm”指令進入ARM狀態(tài)
ARM處理器工作模式(共7種):除用戶模式外的其他六種模式稱為特權(quán)模式。特權(quán)模式:主要處理異常和監(jiān)控調(diào)用(有時也稱為軟件中斷),他們可以自由地訪問系統(tǒng)資源和切換模式
ARM處理器總共有37個寄存器,均為32位 ARM狀態(tài)下的通用寄存器分為3類: 未分組寄存器:R0~~R7(為公用寄存器)
分組寄存器:R8~~R14
R13通常用于堆棧指針SP
R14用做子程序鏈接寄存器
程序計數(shù)器:R15(PC)
用做程序計數(shù)器
ARM程序狀態(tài)寄存器中
條件碼標志(N Z C V)
N——在結(jié)果是帶符號的二進制補碼的情況下,結(jié)果為負,N=1 否則為0 Z——結(jié)果為0 Z=1 否則為0 C——針對加法:產(chǎn)生進位
C=1 否則為0
針對減法:產(chǎn)生借位
C=0 否則為1
針對有移位操作的非加減法指令
C為移位操作中最后移出位的值
對于其他指令
C通常不變
V——對于加減法指令
操作數(shù)和結(jié)果為帶符號的整數(shù)時,產(chǎn)生溢出
V=1 否則為0
對于其他指令
V通常不發(fā)生變化 ARM的異常中斷響應(yīng)過程: 一:將CPSR的內(nèi)容保存到將要執(zhí)行的異常中斷對應(yīng)的SPSR中,以實現(xiàn)對處理器當前狀態(tài),中斷屏蔽字以及各條件標志位的保存。二:設(shè)置當前狀態(tài)寄存CPSR中的相應(yīng)位:
設(shè)置CPSR模式控制位CPSR[4:0],使處理器進入相應(yīng)的執(zhí)行模式
當進入Reset或FIQ模式時,還要設(shè)置中斷標志位(CPSR[6]=1)禁止FIQ中斷,否則其值不變
設(shè)置中斷標志位(CPSR[7]=1),禁止IRQ中斷
三:將寄存器LR-
四:給程序計數(shù)器PC強制賦值,使程序從相應(yīng)的向量地址開始執(zhí)行中斷處理程序。
非向量中斷和中斷向量的區(qū)別和聯(lián)系
異常中斷的優(yōu)先級:復(fù)位(最高),數(shù)據(jù)異常中斷,F(xiàn)IQ,IRQ,取值指異常中止,SWI未定義指令
ARM支持的數(shù)據(jù)類型(6種):8位有符號和無符號字節(jié)
16位有符號和無符號半字,以2字節(jié)的邊界定位
32位有符號和無符號半字,以4字節(jié)的邊界定位
ARM存儲器組織:以字節(jié)為單位尋址的存儲器中有“小端”和“大端”兩種方式存儲字 小端格式:較高的有效字節(jié)存放在較高的存儲器地址,較低的有效字節(jié)存放在較低的存儲器地址
大端格式:較高的有效字節(jié)存放在較低的存儲器地址,較低的有效字節(jié)存放在較高的存儲器地址
ARM處理器能方便地配置為其中任何一種存儲器方式,但他們的缺省設(shè)置為小端格式(71頁有題)
ARM7TDM內(nèi)核的重要特性:53頁最上面
第三章:
指令分類中基本指令格式
S
可選后綴,若指定S,則根據(jù)指令執(zhí)行結(jié)果更新CPSR中的條件碼 ARM尋址方式
立即尋址有選擇題
寄存器間接尋址:ARM的數(shù)據(jù)傳送指令都是基于寄存器間接尋址,即通過Load/Store完成對數(shù)據(jù)的傳送操作
103頁舉例
可能為考題
偽操作
是ARM匯編語言程序里的一些特殊指令助記符,它的作用主要是為完成匯編程序做各種準備,在源程序進行匯編時由匯編程序處理,而不是在計算機運行期間由機器執(zhí)行 ARM嵌入式系統(tǒng)程序設(shè)計可以分為ARM匯編語言程序設(shè)計、嵌入式C語言程序設(shè)計以及C語言與匯編語言的混合編程。
ARM匯編程序中
AREA指示符定義本程序段位代碼段
即申請一個定義段 161頁程序
可能考
嵌入式C語言程序設(shè)計中修飾符:interrupt、near、far、huge Interrupt在函數(shù)修飾為中斷函數(shù),沒有輸入和輸出參數(shù) 第三章課后習(xí)題見李向妮筆記
第四章
DMA
I2C
I2S 基于S3C44B0X的最小系統(tǒng)設(shè)計:
嵌入式最小系統(tǒng)是指保證嵌入式微處理器可靠工作所必需的基本電路組成的系統(tǒng),通常包括處理器單元、時鐘單元、復(fù)位單元、、存儲器單元、供電電源和調(diào)試接口。
基于ARM的嵌入式最小系統(tǒng)基本組成包括:基于ARM核的微處理器、電源電路、復(fù)位電路、時鐘電路、存儲器電路(FLASH和SDRAM)、UART接口電路和JTAG調(diào)試接口
第五章:
uC/OS—II采用的搶占式內(nèi)核是一個真正的實時操作系統(tǒng)
uC/OS—II基本特點:源碼開放;可移植性;可裁剪;搶占式內(nèi)核;可擴展的多任務(wù);可確定的執(zhí)行時間;中斷管理;穩(wěn)定性和可靠性
uC/OS—II的文件結(jié)構(gòu)(與內(nèi)核功能相關(guān)的文件):任務(wù)管理;同步通信;內(nèi)存管理;時間管理
uC/OS—II任務(wù)及其運行狀態(tài):
任務(wù)是一個簡單的程序,對應(yīng)于實際應(yīng)用中的一個邏輯功能。對uC/OS—II來說,任務(wù)是系統(tǒng)運行的基本單元,系統(tǒng)以任務(wù)為單元分配內(nèi)存資源和處理時間,每個任務(wù)都有自己獨立的寄存器和??臻g。
任務(wù)看起來就像一個無限循環(huán)永不返回的函數(shù),但是不同于函數(shù)的是,它有一套自己的內(nèi)存空間,運行時完全占用處理器資源,在任意確定的時刻都處于休眠、就緒、運行、掛起以及中斷服務(wù)這五種狀態(tài)之一 圖見書上337
第六章
uCLinux與標準Linux的最大區(qū)別就在于內(nèi)存管理。標準Linux是針對有MMU的處理器設(shè)計的
uCLinux不使用虛擬內(nèi)存管理技術(shù),采用的是實存儲器管理策略,也就是說uCLinux系統(tǒng)對內(nèi)存的訪問是直接的
uCLinux與標準Linux系統(tǒng)在進程的創(chuàng)建
進程的執(zhí)行
進程的終止
上有著顯著不同 基于uCLinux操作系統(tǒng)的應(yīng)用開發(fā)環(huán)境一般是由目標系統(tǒng)硬件開發(fā)板和宿主PC機所構(gòu)成。目標硬件開發(fā)板用于運行操作系統(tǒng)和系統(tǒng)應(yīng)用軟件,而目標板所用到的操作系統(tǒng)的內(nèi)核編譯、電子詞典應(yīng)用程序的開發(fā)和調(diào)試則需要通過宿主PC機來完成。目標板用來進行內(nèi)核編譯
PC機用來進行調(diào)試
移植就是使一個實時操作系統(tǒng)能夠在某個微處理器平臺上或者微控制器上運行。uCLinux移植包括3個層次的移植: 處理器結(jié)構(gòu)層次移植、芯片層次移植、板級移植。
移植思路:開發(fā)環(huán)境確定以后,首先,要為uCLinux設(shè)計一個BootLoader,通過BootLoader來初始化硬件,引導(dǎo)uCLinux運行。BootLoader的設(shè)計可以在ads中或者Linux中實現(xiàn)。其次,針對硬件環(huán)境和設(shè)計的BootLoader修改uClinux內(nèi)核。最后,在交叉編譯環(huán)境下配置、編譯、鏈接uClinux,下載編譯得到的印象文件到FLASH,通過BootLoader來啟動uCLinux。如果參數(shù)默認或者無參數(shù),則先執(zhí)行BootLoader,否則BootLoader第二位,參數(shù)執(zhí)行為第一位。
第三篇:嵌入式系統(tǒng)的主要應(yīng)用
嵌入式系統(tǒng)的主要應(yīng)用
嵌入式系統(tǒng)是一種包括硬件和軟件的完整的計算機系統(tǒng),它的定義是:“嵌入式系統(tǒng)是以應(yīng)用為中心,以計算機技術(shù)為基礎(chǔ),并且軟硬件可剪裁,適用于應(yīng)用系統(tǒng)對功能、可靠性、成本、體積和功耗有嚴格要求的專用計算機系統(tǒng)?!鼻度胧较到y(tǒng)所用的計算機是嵌入到被控對象中的專用微處理器,但是功能比通用計算機專門化,具有通用計算機所不能具備的針對某個方面特別設(shè)計的、合適的運算速度、高可靠性和較低比較成本的專用計算機系統(tǒng)。
嵌入式系統(tǒng)的應(yīng)用前景是非常廣泛的,人們將會無時無處不接觸到嵌入式產(chǎn)品,從家里的洗衣機、電冰箱,到作為交通工具的自行車、小汽車,到辦公室里的遠程會議系統(tǒng)等等。在家中、辦公室、公共場所,人們可能會使用數(shù)十片甚至更多這樣的嵌入式無線電芯片,將一些電子信息設(shè)備甚至電氣設(shè)備構(gòu)成無線網(wǎng)絡(luò);在車上、旅途中,人們利用這樣的嵌入式無線電芯片可以實現(xiàn)遠程辦公、遠程遙控,真正實現(xiàn)把網(wǎng)絡(luò)隨身攜帶。其應(yīng)用領(lǐng)域可以包括:
1.交通管理:在車輛導(dǎo)航、流量控制、信息監(jiān)測與汽車服務(wù)方面,嵌入式系統(tǒng)技術(shù)已經(jīng)獲得了廣泛的應(yīng)用,內(nèi)嵌GPS模塊,GSM模塊的移動定位終端已經(jīng)在各種運輸行業(yè)獲得了成功的使用。目前GPS設(shè)備已經(jīng)從尖端產(chǎn)品進入了普通百姓的家庭,只需要幾千元,就可以隨時隨地找到你的位置。2.家庭智能管理系統(tǒng):水、電、煤氣表的遠程自動抄表,安全防火、防盜系統(tǒng),其中嵌有的專用控制芯片將代替?zhèn)鹘y(tǒng)的人工檢查,并實現(xiàn)更高,更準確和更安全的性能。
3.POS網(wǎng)絡(luò)及電子商務(wù):公共交通無接觸智能卡發(fā)行系統(tǒng),公共電話卡發(fā)行系統(tǒng),自動售貨機,各種智能ATM終端將全面走入人們的生活。
4.環(huán)境工程與自然:水文資料實時監(jiān)測,防洪體系及水土質(zhì)量監(jiān)測、堤壩安全,地震監(jiān)測網(wǎng),實時氣象信息網(wǎng),水源和空氣污染監(jiān)測。在很多環(huán)境惡劣,地況復(fù)雜的地區(qū),嵌入式系統(tǒng)將實現(xiàn)無人監(jiān)測。
5.機器人:嵌入式芯片的發(fā)展將使機器人在微型化,高智能方面優(yōu)勢更加明顯,同時會大幅度降低機器人的價格,使其在工業(yè)領(lǐng)域和服務(wù)領(lǐng)域獲得更廣泛的應(yīng)用。
6.工業(yè)控制:相對于其他的領(lǐng)域,機電產(chǎn)品可以說是嵌入式系統(tǒng)應(yīng)用最典型最廣泛的領(lǐng)域之一。從最初的單片機到現(xiàn)在的工控機、SOC在各種機電產(chǎn)品中均有著巨大的市場。工業(yè)設(shè)備是機電產(chǎn)品中最大的一類,在目前的工業(yè)控制設(shè)備中,工控機的使用非常廣泛,這些工控機一般采用的是工業(yè)級的處理器和各種設(shè)備,其中以X86的MPU最多。工控的要求往往較高,需要各種各樣的設(shè)備接口,除了進行實時控制,還須將設(shè)備狀態(tài),傳感器的信息等在顯示屏上實時顯示。這些要求8位的單片機是無法滿足的,以前多數(shù)使用16位的處理器,隨著處理器快速的發(fā)展,目前32位、64位的處理器逐漸替代了16位處理器,進一步提升了系統(tǒng)性能。采用PC104總線的系統(tǒng),體積小,穩(wěn)定可靠,受到了很多用戶的青睞。不過這些工控機采用的往往是DOS或者Windows系統(tǒng),雖然具有嵌入式的特點,卻不能稱作純粹的嵌入式系統(tǒng)。另外在工業(yè)控制器和設(shè)備控制器方面,則是各種嵌入式處理器的天下。這些控制器往往采用16位以上的處理器,各種MCU,Arm、Mips、68K系列的處理器在控制器中占據(jù)核心地位。這些處理器上提供了豐富的接口總線資源,可以通過它們實現(xiàn)數(shù)據(jù)采集,數(shù)據(jù)處理,通訊以及顯示(顯示一般是連接LED或者LCD)。最近飛利浦和ARM共同推出32位RISC嵌入式控制器,適用于工業(yè)控制,采用最先進的0.18微米CMOS嵌入式閃存處理技術(shù),操作電壓可以低至1.2伏,它還能降低25%到30%的制造成本,在工業(yè)領(lǐng)域中對最終用戶而言是一套極具成本效益的解決方案。美國TERN工業(yè)控制器基于Am188/186ES、i386EX、NEC V25、Am586(Elan SC520),采用了SUPERTASK實時多任務(wù)內(nèi)核,可應(yīng)用于便攜設(shè)備、無線控制設(shè)備、數(shù)據(jù)采集設(shè)備、工業(yè)控制與工業(yè)自動化設(shè)備以及其它需要控制處理的設(shè)備。
7.家電行業(yè)是嵌入式應(yīng)用的另一大行業(yè)?,F(xiàn)在只有按鈕、開關(guān)的電器顯然已經(jīng)不能滿足人們的日常需求,具有用戶界面,能遠程控制,智能管理的電器是未來的發(fā)展趨勢。據(jù)IDG發(fā)布的統(tǒng)計數(shù)據(jù)表明,未來信息家電將會成長五至十倍。中國的傳統(tǒng)家電廠商向信息家電過渡時,首先面臨的挑戰(zhàn)是核心操作系統(tǒng)軟件開發(fā)工作。硬件方面,進行智能信息控制并不是很高的要求,目前絕大多數(shù)嵌入式處理器都可以滿足硬件要求,真正的難點是如何使軟件操作系統(tǒng)容量小、穩(wěn)定性高且易于開發(fā)。Linux核心可以起到很好的橋梁作用,作為一個跨平臺的操作系統(tǒng),它可以支持二三十種CPU,而目前已有眾多家電業(yè)的芯片都開始做Linux的平臺移植工作。1999年就登錄中國的微軟“維納斯”計劃給了國人一個數(shù)字家庭的概念,引導(dǎo)各大家電廠商紛紛投入到這場革命中來,雖然最終未能獲得成功,卻使信息家電深入人心。如今各大廠商仍然在努力推出適用于新一代家電應(yīng)用的芯片,英特爾公司已專為信息家電業(yè)研發(fā)了名為StrongARM的ARM CPU系列,這一系列CPU本身不象X86CPU需要整合不同的芯片組,它在一顆芯片中可以包括你所需要的各項功能,即硬件系統(tǒng)實現(xiàn)了SOC的概念。美商網(wǎng)虎公司已將全球最小的嵌入式操作系統(tǒng)——QUARK成功移植到StrongARM系列芯片上,這是第一次把Linux、圖形界面和一些程序進行完整移植(QUARK的內(nèi)核只有143K),它將為信息家電提供功能強大的核心操作系統(tǒng)。相信在不久的將來,數(shù)字智能家庭必將來到我們身邊。
這些應(yīng)用中,可以著重于在控制方面的應(yīng)用。就遠程家電控制而言,除了開發(fā)出支持TCP/IP的嵌入式系統(tǒng)之外,家電產(chǎn)品控制協(xié)議也需要制訂和統(tǒng)一,這需要家電生產(chǎn)廠家來做。同樣的道理,所有基于網(wǎng)絡(luò)的遠程控制器件都需要與嵌入式系統(tǒng)之間實現(xiàn)接口,然后再由嵌入式系統(tǒng)來控制并通過網(wǎng)絡(luò)實現(xiàn)控制。所以,開發(fā)和探討嵌入式系統(tǒng)有著十分重要的意義。
第四篇:學(xué)習(xí)嵌入式系統(tǒng)感言
個人覺得培訓(xùn)學(xué)校都是差不多,所學(xué)的內(nèi)容都是一樣的。您不妨自己找?guī)讉€學(xué)校的課程對比下,你就知道大同小異了,培訓(xùn)主要就是C、Linux和ARM課程。
我原來也想去培訓(xùn),可是家里條件不允許,我沒有那么多錢,后來我只好自學(xué)了,不懂的就上論壇問,我自己學(xué)了四個月,差不多也入門了,現(xiàn)在也是在做嵌入式開發(fā)。想想我自己走過的路,其實我發(fā)現(xiàn),其實嵌入式并沒有想象的難,關(guān)鍵是要花時間去學(xué),要堅持幾個月就可以了。
如果樓主還有時間,不妨自己學(xué)下。實在覺得困難的話再去培訓(xùn)吧。當然,樓主如果家里經(jīng)濟不錯的話,也可以去培訓(xùn)吧。但是如果真的下決心要學(xué)的話,其實可以去找找自學(xué)的方法。
我把我前階段看到的一篇一個??粕绾巫詫W(xué)嵌入式,里面有介紹了他的學(xué)習(xí)方法和學(xué)習(xí)過程的文章,給樓主看看,希望對你有幫助。
??粕鷮W(xué)嵌入式到找到工作的前前后后--學(xué)習(xí)的榜樣
先做個自我介紹,我07年考上一所很爛??泼褶k的學(xué)校,學(xué)的是生物專業(yè),具體的學(xué)校名稱我就不說出來獻丑了。09年我就輟學(xué)了,我在那樣的學(xué)校,一年學(xué)費要1萬多,但是根本沒有人學(xué)習(xí),我實在看不到希望,我就退學(xué)了。
退學(xué)后我也迷茫,大專都沒有畢業(yè),我真的不知道我能干什么,我在糾結(jié)著我能做什么。所以輟學(xué)后我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應(yīng)聘做業(yè)務(wù)。我想應(yīng)聘做技術(shù)的,可是處處碰壁。
一次偶然的機會,我才聽到嵌入式這個行業(yè)。那天我去新華書店,在計算機分類那邊想找本書學(xué)習(xí)。后來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學(xué)習(xí)嵌入式,然后給我介紹了一下嵌入式現(xiàn)在的火熱情況,告訴我學(xué)嵌入式多么的有前景,給我了一份傳單,嵌入式培訓(xùn)的廣告。聽了她的介紹,我心里癢癢的,確實我很想去學(xué)會一門自己的技術(shù),靠自己的雙手吃飯。
回家后,我就上網(wǎng)查了下嵌入式,確實是當今比較熱門的行業(yè),也是比較好找工作的,工資也是相對比較高。我就下決心想學(xué)嵌入式了。于是我去找嵌入式培訓(xùn)的相關(guān)信息,說真的,我也很迷茫,我不知道培訓(xùn)是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。
后來,我在百度知道看到一篇讓我很鼓舞的文章《如何學(xué)習(xí)嵌入式》,是一個嵌入式高手介紹沒有基礎(chǔ)的朋友怎么自學(xué)入門學(xué)嵌入式,文章寫的很好,包含了如何學(xué)習(xí),該怎么學(xué)習(xí)。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。
我在想,為什么別人都能自學(xué)成才,我也可以的!我要相信自己,所以我就想自學(xué),如果實在學(xué)不會我再去培訓(xùn)。
主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統(tǒng),我是想找一個能夠告訴我該怎么學(xué)的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。
后來我又找到一份很好的視頻,是在嵌入式學(xué)習(xí)網(wǎng)推出的一份視頻《從零基礎(chǔ)開始學(xué)嵌入式》,網(wǎng)址:http://www.FASHIONWEEKDAILY.info/evem.htm里面的教程還不錯,很完整,可以讓我從基礎(chǔ)的開始學(xué)起。視頻不便宜啊,但是我也忍了,畢竟買幾本書都要幾百了,何況他們還有半年的技術(shù)咨詢和服務(wù),算值了。
下面介紹下我的學(xué)習(xí)流程,希望對和我一樣完全沒有基礎(chǔ)的朋友有所幫助。
收到他們寄過來的光盤后,我就開始學(xué)習(xí)了,由于我沒有什么基礎(chǔ),我就從最簡單的C語言視頻教程學(xué)起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學(xué)了一個禮拜,接下來我就學(xué)了linux的基本命令,我在他們提供linux虛擬機上都有做練習(xí),敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月后我基本掌握了C和linux的基本操作。
接下來我就去學(xué)習(xí)了人家的視頻的培訓(xùn)教程,是整套的,和去參加培訓(xùn)沒有多大的區(qū)別,這一看就是兩個月,學(xué)習(xí)了ARM的基本原理,學(xué)習(xí)嵌入式系統(tǒng)的概念,也掌握了嵌入式的環(huán)境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應(yīng)用到底是怎么做的,但是驅(qū)動我只是有一點點的了解,這個相對難一點,我想以后再慢慢啃。
這兩個月,除了吃飯睡覺,我?guī)缀醵荚趯W(xué)習(xí)。因為我知道幾乎沒有基礎(chǔ),比別人差勁,我只能堅持努力著,我不能放棄,我必要要靠自己來養(yǎng)活自己,必須學(xué)好這門技術(shù),同時我不懂的就問,這里真的很感謝他們的技術(shù)客服對我的任何問題都是耐心的解答,每天都我?guī)缀醵加泻脦讉€問題問他們,然后我就把不懂的問題總結(jié)記下來,這樣慢慢積累了一段時間,我發(fā)現(xiàn)自己真的有點入門了。
最后的一個月,我就去看關(guān)于實踐部分的內(nèi)容,了解嵌入式項目具體的開發(fā)流程,需要什么樣的知識,我就開始準備這方面的知識,也就是學(xué)習(xí)這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以后找工作做準備。我就到網(wǎng)上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多準備了20天左右
我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,于是我就到51job瘋狂的投簡歷,因為我學(xué)歷的問題,專科沒有畢業(yè),說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過后,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了準備,但是他們的要求比較嚴格,需要有一年的項目經(jīng)驗,所以我沒有被選中。
后來陸續(xù)面試了幾家公司,終于功夫不負有心人。我終于面試上的,是在閔行的一家民營的企業(yè),公司規(guī)模比較小,我的職務(wù)是嵌入式linux應(yīng)用開發(fā),做安防產(chǎn)品的應(yīng)用的。我想我也比較幸運,經(jīng)理很看重我的努力,就決定錄用我,開的工資是3500一個月,雖然我知道在上海3500只能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養(yǎng),我自己也能養(yǎng)活自己的。我想只要我繼續(xù)努力,我工資一定會翻倍的。
把本文寫出來,希望能讓和我一樣的沒有基礎(chǔ)的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
在大學(xué)生如則的身上,我們看到了一種精神,就是對認準的事情,不管多困難,多曲折,都不放棄,而且要堅定地、執(zhí)著地做下去。這是在許多成功者身上我們看到的共同的東西。搞發(fā)明創(chuàng)造是寂寞的、艱苦的,但當一個人將它視作自己的事業(yè)和理想,它就是快樂的、充實的,堅持下去,必將看到成功的果實,世界上的許多事情亦是同理。(完)
第五篇:學(xué)習(xí)嵌入式系統(tǒng)心得
學(xué)習(xí)嵌入式系統(tǒng)心得
說實在話在沒有學(xué)習(xí)之前,以及在學(xué)之前通過一些口中得知這是一門很不錯,很有意思的一門課。而且目前是十分吃香的一門課程,如果學(xué)好了工作很好找并且待遇也很好。聽到這些,我內(nèi)心非常期待上這門含金量如此之高的一門技術(shù)課。據(jù)我了解,嵌入式系統(tǒng)是一個很有前景的行業(yè)。學(xué)會嵌入式技術(shù),就相當于給自己創(chuàng)造了更多的機會。那么,在可以預(yù)計的將來,嵌入式技術(shù)的應(yīng)用會越來越廣泛。(大量的人才需求,未來五年內(nèi),國內(nèi)LINUX嵌入式軟件開發(fā)的人才缺口達到120萬)
說實在的,第一天,我滿懷期望的去上這門課??墒且簧险n聽到老師的介紹,我就頭昏腦脹了。這是什么課啊,誰會聽得懂。猶如天書一般。
實事求是的說,嵌入式技術(shù)的全面掌握是有相當難度的??梢暂p輕松松學(xué)會嵌入式技術(shù)的說法是夸大其詞了。這個就像學(xué)英語一樣,學(xué)英語無論怎樣學(xué),不管是“瘋狂學(xué)”還是用新理念來學(xué),真正掌握的話還是需要一步步積累才能熟練掌握。在此,我們通過短短的幾個星期簡單的了解和學(xué)習(xí)一下嵌入式,想成為這方面的高手。這些想法本身是不太現(xiàn)實的。我心里清楚我們需要做的是:
第一:把心踏實下來,做好打硬仗的準備。
第二:注意學(xué)習(xí)方法。盡量不要走彎路,爭取一鼓作氣入門。一旦入門了以后呢就好辦了。嵌入式技術(shù)的掌握,本身呢就比較難,要是再走些彎路,時間上會浪費,甚至?xí)绊憣W(xué)習(xí)的信心。
這就是我這段時間的學(xué)習(xí)心得。
魯增慶 110402110 A11電氣