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