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