電子工程網(wǎng)
標題:
如何學(xué)習嵌入式系統(基于A(yíng)RM平臺)
[打印本頁(yè)]
作者:
nulabye
時(shí)間:
2010-7-21 15:07
標題:
如何學(xué)習嵌入式系統(基于A(yíng)RM平臺)
如何學(xué)習嵌入式系統(基于A(yíng)RM平臺) .rar
(11 KB)
2010-7-21 15:07 上傳
點(diǎn)擊文件名下載附件
下載積分: 積分 -1
如何學(xué)習嵌入式系統
(基于A(yíng)RM平臺)
一、嵌入式系統的概念
著(zhù)重理解
“
嵌入
”
的概念
主要從三個(gè)方面上來(lái)理解。
1
、從硬件上,將基于
CPU
的處圍器件,整合到
CPU
芯片內部,比如早期基于
X86
體系結構下的計算機,
CPU
只是有運算器和累加器的功能,一切芯片要造外部橋路來(lái)擴展實(shí)現,象串口之類(lèi)的都是靠外部的
16C550/2
的串口控制器芯片實(shí)現,而目前的這種串口控制器芯片早已集成到
CPU
內部,還有
PC
機有顯卡,而多數嵌入式處理器都帶有
LCD
控制器,但其種意義上就相當于顯卡。比較高端的
ARM
類(lèi)
Intel Xscale
架構下的
IXP
網(wǎng)絡(luò )處理器
CPU
內部集成
PCI
控制器(可配成支持
4
個(gè)
PCI
從設備或配成自身為
CPI
從設備);還集成
3
個(gè)
NPE
網(wǎng)絡(luò )處理器引擎,其中兩個(gè)對應于兩個(gè)
MAC
地址,可用于網(wǎng)關(guān)交換用,而另外一個(gè)
NPE
網(wǎng)絡(luò )處理器引擎支持
DSL
,只要外面再加個(gè)
PHY
芯片即可以實(shí)現
DSL
上網(wǎng)功能。
IXP
系列最高主頻可以達到
1.8G
,支持
2G
內存,
1G×10
或
10G×1
的以太網(wǎng)口或
Febre channel
的光通道。
IXP
系列應該是目標基于
ARM
體系統結構下由
intel
進(jìn)行整合后成
Xscale
內核的最高的處理器了。
2
、從軟件上前,就是在定制操作系統內核里將應用一并選入,編譯后將內核下載到
ROM
中。而在定制操作系統內核時(shí)所選擇的應用程序組件就是完成了軟件的
“
嵌入
”
,比如
WinCE
在內核定制時(shí),會(huì )有相應選擇,其中就是
wordpad,PDF,MediaPlay
等等選擇,如果我們選擇了,在
CE
啟動(dòng)后,就可以在界面中找到這些東西,如果是以前
PC
上將的
windows
操作系統,多半的東西都需要我們得新再裝。
3
、把軟件內核或應用文件系統等東西燒到嵌入式系統硬件平臺中的
ROM
中就實(shí)現了一個(gè)真正的
“
嵌入
”
。
以上的定義是我在
6
、
7
年前給嵌入式系統下自話(huà)側重于理解型的定義,書(shū)上的定義也有很多,但在這個(gè)領(lǐng)域范圍內,誰(shuí)都不敢說(shuō)自己的定義是十分確切的,包括那些專(zhuān)家學(xué)者們,歷為畢竟嵌入式系統是計算機范疇下的一門(mén)綜合性學(xué)科
二、嵌入式系統的分層與專(zhuān)業(yè)的分類(lèi)。
嵌入式系統分為4層,硬件層、驅動(dòng)層、操作系統層和應用層。
1
、硬件層,是整個(gè)嵌入式系統的根本,如果現在單片機及接口這塊很熟悉,并且能用
C
和匯編語(yǔ)言來(lái)編程的話(huà),從嵌入式系統的硬件層走起來(lái)相對容易,硬件層也是驅動(dòng)層的基礎,一個(gè)優(yōu)秀的驅動(dòng)工程師是要能夠看懂硬件的電路圖和自行完成
CPLD
的邏輯設計的,同時(shí)還要對操作系統內核及其調度性相當的熟悉的。但硬件平臺是基礎,增值還要靠軟件。
硬件層比較適合于,電子、通信、自動(dòng)化、機電一體、信息工程類(lèi)專(zhuān)業(yè)的人來(lái)搞,需要掌握的專(zhuān)業(yè)基礎知識有,單片機原理及接口技術(shù)、微機原理及接口技術(shù)、
C
語(yǔ)言。
2
、驅動(dòng)層,這部分比較難,驅動(dòng)工程師不僅要能看懂電路圖還要能對操作系統內核十分的精通,以便其所寫(xiě)的驅動(dòng)程序在系統調用時(shí),不會(huì )獨占操作系統時(shí)間片,而導至其它任務(wù)不能動(dòng)行,不懂操作系統內核架構和實(shí)時(shí)調度性,沒(méi)有良好的驅動(dòng)編寫(xiě)風(fēng)格,按大多數書(shū)上所說(shuō)添加的驅動(dòng)的方式,很多人都能做到,但可能連個(gè)初級的驅動(dòng)工程師的水平都達不到,這樣所寫(xiě)的驅動(dòng)在應用調用時(shí)就如同
windows
下我們打開(kāi)一個(gè)程序運行后,再打開(kāi)一個(gè)程序時(shí),要不就是中斷以前的程序,要不就是等上一會(huì )才能運行后來(lái)打開(kāi)的程序。想做個(gè)好的驅動(dòng)人員沒(méi)有三、四年功底,操作系統內核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統四層中可是最高的。
驅動(dòng)層比較適合于電子、通信、自動(dòng)化、機電一體、信息工程類(lèi)專(zhuān)業(yè)尤其是計算機偏體系結構類(lèi)專(zhuān)業(yè)的人來(lái)搞,除硬件層所具備的基礎學(xué)科外,還要對數據結構與算法、操作系統原理、編譯原理都要十分精通了解。
3
、操作系統層,對于操作系統層目前可能只能說(shuō)是簡(jiǎn)單的移植,而很少有人來(lái)自已寫(xiě)操作系統,或者寫(xiě)出缺胳膊少腿的操作系統來(lái),這部分工作大都由驅動(dòng)工程師來(lái)完成。操作系統是負責系統任務(wù)的調試、磁盤(pán)和文件的管理,而嵌入式系統的實(shí)時(shí)性十分重要。據說(shuō),
XP
操作系統是微軟投入
300
人用兩年時(shí)間才搞定的,總時(shí)工時(shí)是
600
人年,中科院軟件所自己的女?huà)z
Hopen
操作系統估計也得花遇幾百人年才能搞定。因此這部分工作相對來(lái)講沒(méi)有太大意義。
4
、應用層,相對來(lái)講較為容易的,如果會(huì )在
windows
下如何進(jìn)行編程接口函數調用,到操作系統下只是編譯和開(kāi)發(fā)環(huán)境有相應的變化而已。如果涉及
Jave
方面的編程也是如此的。嵌入式系統中涉及算法的由專(zhuān)業(yè)算法的人來(lái)處理的,不必歸結到嵌入式系統范疇內。但如果涉及嵌入式系統下面嵌入式數據庫、基于嵌入式系統的網(wǎng)絡(luò )編程和基于某此應用層面的協(xié)議應用開(kāi)發(fā)(比如基于
SIP
、
H.323
、
Astrisk
)方面又較為復雜,并且有難度了。
三、目標與定位。
先有目標,再去定位。
學(xué)
ARM
,從硬件上講,一方面就是學(xué)習接口電路設計,另一方面就是學(xué)習匯編和
C
語(yǔ)言的板級編程。如果從軟件上講,就是要學(xué)習基于
ARM
處理器的操作系統層面的驅動(dòng)、移植了。這些對于初學(xué)都來(lái)說(shuō)必須明確
,
要么從硬件著(zhù)手開(kāi)始學(xué),要么從操作系統的熟悉到應用開(kāi)始學(xué),但不管學(xué)什么,只要不是純的操作系統級以上基于
API
的應用層的編程,硬件的寄存器類(lèi)的東西還是要能看懂的,基于板級的匯編和
C
編程還是要會(huì )的。因此針對于嵌入式系統的硬件層和驅動(dòng)程的人,
ARM
的接口電路設計、
ARM
的
C
語(yǔ)言和匯編語(yǔ)言編程及調試開(kāi)發(fā)環(huán)境還是需要掌握的。
因此對于初學(xué)者必然要把握住方向,自己的目標是什么,自己要在那一層面上走。然后再著(zhù)手學(xué)習較好,與
ARM
相關(guān)的嵌入式系統的較為實(shí)際的兩個(gè)層面硬件層和驅動(dòng)層,不管學(xué)好了那一層都會(huì )很有前途的。
如果想從嵌入式系統的應用層面的走的話(huà),可能與
ARM
及其它體系相去較遠,要著(zhù)重研究基嵌入式操作系統的環(huán)境應用與相應開(kāi)發(fā)工具鏈,比如
WinCe
操作系統下的
EVC
應用開(kāi)發(fā)(與
windows
下的
VC
相類(lèi)似),如果想再有突破就往某些音視頻類(lèi)的協(xié)議上靠,比如
VOIP
領(lǐng)域的基于
SIP
或
H.323
協(xié)議的應用層開(kāi)發(fā),或是基于嵌入式網(wǎng)絡(luò )數據庫的開(kāi)發(fā)等等。
對于初學(xué)者來(lái)講,要量力而行,不要認為驅動(dòng)層工資高就把它當成方向了,要結合自身特點(diǎn),嵌入式系統四個(gè)層面上那個(gè)層面上來(lái)講都是有高人存在,當然高人也對應的高工資,我是做硬件層的,以前每月工資中個(gè)人所得稅要被扣上近
3
千大元,當然我一方面充當工程師的角色,一方面充當主管及人物的角色,兩個(gè)職位我一個(gè)人干,但上班時(shí)間就那些。硬件這方面上可能與我
PK
的人很少了,才讓我拿到那么多的工資。
四、開(kāi)發(fā)系統選擇。
很多
ARM
初學(xué)者都希望有一套自己能用的系統,但他們住住會(huì )產(chǎn)生一種錯誤認識就是認為處理器版本越高、性能越高越好,就象很多人認為
ARM9
與
ARM7
好,我想對于初學(xué)者在此方面以此入門(mén)還應該理智,開(kāi)發(fā)系統的選擇最終要看自己往嵌入式系統的那個(gè)方向上走,是做驅動(dòng)開(kāi)發(fā)還是應用,還是做嵌入式系統硬件層設計與板級測試。如果想從操作系統層面或應用層面上走,不管是驅動(dòng)還是應用,那當然處理器性能越高越好了,但這個(gè)東西自學(xué),有十分大的困難,不是幾個(gè)月或半年或是一年二年能搞定的事。
在某種意義上請,
ARM7
與
9
的差別就是在某些功能指令集上豐富了些,主頻提高一些而已,就比如
286
和
386
。對于用戶(hù)來(lái)講可能覺(jué)查不到什么,只能是感覺(jué)速度有些快而已。
ARM7
比較適合于那些想從硬件層面上走的人,因為
ARM7
系列處理器內部帶
MMU
的很少,而且比較好控制,就比如
S3C44B0
來(lái)講,可以很容易將
Cache
關(guān)了,而且內部接口寄存器很容易看明白,各種接口對于用硬件程序控制或
AXD
單步命令行指令都可以控制起來(lái),基于
51
單片機的思想很容易能把他搞懂,就當成個(gè)
32
位的單片機,從而消除很多
51
工程師想轉為嵌入式系統硬件
ARM
開(kāi)發(fā)工程師的困惑,從而不會(huì )被業(yè)界某此不是真正懂嵌入式爛公司帶到操作系統層面上去,讓他們望而失畏,讓業(yè)界更加缺少這方面的人才。
而嵌入式系統不管硬件設計還是軟件驅動(dòng)方面都是十分注重接口這部分的,選擇平臺還要考察一個(gè)處理器的外部資源,你接觸外部資源越多,越熟悉他們那你以后就業(yè)成功的機率就越高,這就是招聘時(shí)所說(shuō)的有無(wú)
“
相關(guān)技能
”
,因為一個(gè)人不可能在短短幾年內把所有的處理器都接觸一遍,而招聘單位所用的處理器就可能是我們完全沒(méi)有見(jiàn)過(guò)的,就拿臺灣數十家小公司(市價(jià)幾千萬(wàn))的公司生產(chǎn)的
ARM
類(lèi)處理器,也很好用,但這些東西通用性太差,用這些處理器的公司就只能招有相關(guān)工作經(jīng)驗的人了,那什么是相關(guān)工作經(jīng)驗,在硬件上講的是外圍接口設計,在軟件上講是操作系統方面相關(guān)接口驅動(dòng)及應用開(kāi)發(fā)經(jīng)驗。我從業(yè)近十年,
2000
年
ARM
出現,我一天始做
ARM7,
然后直接跑到了
Xscale
(這個(gè)板本在
ARM10-11
之間),一做就是五年,招人面試都不下數百人,在這些方面還是深有體會(huì )的。
五、如何看待培訓。
因一線(xiàn)的科研人員和一線(xiàn)的教師不相接觸,導至國內嵌入式人才缺乏,國外高校的技術(shù)超前于業(yè)界公司,而國內情況是業(yè)界公司方面的嵌入式系統技術(shù)要遠遠領(lǐng)先于高校。為架構業(yè)界與高校溝通的橋梁,把先進(jìn)技能帶給高校學(xué)子,為學(xué)生在就業(yè)競爭中打造一張王牌,并為業(yè)界工程師快速提升實(shí)現自我創(chuàng )造機遇,我就這樣辭去了外企年薪
20
多萬(wàn)的職位,做嵌入式系統方面的培訓了。
對于培訓來(lái)講,是花錢(qián)來(lái)買(mǎi)時(shí)間,很多工程師都喜歡自己學(xué),認為培訓不值,這也是有可能的,純?yōu)橘嶅X(qián)的培訓當然不會(huì )太有價(jià)值,但對于實(shí)力型的培訓他們可能就虧大了,有這樣一筆帳不知他們算過(guò)沒(méi)有,如果一個(gè)一周的培訓,能帶給他們自學(xué)兩年后才能掌握的知識,在培訓完后他們用三個(gè)月到半年時(shí)間消化培訓內容,這樣他會(huì )省約至少一年半的時(shí)間來(lái)學(xué)其它的或重新站在另一個(gè)高度上工作,那么他將最遲一年后會(huì )拿到他兩年后水平所對應的工資,就是在工資與水平對應的關(guān)系上比同批人縮短一年,每月按最少
1
千計,再減去培訓費用至少多
1.0
萬(wàn),同時(shí)也省了一年時(shí)間,不管是休閑也好,再繼續提高也好,總之是跑到了隊伍的前面了。
另一層面上講,對于新人的培訓相當于他們?yōu)樽约禾崆百I(mǎi)了份失業(yè)保險,有師傅會(huì )帶領(lǐng)他們入道,我今年暑假時(shí)班里最年輕的一個(gè)學(xué)生是大二的,今年才上大三,這學(xué)期才剛學(xué)單片機,但現在
ARM
方面的編程工作已經(jīng)搞得有聲有色了,再過(guò)一年多畢業(yè),他還會(huì )失業(yè)嗎?
再者通過(guò)培訓,你可以知道很多業(yè)界不為常人所知的事,同時(shí)也為自己找了個(gè)師傅,就比如說(shuō),兩個(gè)工程師分別用
S3C2410
和
PXA255
來(lái)做手持設備,同樣兩人都工作四年,再出去找工作,兩人工資可能最多可相差一倍,為什么?這就是業(yè)界不為常人所知的規則,
2410
屬于民品,被業(yè)界用爛了,做產(chǎn)品時(shí)成本特敏感,當然也對人才成本敏感了,
PXA255
是
intel
的東西,一個(gè)
255 CPU
能買(mǎi)三個(gè)
2410
,一直被業(yè)界定義為貴族產(chǎn)品,用的公司都是大公司或為軍方服務(wù)的公司,不會(huì )在乎成本,只要把東西做好,一切都好說(shuō),但這方面做的人也少啊,因為開(kāi)發(fā)系統貴啊。
對于說(shuō)為自已找了個(gè)好師傅,我想是這樣的,因為同級工程師間存在著(zhù)某此潛在的競爭關(guān)系,有很多人不愿意把自己知道的東西教給別人,這意味著(zhù)他將要失業(yè),就是所說(shuō)的教會(huì )徒弟,餓死師傅,但對于我們這些人就不存在這樣的關(guān)系了,我是在嵌入式系統平臺設計上走到了一定程序,目前在國內這塊的技術(shù)上已經(jīng)是自己很難再突破自己,因此很多東西我對大家都是
OPEN
的,就比如說(shuō)下面那部分關(guān)于接口設計中所提到的時(shí)序接口東西,我要是不講,卻使是高級硬件工程師我想也幾乎只有
10%
的人能知道吧。
作者:
winter2010
時(shí)間:
2010-7-21 16:58
看看了、、、、、、、、、、、、、、、、、、、、、
作者:
inter122971
時(shí)間:
2010-7-24 10:40
受益了
作者:
gfd
時(shí)間:
2010-7-26 10:26
太強了
作者:
pei1314zhao
時(shí)間:
2010-9-5 16:56
開(kāi)始接觸,想學(xué)學(xué)
作者:
zx3113847
時(shí)間:
2010-9-8 17:59
想學(xué)學(xué) 接觸
作者:
Carlao
時(shí)間:
2010-9-13 22:12
說(shuō)的不錯,頂了。
作者:
547886405
時(shí)間:
2010-9-20 08:29
學(xué)習了 ~
作者:
nlyi2012
時(shí)間:
2010-10-29 16:46
謝謝,好資料
作者:
xiaoyue1800
時(shí)間:
2010-11-7 11:23
真是好東西 ,看了很受益!
作者:
flywindwyy
時(shí)間:
2010-11-10 09:37
作者:
51rf
時(shí)間:
2010-11-17 09:32
不錯!
作者:
51rf
時(shí)間:
2010-11-17 09:32
不錯!
作者:
沙漏年華
時(shí)間:
2010-11-17 21:55
好東西,我要了
作者:
ilovepinkfloyd
時(shí)間:
2010-11-30 21:06
謝謝分享資料!
作者:
yao1314520shi
時(shí)間:
2010-12-10 11:35
LOOK LOOK下
作者:
孤膽佛心
時(shí)間:
2011-1-24 23:06
收了
作者:
wave
時(shí)間:
2011-1-27 18:12
謝謝。
了解:從三個(gè)方面上來(lái)理解“嵌入”的概念
1、從硬件上,將基于CPU的處圍器件,整合到CPU芯片內部
2、從軟件上前,就是在定制操作系統內核里將應用一并選入
3、把軟件內核或應用文件系統等東西燒到嵌入式系統硬件平臺中的ROM中
作者:
VIPG_MCU
時(shí)間:
2011-2-12 12:51
看了很多 可還在原步
歡迎光臨 電子工程網(wǎng) (http://selenalain.com/)
Powered by Discuz! X3.4
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页