高手告訴你ARM入門(mén)該學(xué)什么
掃描二維碼
隨時(shí)隨地手機(jī)看文章
ARM入門(mén)階段通常是最容易讓人產(chǎn)生挫敗感的時(shí)候,并不是因?yàn)橹R(shí)有多么難以理解,而是因?yàn)楹芏嗳瞬⒉恢缽哪姆矫孢M(jìn)行入手。此時(shí)一篇較為系統(tǒng)的入門(mén)知識(shí)介紹文章就變得很有必要,本文來(lái)自于一名經(jīng)驗(yàn)豐富的電源設(shè)計(jì)者,將其對(duì)新手的入門(mén)建議進(jìn)行了總結(jié),大家快來(lái)看一看吧。
關(guān)于基礎(chǔ)
很多人在學(xué)習(xí)ARM時(shí)都在糾結(jié)是否需要有51、AVR等基礎(chǔ)。其實(shí)這部分知識(shí)并非必須,懂一些更好但沒(méi)有也無(wú)所謂。沒(méi)有相關(guān)基礎(chǔ)也無(wú)所謂,重要的是找一些參考書(shū),去了解里面的例子和原理圖,例程里有匯編有C,都能看懂即可,不用追求能夠流利編寫(xiě)。
需要學(xué)習(xí)哪些軟件
軟件實(shí)際上就那么幾種,下面為大家總結(jié)一下。
ADS調(diào)試用
確切的說(shuō)是ADS+AXD。ADS里包含AXD。以前都用SDT,但后來(lái)ARM公司停止對(duì)SDT的支持,轉(zhuǎn)而支持ADS,所以還是用ADS比較好。目前有的人的程序發(fā)布的仍然是SDT版本,但基本都可以找到相應(yīng)ADS的,新人在這里不要發(fā)蒙。ADS是編譯器,AXD是調(diào)試器。編譯成AXF以后再在ARM的RAM里調(diào)試。
PLASHPGM
FLASH燒寫(xiě)的軟件。AXD在RAM里調(diào)試就不會(huì)出現(xiàn)掉電,方便程序修改。調(diào)試好的程序再下到FLASH里上電直接運(yùn)行。同類(lèi)的軟件還有很多,比如FLUTED、FLSHP,但FLASHPGM最好。
BANYANT調(diào)試代理
調(diào)試代理就是用更簡(jiǎn)單的JTAG來(lái)實(shí)現(xiàn)原本1K才賣(mài)的JTAG仿真器的大部分功能。可以簡(jiǎn)單的講其理解為自行制作的JTAG驅(qū)動(dòng)。此外調(diào)試代理還有很多種,如H-JTAG、ARM7。
需要注意的是,每種調(diào)試代理安裝方法雖然簡(jiǎn)單但都不盡相同,因此需要留意說(shuō)明。而且AXD調(diào)試之前都要運(yùn)行。
ARM-ELF-TOOLS工具鏈
其中包含UCLINUX開(kāi)發(fā)用的工具,如ARM-ELF-GCC。工具鏈就是把很多工具打包在一起發(fā)布,方便開(kāi)發(fā)東西。另外如果要開(kāi)發(fā)LINUX就要用ARM-LINUX-TOOLS,這里是不一樣的,不能通用。
U-BOOT
大名鼎鼎的BOOTLOADER生成工具,生成的BOOTLOADER燒到FLASH里,然后就可以用BOOTLOADER下載燒寫(xiě)其他。需要注意的是有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像電腦上的BIOS。
UCLINUX包
UCLINUX的源碼包,建議大家用現(xiàn)成的先體會(huì)一下,然后再自己編譯、裁剪。因?yàn)閱为?dú)UCLINUX的編輯技術(shù)上比較簡(jiǎn)單,但涉及的方面卻比較廣。
VMWARE
老牌的虛擬機(jī)軟件,在一個(gè)機(jī)器上虛擬出一個(gè)機(jī)器裝LINUX,省去了頻繁開(kāi)關(guān)及的步驟。
該看哪些書(shū)?
這里主要為大家推薦ZLG的三本書(shū),其他的再上網(wǎng)隨便查查資料就可以了?!禔RM嵌入式LINUX系統(tǒng)構(gòu)建與驅(qū)動(dòng)開(kāi)發(fā)》,北航版。這本驅(qū)動(dòng)寫(xiě)的很詳細(xì),前期開(kāi)發(fā)介紹也很好?!禔RM嵌入式系統(tǒng)實(shí)驗(yàn)教程(二)》,北航版,有ZLG2200的原理圖,實(shí)驗(yàn)程序和注釋?!禔RM嵌入式系統(tǒng)基礎(chǔ)教程》,最重要的是體系結(jié)構(gòu),匯編部分介紹,主要增加理論素質(zhì)。
用途與系統(tǒng)的選擇
如果主攻開(kāi)發(fā)和工業(yè)設(shè)計(jì),那么推薦UCOS,小巧、多進(jìn)程、簡(jiǎn)單、體現(xiàn)了ARM7的精髓。LINUX消費(fèi)與通信領(lǐng)域用的比較多,但缺點(diǎn)是必須ARM9才能啟動(dòng)。UCLINUX嵌入式系統(tǒng)在ARM7上可以跑,學(xué)好可以比較方便的轉(zhuǎn)向LINUX。最后,也會(huì)有設(shè)計(jì)者選擇當(dāng)單片機(jī)來(lái)使用,但這里并不推薦,因?yàn)閷?duì)于學(xué)習(xí)來(lái)說(shuō)多進(jìn)程的系統(tǒng)設(shè)計(jì)才是ARM7的精髓。
通過(guò)本文的介紹,處于入門(mén)階段的朋友是否對(duì)ARM入門(mén)的學(xué)習(xí)有了一定的規(guī)劃了呢?相信按照本文給出的經(jīng)驗(yàn)和順序階段,大家一定能順利的掌握ARM的相關(guān)知識(shí)。感興趣的朋友不妨收藏本文,不時(shí)拿出來(lái)進(jìn)行溫習(xí),鞏固知識(shí)。