當前位置:編程學習大全網 - 源碼下載 - 如何才能快速的學習ARM單片機。我有51的基礎

如何才能快速的學習ARM單片機。我有51的基礎

壹、先有目標,再去定位。

學 ARM,從硬件上講,壹方面就是學習接口電路設計,另壹方面就是學習匯編和C語言的板級編程。如果從軟件上講,就是要學習基於ARM處理器的操作系統層面 的驅動、移植了。這些對於初學都來說必須明確,要麽從硬件著手開始學,要麽從操作系統的熟悉到應用開始學,但不管學什麽,只要不是純的操作系統級以上基於 API的應用層的編程,硬件的寄存器類的東西還是要能看懂的,基於板級的匯編和C編程還是要會的。因此針對於嵌入式系統的硬件層和驅動程的人,ARM的接 口電路設計、ARM的C語言和匯編語言編程及調試開發環境還是需要掌握的。

因此對於初學者必然要把握住方向,自己的目標是什麽,自己要在那壹層面上走。然後再著手學習較好,與ARM相關的嵌入式系統的較為實際的兩個層面硬件層和驅動層,不管學好了那壹層都會很有前途的。

如果想從嵌入式系統的應用層面的走的話,可能與ARM及其它體系相去較遠,要著重研究基嵌入式操作系統的環境應用與相應開發工具鏈,比如WinCe操作系統下的EVC應用開發(與windows下的VC相類似),如果想再有突破就往某些音視頻類的協議上靠,比如VOIP領域的基於SIP或H.323協議的應用層開發,或是基於嵌入式網絡數據庫的開發等等。

二、嵌入式系統的分層與專業的分類。

嵌入式系統分為4層,硬件層、驅動層、操作系統層和應用層。

1、硬件層,是整個嵌入式系統的根本,如果現在單片機及接口這塊很熟悉,並且能用C和匯編語言來編程的話,從嵌入式系統的硬件層走起來相對容易,硬件層也是驅動層的基礎,壹個優秀的驅動工程師是要能夠看懂硬件的電路圖和自行完成CPLD的邏輯設計的,同時還要對操作系統內核及其調度性相當的熟悉的。但硬件平臺是基礎,增值還要靠軟件。 硬件層比較適合於,電子、通信、自動化、機電壹體、信息工程類專業的人來搞,需要掌握的專業基礎知識有,單片機原理及接口技術、微機原理及接口技術、C語言。

2、 驅動層,這部分比較難,驅動工程師不僅要能看懂電路圖還要能對操作系統內核十分的精通,以便其所寫的驅動程序在系統調用時,不會獨占操作系統時間片,而導 至其它任務不能動行,不懂操作系統內核架構和實時調度性,沒有良好的驅動編寫風格,按大多數書上所說添加的驅動的方式,很多人都能做到,但可能連個初級的 驅動工程師的水平都達不到,這樣所寫的驅動在應用調用時就如同windows下打開壹個程序運行後,再打開壹個程序時,要不就是中斷以前的程序,要不 就是等上壹會才能運行後來打開的程序。想做個好的驅動人員沒有三、四年功底,操作系統內核不研究上幾編,不是太容易成功的,但其工資在嵌入式系統四層中可 是最高的。

驅動層比較適合於電子、通信、自動化、機電壹體、信息工程類專業尤其是計算機偏體系結構類專業的人來搞,除硬件層所具備的基礎學科外,還要對數據結構與算法、操作系統原理、編譯原理都要十分精通了解。

3、操作系統層,對於操作系統層目前可能只能說是簡單的移植,而很少有人來自已寫操作系統,或者寫出缺胳膊少腿的操作系統來,這部分工作大都由驅動工程師來完成。操作系統是負責系統任務的調試、磁盤和文件的管理,而嵌入式系統的實時性十分重要。據說,XP操作系統是微軟投入300人用兩年時間才搞定的,總時工時是600人年,中科院軟件所自己的女媧Hopen操作系統估計也得花遇幾百人年才能搞定。因此這部分工作相對來講沒有太大意義。

4、應用層,相對來講較為容易的,如果會在windows下如何進行編程接口函數調用,到操作系統下只是編譯和開發環 境有相應的變化而已。如果涉及Jave方面的編程也是如此的。嵌入式系統中涉及算法的由專業算法的人來處理的,不必歸結到嵌入式系統範疇內。但如果涉及嵌 入式系統下面嵌入式數據庫、基於嵌入式系統的網絡編程和基於某此應用層面的協議應用開發(比如基於SIP、H.323、Astrisk)方面又較為復雜, 並且有難度了。

  • 上一篇:黑科技頂級奢華電視
  • 下一篇:大屏折疊電視,妳見過嗎?
  • copyright 2024編程學習大全網