對于ARM嵌入式初學(xué)者而言,心中一定充滿著疑慮和困惑,很多問題也期待著找到答案。比如:
1、嵌入式要學(xué)什么?嵌入式到底有多難學(xué)?
2、學(xué)ARM需要什么基礎(chǔ),學(xué)ARM要發(fā)多長時間?3、學(xué)ARM7還是ARM9,直接學(xué)ARM9怎么樣?
4、如何學(xué)ARM,怎么學(xué)ARM才輕松?
在此,我針對這些問題提提自己的看法,以期對初學(xué)者有所幫助,能在學(xué)習(xí)的道路上少走些彎路。
一
百花齊放的嵌入式,需要你量力取舍。
嵌入式前景廣闊,就業(yè)渠道多,無疑是當(dāng)前最有發(fā)展前途的行業(yè)。
特別是隨著消費電子的智能化,3G的快速發(fā)展等等,嵌入式更顯重要。如果你想從事該領(lǐng)域,或者成為該領(lǐng)域的工程師,你就會發(fā)現(xiàn)要掌握的東西實在太多。
萬事開頭難,想進(jìn)入該領(lǐng)域你得找個合適的切入點。面對百花齊放的嵌入式,切入點有很多,我建議你量力而行。
嵌入式大體上可以劃分為:硬件和軟件兩部分。想從事嵌入式硬件的,推薦你從ARM7開始;想從事嵌入式軟件的,推薦你從uCOS-II嵌入式操作系統(tǒng)開始。
面對“ARM7+uCOS-II”方案,可能有些人會問“ARM9+Linux”方案是否也適合初學(xué)者,針對這個問題,我談?wù)勛约旱目捶ǎ?/p>
1、ARM7比起ARM9,更適合初學(xué)者學(xué)習(xí)。和ARM7相比,應(yīng)該說ARM9在性能方面有很大提高,但ARM9更適合作為產(chǎn)品開發(fā)平臺,并不適合初學(xué)者用于學(xué)習(xí)。主要原因如下:從硬件設(shè)計方面,ARM7主頻在100MHz以內(nèi),學(xué)生完全可以掌握其設(shè)計技術(shù),而ARM9在200-600MHz左右,屬高速設(shè)計,至少有3年以上經(jīng)驗的硬件工程師才可能進(jìn)行設(shè)計,一般學(xué)生很難掌握。
從軟件設(shè)計方面,在教學(xué)中采用源碼開發(fā)的操作系統(tǒng)已成為共識,ARM7資源緊湊,適合運行ucos和ucLinux等源碼開放的操作系統(tǒng),在教學(xué)中能夠充分體現(xiàn)嵌入式系統(tǒng)對資源、成本、可靠性有嚴(yán)格需要的特點;而ARM9是系統(tǒng)集成度更高的SOC,適合跑WinCE、Linux等高級操作系統(tǒng),用于教學(xué)是“大馬拉小車”,這樣造成學(xué)生在設(shè)計時往往不會關(guān)注資源、成本、可靠性的限制,就如同用一臺PC進(jìn)行教學(xué)一樣,無法體現(xiàn)嵌入式教學(xué)的特點。
從應(yīng)用方面,而ARM7芯片價格比ARM9低得多,而且ARM7芯片是目前嵌入式產(chǎn)品市場的主流,很多手機(jī)、小靈通等產(chǎn)品都是基于ARM7的,占到市場份額的90%以上;采用ARM7就如同目前單片機(jī)開發(fā)與教學(xué)絕大多數(shù)采用51體系一樣,ARM7就是32位微處理器領(lǐng)域的51,有著持久的生命力。
2、ucos比起Linux,更適合初學(xué)者學(xué)習(xí)。 ucos內(nèi)核精簡,代碼不長,且相關(guān)書籍和學(xué)習(xí)資源相當(dāng)豐富,非常適合初學(xué)者學(xué)習(xí)。學(xué)習(xí)ucos可以很快地熟悉嵌入式操作系統(tǒng)的核心內(nèi)容,比如:內(nèi)核是如何工作的,任務(wù)如何創(chuàng)建,任務(wù)間如何通信,內(nèi)存如何管理等內(nèi)容。
經(jīng)過一段時間的學(xué)習(xí),可以真正理解嵌入式操作系統(tǒng),對后期的學(xué)習(xí)和使用很有幫助。 Linux代碼龐大,且操作復(fù)雜,不利于初學(xué)者學(xué)習(xí)。學(xué)習(xí)Linux是一項長期且復(fù)雜的工作,要掌握的東西很多,比如:Linux常用命令、Linux操作系統(tǒng)知識、Linux下的編程與交叉編譯技術(shù)、Linux的驅(qū)動程序編寫 等等。上面的每個知識點花一門課去講授都不為過,把這么多內(nèi)容都放在一起去理解,很難保證學(xué)習(xí)質(zhì)量。
總之,觀察了很多采用“ARM9+Linux”方案進(jìn)行學(xué)習(xí)的學(xué)者,都經(jīng)歷了一段漫長而又痛苦的過程。對于初學(xué)者而言,采用這種方案的話,基本上是“不識廬山真面目,只緣身在此山中”。
二
平地起高樓,基礎(chǔ)要打牢。很多學(xué)者有這樣的心理:“要學(xué)我就要學(xué)最新最好的,要學(xué)就要學(xué)那種一學(xué)即能用的知識”,這種急功近利的想法是不對。
切記萬事萬物的發(fā)展都有其客觀規(guī)律,違背其規(guī)律就是在揠苗助長,最終達(dá)不到你的預(yù)期效果。學(xué)習(xí)新事物也是一樣,有其客觀規(guī)律,比如:先易后難的啟動規(guī)律、階段性進(jìn)步的螺旋式規(guī)律。
掌握這些規(guī)律后,你就知道,學(xué)習(xí)是需要由易到難,分階段進(jìn)行的。我認(rèn)識很多朋友,一開始涉及嵌入式就在那倒騰著ARM9和Linux??筛冻龅呐Σ⑽词盏搅己玫男Ч?,甚至一些最基本的知識都沒有掌握。這種學(xué)習(xí)不但很辛苦,反而大大打擊了他的學(xué)習(xí)積極性。
所以,我給各位的建議是:平地起高樓,基礎(chǔ)要打牢!根深方能蒂固!
三
在應(yīng)用中學(xué)習(xí),在應(yīng)用中提高。一個對嵌入式普遍認(rèn)同的定義是:嵌入式是以應(yīng)用為中心,以計算機(jī)技術(shù)為基礎(chǔ),軟件和硬件可裁剪,以適應(yīng)應(yīng)用系統(tǒng)對功能、可靠性、成本、速度、體積、功耗嚴(yán)格要求的專用計算機(jī)系統(tǒng)。
從定義中可以看出,嵌入式是以應(yīng)用為中心的,在具體應(yīng)用的前提下有針對性的進(jìn)行軟硬件裁剪,從而達(dá)到某些技術(shù)指標(biāo)的嚴(yán)格要求。所以說,嵌入式是一門較高層次的應(yīng)用科學(xué)。需要我們在應(yīng)用中學(xué)習(xí)。
歐美的教育非常重視知識的應(yīng)用。理論教學(xué)與實踐教學(xué)緊密結(jié)合是德國職業(yè)教育“雙元制”教學(xué)非常突出的特點。德國的職業(yè)學(xué)校不僅實驗實習(xí)設(shè)備先進(jìn)、實習(xí)工位充足,而且教師的實踐動手能力強(qiáng)。他們在教學(xué)上特別重視從應(yīng)用的角度來幫助學(xué)生掌握知識,培養(yǎng)學(xué)生的能力。
我們的教育是平面的、單一的,歐美的教育是動態(tài)的,多元的。他們教育首先是平面、靜態(tài)的,然后再到立體、動態(tài)的,最后到實物觀察討論,這種多元的教學(xué)方式,能讓學(xué)生把理論與實踐緊密結(jié)合起來。
在應(yīng)用中學(xué)習(xí),在應(yīng)用中提高,非常重要! 本人是從單片機(jī)轉(zhuǎn)行過來的,我學(xué)了半年的ARM9+Linux。到頭來什么都不會(也許是個人能力問題),后來在老師的建議下?lián)Q成ARM7+ucos II才有起色,現(xiàn)在我的基礎(chǔ)已經(jīng)牢固,正在向高端進(jìn)軍。
-
ARM
+關(guān)注
關(guān)注
134文章
9342瀏覽量
376413 -
嵌入式
+關(guān)注
關(guān)注
5147文章
19613瀏覽量
316455
原文標(biāo)題:困擾ARM嵌入式初學(xué)者的若干問題
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
給ARM初學(xué)者的學(xué)習(xí)建議
給嵌入式linux初學(xué)者的建議
Linux嵌入式系統(tǒng)初學(xué)者的常見問題解決方法大全
嵌入式初學(xué)者怎么選擇合適的開發(fā)系統(tǒng)
初學(xué)者到底學(xué)習(xí)那個系列單片機(jī)?
初學(xué)者學(xué)習(xí)嵌入式開發(fā)如何入門的根源就在這
ARM與嵌入式linux入門的建議(初學(xué)者必看)

FPGA初學(xué)者必讀文檔

初學(xué)者注意!嵌入式開發(fā)就業(yè)方向解答

評論