|
51是一個(gè)基礎(chǔ),而且還很重要,這是再我看了ARM之后感覺(jué)到的。它可以加速你的ARM學(xué)習(xí)速度,真得!不相信你試一試好了。
一 首先說(shuō)說(shuō)ARM的發(fā)展
可以用一片大好來(lái)形容,翻開(kāi)各個(gè)公司的網(wǎng)站,招聘里面嵌入式占據(jù)了大半工程師職位。
廣義的嵌入式無(wú)非幾種:傳統(tǒng)的什么51、AVR、PIC稱(chēng)做嵌入式微控制器;ARM是嵌入式微處理器;DSP;FPGA。
客觀(guān)的講,工作需求量上DSP的需求比ARM要多,而ARM和FPGA差不多。
DSP因?yàn)閿?shù)字處理與通信領(lǐng)域的空前發(fā)展而火暴,小到MP3 攝像頭,大到我們軍品里的控制器,應(yīng)用面很廣。
FPGA的兄弟一般做ANSIC(非凡芯片設(shè)計(jì),好象是這么翻譯的)。而ARM單純說(shuō)來(lái)并不比一個(gè)單片機(jī)強(qiáng)多少,但是它的獨(dú)特就在于不斷下降的價(jià)格和提升的性能。這完全依靠于ARM公司的戰(zhàn)略,厲害,字串4
值得注重的是:在找工作中,企業(yè)(聞名的,小的不算)對(duì)單純的ARM硬件開(kāi)發(fā)工程師并不比單片機(jī)重視,很少有大企業(yè)的職位里寫(xiě)“從事過(guò)ARM開(kāi)發(fā)優(yōu)先”。寫(xiě)的多的是什么?“嵌入式LINUX”到這相信大家看出來(lái)了吧,需要的是硬件中的軟件。
二 ARM是硬件還是軟件
很難說(shuō),ARM是硬件,LINUX是軟件。ARM的硬件多半已經(jīng)模塊化了,像我這樣把板子改成這樣的就算動(dòng)的多的了,這同樣是ARM公司的戰(zhàn)略,再次佩服。
實(shí)際中的LINUX的開(kāi)發(fā)工作更多,更耗時(shí)。從這方面說(shuō)ARM應(yīng)該算是軟件了。
在找工作中更是這樣,舉個(gè)例子,聯(lián)想里和ARM最接近的是“BIOS工程師”是軟件,MOTO里接近的是嵌入式LINUX工程師是軟件。而其他很多公司把嵌入式產(chǎn)品開(kāi)發(fā)歸為硬件。所以,不要討論這個(gè),好好玩轉(zhuǎn)自己的板子才是要害。實(shí)在不爽你就把自己叫“嵌入式開(kāi)發(fā)工程師”
三 要不要買(mǎi)開(kāi)發(fā)板 買(mǎi)哪家
我的答案是“在你個(gè)人的學(xué)習(xí)方法”,但是假如看家是需要看這騙筆記的水平,個(gè)人推薦還是買(mǎi)現(xiàn)成的。
1 買(mǎi)
買(mǎi)板子可以把注重力集中在軟件開(kāi)發(fā)上,軟件開(kāi)發(fā)(尤其是驅(qū)動(dòng))可以不必?fù)?dān)心自己硬件上的問(wèn)題,我就是以便調(diào)試一邊寫(xiě)驅(qū)動(dòng)和程序,每次寫(xiě)驅(qū)動(dòng)前就要先確認(rèn)硬件沒(méi)問(wèn)題。另外,買(mǎi)板子更省錢(qián)和時(shí)間,我自己做的板子,原理圖PCB花了2周以上!制版又15天,回來(lái)以后焊接44B0 160個(gè)腳!那叫一個(gè)麻煩~~花了多少錢(qián)呢?2層板,制版費(fèi)就300塊!當(dāng)然 我把接口都外引了,還做了個(gè)20X18的LCD背板,板子比較大。總體下來(lái) 元件 LCD屏 PCB=11XX塊!夠2410的了。
ARM
再有就是買(mǎi)的資料相對(duì)來(lái)說(shuō)比較全,但是不要指望有技術(shù)支持!都是騙人的,賣(mài)你之后就不會(huì)理你。
2 做
自己做可以更了解底層硬件,可以按照自己的要求加?xùn)|西,比如我就加了GPS模塊、 GPRS模塊 、SD卡模塊,擴(kuò)了個(gè)IIC的35個(gè)鍵子的鍵盤(pán)、把LCD接口按照買(mǎi)的LCD改裝了,可以用FPC線(xiàn)直接連接。做的很爽的。玩一把嗎。
當(dāng)然,你可以有策略的做,比如像我一樣,把RAM和ROM,網(wǎng)絡(luò)都保持和某現(xiàn)成的板子一樣,這樣他們的資料你就可以拿過(guò)來(lái)直接用,給自己留個(gè)退路。其他的如SD了 什么的自己做。都達(dá)到了~~就是費(fèi)錢(qián),費(fèi)時(shí)間。
再有就是給做的朋友幾點(diǎn)建議:盡量拿到現(xiàn)成的板子,盡量多搜集其他板子的全套資料,一定要拿到一張沒(méi)問(wèn)題的原理圖。
網(wǎng)上流傳的原理圖多數(shù)是龔俊03年畫(huà)的,再這里對(duì)龔俊表達(dá)一下我的敬意!牛人!
但是那個(gè)圖有個(gè)小BUG,我指的是03版的,后來(lái)的沒(méi)這問(wèn)題了。8019那地址線(xiàn)和地址有問(wèn)題。還有人仿照他的PDF圖畫(huà)的SCH,更是漏洞百出!譴責(zé)!順便譴責(zé)把龔俊板子偷賣(mài)的人。
3 買(mǎi)哪家
個(gè)人感覺(jué)分3類(lèi)吧
1)首先是ZLG的,資料非常的全,感覺(jué)他是真正想教你怎么開(kāi)發(fā)ARM,而不是像有的公司自己技術(shù)都沒(méi)做好就做個(gè)板子出來(lái)賣(mài)錢(qián)。但是最大的不利就是價(jià)格太貴!而且主要是PHILIP的,貨源比較麻煩~~可能有人說(shuō)21XX系列的不貴啊,那是總線(xiàn)不外擴(kuò)的,只能跑UCOS,不能跑UCLINUX。但是說(shuō)是話(huà),21XX系列才是ARM7的價(jià)格性能結(jié)合點(diǎn)。ARM7最適合做工業(yè)控制,ARM普及,銷(xiāo)量都是怎么來(lái)的?都是ARM7來(lái)的,而44B0是典型的商業(yè)片子。但是,這里假如你看中的是為工作做預(yù)備,還是選能跑UCLINUX的吧。
字串5
但是仍然作為第一個(gè)推薦,因?yàn)椴锁B(niǎo)時(shí)期,合適的資料太重要了!!在這里被ZLG的務(wù)實(shí)精神感動(dòng)!你看人家那代碼寫(xiě)的。
2)感覺(jué)立宇泰的44B0不錯(cuò)
硬件沒(méi)別的,就是資料比較全的說(shuō),不像有些家,原理圖直接拿人家的,還錯(cuò)的~~
3)找個(gè)最便宜的
好象最便宜的有賣(mài)350的吧?也是沒(méi)別的,就是即省了錢(qián) 還省時(shí)間搜集資料,至于資料全不全,別計(jì)較了~~硬件肯定好使就行吧。
四 要不要有51 AVR等單片機(jī)基礎(chǔ)
有更好,但沒(méi)有也無(wú)所謂。
兩個(gè)月以前,我只是看別人做,耳濡目染~~,本科學(xué)過(guò)單片機(jī),從來(lái)沒(méi)做過(guò)。我們這的技術(shù)主干做AVR和51,我就跟他們調(diào)過(guò)C語(yǔ)言程序。你看出來(lái)了?我是個(gè)不折不扣的菜鳥(niǎo)吧?
但是做這個(gè)之前我特意找了ZLG的兩本書(shū),看了里面的例子和原理圖,這很重要。例程里有匯編有C,都看懂了就OK,不用自己現(xiàn)寫(xiě) 五 開(kāi)發(fā)都需要學(xué)習(xí)哪些軟件
總結(jié)起來(lái)最主要的有以下幾個(gè)吧
1 ADS調(diào)試用
確切的說(shuō)是ADS AXD。ADS里包含AXD。原來(lái)都用SDT后來(lái)ARM公司停止對(duì)SDT支持了,改支持ADS了,還是用ADS吧。
有的人的程序發(fā)布的仍然是SDT版本的,但基本都可以找到相應(yīng)ADS的,新人在這里不要發(fā)蒙。ADS是編譯器,AXD是調(diào)試器。便宜成AXF以后再在ARM的RAM里調(diào)試。
ARM
2 PLASHPGM
FLASH燒寫(xiě)的軟件。AXD在RAM里調(diào)試,掉電就沒(méi)有了,方便程序修改。調(diào)試好的程序再下到FLASH里,上電直接運(yùn)行。
同類(lèi)的軟件還有很多,什么FLUTED了、FLSHP了都是,但FLASHPGM最好,要是有人還問(wèn)FLASH不支持BIN格式文件的問(wèn)題就要看我寫(xiě)的PLASHPGM使用了。
3 BANYANT調(diào)試(不知道名對(duì)不,起這么個(gè)難記的,我一般都叫它“半羊”因?yàn)橹浪菐滋靹偝粤丝狙颍?br />
調(diào)試就是用它幫你使用更簡(jiǎn)單的JTAG(便宜啊)來(lái)實(shí)現(xiàn)原本1K才賣(mài)的JTAG仿真器的大部分功能。JTAG調(diào)試原理看我另一篇筆記。簡(jiǎn)單的就可以把他理解為你自己做的JTAG的驅(qū)動(dòng)就行了。
調(diào)試還有很多種,什么H-JTAG了、ARM7了(不知道具體叫什么,就記得可執(zhí)行文件叫ARM7.EXE)都是,BANYANT比較好。
需要注重的是,沒(méi)種調(diào)試安裝方法雖然都簡(jiǎn)單 但都不一樣,需要看說(shuō)明。而且AXD調(diào)試之前都要運(yùn)行。省錢(qián)了,就別怕麻煩了。
4 ARM-ELF-TOOLS工具鏈
里面是UCLINUX開(kāi)發(fā)用的工具比如ARM-ELF-GCC只類(lèi)的。工具鏈就是把很多工具打包在一起發(fā)布的方便你開(kāi)發(fā)的東西。具體安裝方法看我另一篇筆記。
另外假如你開(kāi)發(fā)LINUX就要用ARM-LINUX-TOOLS,不一樣,不通用。
ARM
5 U-BOOT
大名鼎鼎的BOOTLOADER生成工具,同類(lèi)的好象還有VIVI(名字很曖昧~~)
生成的BOOTLOADER燒到FLASH里,然后就可以用BOOTLOADER下載 燒寫(xiě)其他了
有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像電腦上的BIOS。當(dāng)然UCOS的不用這個(gè),用什么我不知道:)
最新版本是1.1.4 具體使用方法看我另一篇筆記吧。
6 UCLINUX包
UCLINUX的源碼包,不用多說(shuō)了吧?建議大家用現(xiàn)成的先體會(huì)一下,然后再自己編譯,裁剪。因?yàn)閱为?dú)UCLINUX的編輯技術(shù)上比較簡(jiǎn)單,但涉及的方面還是比較廣的。
7 VMWARE
老牌的虛擬機(jī)軟件,在一個(gè)機(jī)器上虛擬出一個(gè)機(jī)器裝LINUX(PC上用的),省得你往返開(kāi)關(guān)機(jī)了。記得裝VMWARE-TOOLS,安裝方法在我另一篇筆記里。
六 有哪些書(shū)推薦
主要推薦ZLG的三本書(shū),有這3本再加網(wǎng)絡(luò)就不用別的書(shū)了,其中主要推薦前2本,3是介紹體系結(jié)構(gòu)的,也不錯(cuò)
1 ARM嵌入式LINUX系統(tǒng)構(gòu)建與驅(qū)動(dòng)開(kāi)發(fā),北航版
驅(qū)動(dòng)寫(xiě)的很具體,前期開(kāi)發(fā)介紹也很好
2 ARM 嵌入式系統(tǒng)實(shí)驗(yàn)教程(二),北航版
有ZLG2200的原理圖,實(shí)驗(yàn)程序和注釋?zhuān)私馊思沂窃趺撮_(kāi)發(fā)的。
字串5
3 ARM嵌入式系統(tǒng)基礎(chǔ)教程
最重要的是體系結(jié)構(gòu),匯編部分介紹,看看吧,增加理論素質(zhì)。
4 44B0數(shù)據(jù)手冊(cè)
寫(xiě)在這里是強(qiáng)調(diào)它的重要。
不推薦ZLG早期出的紅色皮的ARM什么體系結(jié)構(gòu)~只類(lèi)的
寫(xiě)的太多,看煩了。
想要學(xué)習(xí)更多,了解更多嵌入式,單片機(jī),F(xiàn)PGA,PCB方面的知識(shí)
請(qǐng)咨詢(xún)殷工 聯(lián)系電話(huà):13428283511 聯(lián)系QQ:810663503
廣州,深證南山,西鄉(xiāng),民治,龍崗,鄭州,長(zhǎng)沙,南寧同步授課。
信盈達(dá)期待,為了夢(mèng)想而還在努力的你!
|
|