新聞中心

arm學習流程

作者: 時間:2016-11-19 來源:網(wǎng)絡 收藏
一:熟悉環(huán)境

首先仔細閱讀開發(fā)板使用手冊,依據(jù)手冊進行環(huán)境的搭建和實驗。 (所在目錄 光盤TQ2440_CDTQ2440開發(fā)板配套教材集TQ2440開發(fā)板使用手冊V2.5_20100611.pdf)

本文引用地址:http://butianyuan.cn/article/201611/318245.htm

開發(fā)板使用手冊里對板子的軟硬件進行了概要的介紹,對開發(fā)環(huán)境的搭建,操作系統(tǒng)影像的燒錄,應用程序的燒寫仿真等都做了詳細的描述。這些都是ARM初學者學習ARM開發(fā)的第一步,也是十分重要的一步。所以手冊一定要好好閱讀,只有對板子了解清楚了,對開發(fā)環(huán)境熟悉了以后的學習才能順利進行。

二、裸奔三部曲

不管是搞上層還是底層,對硬件的底層控制有一定的了解都是十分有必要的。如果準備往底層、 驅動方面發(fā)展,那更是應該深入研究裸奔的程序,因為驅動程序是直接跟硬件打交道的,驅動程序的主要代碼是實現(xiàn)硬件控制,然后跟操作系統(tǒng)有個接口就可以了。對于將來想往上層應用發(fā)展不想做驅動的用戶,對這部分可簡要的看一下,了解個大概,不要浪費太多的時間。

三、操作系統(tǒng)移植

對于這部分,也是建議大家簡單看下,不要過深的研究(實在有興趣的除外)。操作系統(tǒng)的移植一般只在開發(fā)的初級階段,當你到一個公司的時候,他們的嵌入式操作系統(tǒng)都是移植好的,不需要移植。你最有可能的是修改驅動,或做上層應用,所以嵌入式真正的要學的是驅動和應用程序的編寫。多下功夫在驅動或操作系統(tǒng)下的應用程序編寫,對將來的工作幫助會更大。

四、WINCE 還是 LINUX

很多用戶會問,到底選擇哪個,其實任何一個都可以的。關鍵是要學習深入和透徹。WINCE編程,類似VC很方便和快捷,但是不開源,其應用受到一定的限制。linux編程會麻煩一些,整天跟命令打交道。怎么選擇看自己的愛好了,VC學的得好的,可以選WICE會比較容易上手。linux 學習難度會大一些,并且總是和命令打交道有的人可能不習慣,但是應用會廣些??傊还苓x哪種,

只要認真的學習,學好了,都是前途一片光明的。

五、驅動還是上層應用

驅動靠近底層硬件,喜歡擺弄硬件,對硬件了解多的人建議選擇這個,有點枯燥,一天到晚做的工作就是,讀數(shù)據(jù),拷貝數(shù)據(jù),送給應用程序,怪無聊的,不過這方面的應用真的很多,想想吧現(xiàn)在那個公司做產(chǎn)品不是首先從底層開始的。上層應用有趣些,實現(xiàn)的都是“功能”,還能做出漂亮的界面,不過牽涉的知識也多,因為上層應用,需要好多方面才能工作,比如網(wǎng)絡,數(shù)據(jù)庫,圖像

處理,這種文件,那種文件,這協(xié)議,那格式的,有時候搞的頭都痛,是比驅動要復雜一些的。不過只要功夫深,鐵杵都能磨成針,滴水還能穿石呢,等你學了幾年以后,你再回過頭來看看,這些東西不算什么,不算什么...

六、正真的開始

這里要說的是很重要的一點。也是好多買板子的用戶的一個誤區(qū),就是以為建了環(huán)境,跑了裸奔,弄了幾下linux,看了兩個應用程序,學習就算結束了。其實大錯特錯了,這時候,學習才真正剛剛開始。

因為前邊你的工作其實都是在準備,熟悉板子,建立開發(fā)環(huán)境,熟悉開發(fā)環(huán)境等,等這些都弄好了之后,如果你就跑了幾個現(xiàn)成寫好的程序,一看沒問題就OK了,那其實你什么也沒有學到。因為正真有用的東西是,你針對一個應用用你所學的知識能找到一個合適的解決辦法,將來你工作的時候就是根據(jù)企業(yè)的需要來想辦法解決問題的,到那時候根本沒有現(xiàn)在寫好的代碼的。所以,學到這個階段是一定要自己動手,做一個真實的應用出來,把嵌入式開發(fā)的流程走一遍,從硬件的分析,相關資料的搜索,閱讀,程序的組織,調(diào)試,修改BUG等等,中間你會遇到很多很多的問題,當你把這些問題都一一解決,真正做好一個應用的時候,你的水平才算真正上了一個臺階。這個時候,你就算入門了,因為你會開發(fā)了。 但是你做應用會相當慢,因為中間遇到的很多問題你解決起來會很慢,沒有多少經(jīng)驗可以參考,好多知識還不懂或不清楚,這可能會導致你遇到的問題都是新問題,所以有時候解決一個問題都要好久。怎么辦呢?答案只有一個,繼續(xù)做應用,到你做了很多以后,好多東西都明白了,再弄起來就快多了,這時候你就是熟練了,升了一個級別。然后繼續(xù)做應用…..所以學習的路,很長,大家不要止步。這樣說也許大家會覺得很累,總是學習學到什么時候呢,其實不然,很有趣的,因為當你發(fā)現(xiàn)你由一個階段到另一個階段時候,你那種成就感,一下子覺得自己不再是菜鳥了,心里會充實的多,并且最重要的一點,拿的薪水由一個階段到另一個階段跳變的時候也是驚心動魄的,一下子就有可能翻番的 :) 。

你想如果你在學校時候就可以做個應用,那你直接就是上升了一個階段了,心里的底氣也足了,因為面視的人往往會問,我想讓做個什么什么應用,你覺得你能做嗎,如果你做過一個完整的應用,熟悉流程,你就會信心十足的回答他,你能。這樣找工作好找,并且你比別人占得了一個先機,等他們弄了一段時間到你的水平的時候,你就又升級了,感覺又要上一個臺階,薪水也要跟著…..

這里啰嗦的有點多,主要是想大家學習能深入進去,不要淺嘗輒止,只有這樣才能真正學到有用的東西,才能使這塊開發(fā)板買的有價值。

關于要做點什么應用,建議從簡單的開始,比如從控制個燈開始,控制蜂鳴器,控制一些串口應用的器件,比如溫度傳感器,紅外傳感器,AD芯片等,然后再到稍微復雜點的,步進電機,射頻讀卡器,然后再到更復雜的,無線網(wǎng)卡,GPS定位模塊等等。。??傊銜l(fā)現(xiàn),每做好一個東西,你自己就會覺得你的水平上升了一大截。

七、C語言到底有多重要

C語言到底有多重要呢,答案是非常非常的重要。這里我說一下我的親身經(jīng)歷大家就明白了,我做軟件工作這么多年的經(jīng)歷,只要有面視,幾乎每次都有C語言的試題給你做。為什么呢?這就是因為企業(yè)都知道對于做軟件的來說,C語言就是一個基礎,基礎不行,其他一切都是空談。就像一個人能干這個,能干那個,但是他路都走不穩(wěn),誰會愿意用他呢? 所以建議大家在學校的時候,把C語言的基礎一定學扎實。Linux的開發(fā)大多是C,或C++,WINCE類似VC ,對于這些C都是基礎,如果C學不好將來再弄這些,你會覺得舉步維艱。

八、總結:

好多用戶買了板子不知道從那兒下手,或是不知道學習是怎么一個流程,感到很迷忙,所以我才寫了這個文檔給大家。都是自己的一點拙見,中間也有可能有說的不對的地方,歡迎大家來批評指正,或是一起共同探討吧。



關鍵詞: arm學習流

評論


技術專區(qū)

關閉