一 首先說說arm的發(fā)展
可以用一片大好來形容,翻開各個公司的網站,招聘里面嵌入式占據了大半工程師職位。
廣義的嵌入式無非幾種:傳統(tǒng)的什么51、avr、pic稱做嵌入式微控制器;arm是嵌入式微處理器;dsp;fpga。
客觀的講,工作需求量上dsp的需求比arm要多,而arm和fpga差不多。
dsp因為數(shù)字處理與通信領域的空前發(fā)展而火暴,小到mp3 射象頭,大到我們軍品里的控制器,應用面很廣。
fpga的兄弟一般做ansic(特殊芯片設計,好象是這么翻譯的)。而arm單純說來并不比一個單片機強多少,但是它的獨特就在于不斷下降的價格和提升的性能。這完全依靠于arm公司的戰(zhàn)略,厲害??!很佩服他們的戰(zhàn)略眼光??!
值得注意的是:在找工作中,企業(yè)(著名的,小的不算)對單純的arm硬件開發(fā)工程師并不比單片機重視,很少有大企業(yè)的職位里寫“從事過arm開發(fā)優(yōu)先”。寫的多的是什么?“嵌入式linux”到這相信大家看出來了吧,需要的是硬件中的軟件。
二 arm是硬件還是軟件
很難說,arm是硬件,linux是軟件。arm的硬件多半已經模塊化了,像我這樣把板子改成這樣的就算動的多的了,這同樣是arm公司的戰(zhàn)略,再次佩服。
實際中的linux的開發(fā)工作更多,更耗時。從這方面說arm應該算是軟件了。
在找工作中更是這樣,舉個例子,聯(lián)想里和arm最接近的是“bios工程師”是軟件,moto里接近的是嵌入式linux工程師是軟件。而其他很多公司把嵌入式產品開發(fā)歸為硬件。所以,不要討論這個,好好玩轉自己的板子才是關鍵。實在不爽你就把自己叫“嵌入式開發(fā)工程師”
三 要不要買開發(fā)板 買哪家
我的答案是“在你個人的學習方法”,但是如果看家是需要看這騙筆記的水平,個人推薦還是買現(xiàn)成的。
1 買
買板子可以把注意力集中在軟件開發(fā)上,軟件開發(fā)(尤其是驅動)可以不必擔心自己硬件上的問題,我就是以便調試一邊寫驅動和程序,每次寫驅動前就要先確認硬件沒問題。另外,買板子更省錢和時間,我自己做的板子,原理圖pcb花了2周以上!制版又15天,回來以后焊接44b0 160個腳!那叫一個麻煩~~花了多少錢呢?2層板,制版費就300塊!當然 我把接口都外引了,還做了個20x18的lcd背板,板子比較大。總體下來 元件+lcd屏+pcb=11xx塊!夠2410的了。
再有就是買的資料相對來說比較全,但是不要指望有技術支持!都是騙人的,賣你之后就不會理你。
2 做
自己做可以更了解底層硬件,可以按照自己的要求加東西,比如我就加了gps模塊、 gprs模塊 、sd卡模塊,擴了個iic的35個鍵子的鍵盤、把lcd接口按照買的lcd改裝了,可以用fpc線直接連接。做的很爽的。玩一把嗎。
當然,你可以有策略的做,比如像我一樣,把ram和rom,網絡都保持和某現(xiàn)成的板子一樣,這樣他們的資料你就可以拿過來直接用,給自己留個退路。其他的如sd了 什么的自己做。都達到了~~就是費錢,費時間。
再有就是給做的朋友幾點建議:盡量拿到現(xiàn)成的板子,盡量多搜集其他板子的全套資料,一定要拿到一張沒問題的原理圖。
網上流傳的原理圖多數(shù)是龔俊03年畫的,再這里對龔俊表達一下我的敬意!!牛人!
但是那個圖有個小bug,我指的是03版的,后來的沒這問題了。 8019那地址線和地址有問題。還有人仿照他的pdf圖畫的sch,更是漏洞百出!譴責!順便譴責把龔俊板子偷賣的人。
3 買哪家
個人感覺分3類吧
1)首先是zlg的,資料非常的全,感覺他是真正想教你怎么開發(fā)arm,而不是像有的公司自己技術都沒做好就做個板子出來賣錢。但是最大的不利就是價格太貴!而且主要是philip的,貨源比較麻煩~~可能有人說21xx系列的不貴啊,那是總線不外擴的,只能跑ucos,不能跑uclinux。但是說是話,21xx系列才是arm7的價格性能結合點。arm7最適合做工業(yè)控制,arm普及,銷量都是怎么來的?都是arm7來的,而44b0是典型的商業(yè)片子。但是,這里如果你看中的是為工作做準備,還是選能跑uclinux的吧。
但是仍然作為第一個推薦,因為菜鳥時期,合適的資料太重要了?。≡谶@里被zlg的務實精神感動!你看人家那代碼寫的。
2)感覺立宇泰的44b0不錯
硬件沒別的,就是資料比較全的說,不像有些家,原理圖直接拿人家的,還錯的~~
3)找個最便宜的
好象最便宜的有賣350的吧?也是沒別的,就是即省了錢 還省時間搜集資料,至于資料全不全,別計較了~~硬件肯定好使就行吧。
四 要不要有51 avr等單片機基礎
有更好,但沒有也無所謂。
兩個月以前,我只是看別人做,耳濡目染~~,本科學過單片機,從來沒做過。我們這的技術主干做avr和51,我就跟他們調過c語言程序。你看出來了?我是個不折不扣的菜鳥吧?
但是做這個之前我特意找了zlg的兩本書,看了里面的例子和原理圖,這很重要。例程里有匯編有c,都看懂了就ok,不用自己現(xiàn)寫
五 開發(fā)都需要學習哪些軟件
總結起來最主要的有以下幾個吧
1 ads調試用
確切的說是ads+axd。ads里包含 axd。原來都用sdt后來arm公司停止對sdt支持了,改支持ads了,還是用ads吧。
有的人的程序發(fā)布的仍然是sdt版本的,但基本都可以找到相應ads的,新人在這里不要發(fā)蒙。ads是編譯器,axd是調試器。便宜成axf以后再在arm的ram里調試。
2 plashpgm
flash 燒寫的軟件。axd在ram里調試,掉電就沒有了,方便程序修改。調試好的程序再下到flash里,上電直接運行。
同類的軟件還有很多,什么 fluted了、flshp了都是,但flashpgm最好,要是有人還問flash不支持bin格式文件的問題就要看我寫的plashpgm使用了。
3 banyant調試代理(不知道名對不,起這么個難記的,我一般都叫它“半羊”因為知道它那幾天剛吃了烤羊)
調試代理就是用它幫你使用更簡單的 jtag(便宜?。﹣韺崿F(xiàn)原本1k才賣的jtag仿真器的大部分功能。jtag調試原理看我另一篇筆記。簡單的就可以把他理解為你自己做的jtag的驅動就行了。
調試代理還有很多種,什么h-jtag了、arm7了(不知道具體叫什么,就記得可執(zhí)行文件叫arm7.exe)都是,banyant比較好。
需要注意的是,沒種調試代理安裝方法雖然都簡單 但都不一樣,需要看說明。而且axd調試之前都要運行。省錢了,就別怕麻煩了。