【正文】
驗環(huán)境(開發(fā)板和工具軟件)和有經驗的人進行指導。 two is embedded in areas of relatively high threshold, knowledge is more prehensive, but requires a certain experimental environment ( development board and software tools ) and experienced person for guidance. Embedded is mainly based on the LINUX operating system under the C development, ARM9( enterprise at present the most popular) development platform under the WINCE operating system, of course.Keywords: embedded system prospect learning一、嵌入式系統(tǒng)的概念 什么是嵌入式系統(tǒng),主要從三個方面上來理解: 從硬件上,將基于CPU的處圍器件,整合到CPU芯片內部,比如早期基于X86體系結構下的計算機,CPU只是有運算器和累加器的功能,一切芯片要造外部橋路來擴展實現(xiàn),象串口之類的都是靠外部的16C550/2的串口控制器芯片實現(xiàn),而目前的這種串口控制器芯片早已集成到CPU內部,還有PC機有顯卡,而多數(shù)嵌入式處理器都帶有LCD控制器,但其種意義上就相當于顯卡。支持2G內存,1G10或10G1的以太網口或Febre channel的光通道。 從軟件上前,就是在定制操作系統(tǒng)內核里將應用一并選入,編譯后將內核下載到ROM中。 把軟件內核或應用文件系統(tǒng)等東西燒到嵌入式系統(tǒng)硬件平臺中的ROM中就實現(xiàn)了一個真正的“嵌入”。國內普遍認可的概念:以應用為中心、以計算機技術為基礎、軟硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗、嚴格要求的專用計算機系統(tǒng)。 嵌入式系統(tǒng)分為4層,硬件層、驅動層、操作系統(tǒng)層和應用層。但硬件平臺是基礎,增值還要靠軟件。 驅動層,這部分比較難,驅動工程師不僅要能看懂電路圖還要能對操作系統(tǒng)內核十分的精通,以便其所寫的驅動程序在系統(tǒng)調用時,不會獨占操作系統(tǒng)時間片,而導至其它任務不能動行,不懂操作系統(tǒng)內核架構和實時調度性,沒有良好的驅動編寫風格,按大多數(shù)書上所說添加的驅動的方式,很多人都能做到,但可能連個初級的驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時就如同windows下我們打開一個程序運行后,再打開一個程序時,要不就是中斷以前的程序,要不就是等上一會才能運行后來打開的程序。 驅動層比較適合于電子、通信、自動化、機電一體、信息工程類專業(yè)尤其是計算機偏體系結構類專業(yè)的人來搞,除硬件層所具備的基礎學科外,還要對數(shù)據(jù)結構與算法、操作系統(tǒng)原理、編譯原理都要十分精通了解。操作系統(tǒng)是負責系統(tǒng)任務的調試、磁盤和文件的管理,而嵌入式系統(tǒng)的實時性十分重要。因此這部分工作相對來講沒有太大意義。如果涉及Jave方面的編程也是如此的。但如果涉及嵌入式系統(tǒng)下面嵌入式數(shù)據(jù)庫、基于嵌入式系統(tǒng)的網絡編程和基于某此應用層面的協(xié)議應用開發(fā)(比如基于SIP、Astrisk)方面又較為復雜,并且有難度了。 學ARM,從硬件上講,一方面就是學習接口電路設計,另一方面就是學習匯編和C語言的板級編程。這些對于初學都來說必須明確,要么從硬件著手開始學,要么從操作系統(tǒng)的熟悉到應用開始學,但不管學什么,只要不是純的操作系統(tǒng)級以上基于API的應用層的編程,硬件的寄存器類的東西還是要能看懂的,基于板級的匯編和C編程還是要會的。 因此對于初學者必然要把握住方向,自己的目標是什么,自己要在那一層面上走。 如果想從嵌入式系統(tǒng)的應用層面的走的話,可能與ARM及其它體系相去較遠,要著重研究基嵌入式操作系統(tǒng)的環(huán)境應用與相應開發(fā)工具鏈,比如WinCe操作系統(tǒng)下的EVC應用開發(fā)(與windows下的VC相類似),如果想再有突破就往某些音視頻類的協(xié)