嵌入式現在可以說是發展最快的行業之一了,據調查,有70%的企業公司都在急招嵌入式人才,嵌入式人才很缺,但是需求量還是很大的,很多人都抓住這個機遇,投身到嵌入式的行業中,在學習arm嵌入式開發的時候會覺得很困難,不知道如何去入手學習,今天我這個老鳥就來談談如何輕松學習arm嵌入式開發。
嵌入式,通俗的說,就是一臺軟、硬件被裁剪過的,只專注于某一應用的電腦。我們生活中嵌入式設備還是很常見的,就像智能手機,智能家居,手表等等都是應用了嵌入式,那么arm嵌入式開發應該如何學呢?
首先你要會做系統,做個最小系統板:如果你從沒有做過ARM嵌入式開發,建議你一開始不要貪大求全,把所有的應用都做好,因為ARM的啟動方式和dsp或單片機有所不同,往往會遇到各種問題,所以建議先布一個僅有Flash,SRAM或SDRAM、CPU、JTAG、和復位信號的小系統板,留出擴展接口。使最小系統能夠正常運行,你的任務就完成了一半,好在ARM的外圍接口基本都是標準接口,如果你已有這些硬件的布線經驗,這對你來講是一件很容易的事情。
2. 寫啟動代碼,根據硬件地址先寫一個能夠啟動的小代碼,包括以下部分:
初始化端口,屏蔽中斷,把程序拷貝到SRAM中;完成代碼的重映射;配置中斷句柄,連接到C語言入口。也許你看到給你的一些示例程序當中,bootloader會有很多東西,但是不要被這些復雜的程序所困擾,因為你不是做開發板的,你的任務就是做段小程序,讓你的應用程序能夠運行下去
3. 多看一些操作系統程序,在ARM嵌入式開發的應用開放源代碼的程序很多,要想提高自己,就要多看別人的程序,linux,uc/os-II等等這些都是很好的原碼。
4. arm嵌入式你需要用到的芯片需要你好好研究,盡管ARM在內核上兼容,但每家芯片都有自己的特色,編寫程序時必須考慮這些問題。而且切記不要拿別人的示例程序來修改,那樣的話就會越來越亂了。
5. 如果你是作硬件,每個廠家基本上都有針對該芯片的DEMO板原理圖。先將原理圖消化。這樣你以后做設計時,對資源的分配心中有數。器件的DATSHEET一定要好好消化。
6.如果做軟件最好對操作系統的機理要有所了解。當然這對軟件工程師來說是小菜一碟。但如果是硬件出身的想做ARM嵌入式開發的人就有點費勁。
有很多人會很糾結,對于系統班到底是2層號還是4層好?在這里我告訴你,一般是4層比較好,選用四層板不僅是電源和地的問題,高速數字電路對走線的阻抗有要求,二層板不好控制阻抗,四層的話他的傳輸線有其特征阻抗,學過傳輸線理論的都知道,當傳輸線上某處出現阻抗突變(不匹配)時,信號通過就會發生反射,反射對原信號造成干擾,嚴重時就會影響電路的正常工作。采用四層板時,通常外層走信號線,中間兩層分別為電源和地平面,這樣一方面隔離了兩個信號層,更重要的是外層的走線與它們所靠近的平面形成稱為“微帶”(microstrip)的傳輸線,它的阻抗比較固定,而且可以計算。那對于兩層板就比較難以做到這樣,所以建議你選擇四層比較好。
以上總結下來就是這四個思路:寫啟動代碼,了解操作系統程序,硬件,最小系統板從這幾個方面來學習arm嵌入式,那樣就不會學的迷茫了,學習這個,切記要理論與實踐相結合。