當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]ARM入門的一些經(jīng)驗(yàn)

一 首先說說ARM的發(fā)展

      可以用一片大好來形容,翻開各個公司的網(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單純說來并不比一個單片機(jī)強(qiáng)多少,但是它的獨(dú)特就在于不斷下降的價格和提升的性能。這完全依靠于ARM公司的戰(zhàn)略,厲害??!很佩服他們的戰(zhàn)略眼光!!
      值得注意的是:在找工作中,企業(yè)(著名的,小的不算)對單純的ARM硬件開發(fā)工程師并不比單片機(jī)重視,很少有大企業(yè)的職位里寫“從事過ARM開發(fā)優(yōu)先”。寫的多的是什么?“嵌入式LINUX”到這相信大家看出來了吧,需要的是硬件中的軟件。


二 ARM是硬件還是軟件

      很難說,ARM是硬件,LINUX是軟件。ARM的硬件多半已經(jīng)模塊化了,像我這樣把板子改成這樣的就算動的多的了,這同樣是ARM公司的戰(zhàn)略,再次佩服。
      實(shí)際中的LINUX的開發(fā)工作更多,更耗時。從這方面說ARM應(yīng)該算是軟件了。
      在找工作中更是這樣,舉個例子,聯(lián)想里和ARM最接近的是“BIOS工程師”是軟件,MOTO里接近的是嵌入式LINUX工程師是軟件。而其他很多公司把嵌入式產(chǎn)品開發(fā)歸為硬件。所以,不要討論這個,好好玩轉(zhuǎn)自己的板子才是關(guān)鍵。實(shí)在不爽你就把自己叫“嵌入式開發(fā)工程師”


三 要不要買開發(fā)板 買哪家
      
       我的答案是“在你個人的學(xué)習(xí)方法”,但是如果看家是需要看這騙筆記的水平,個人推薦還是買現(xiàn)成的。

1 買
       買板子可以把注意力集中在軟件開發(fā)上,軟件開發(fā)(尤其是驅(qū)動)可以不必?fù)?dān)心自己硬件上的問題,我就是以便調(diào)試一邊寫驅(qū)動和程序,每次寫驅(qū)動前就要先確認(rèn)硬件沒問題。另外,買板子更省錢和時間,我自己做的板子,原理圖PCB花了2周以上!制版又15天,回來以后焊接44B0 160個腳!那叫一個麻煩~~花了多少錢呢?2層板,制版費(fèi)就300塊!當(dāng)然 我把接口都外引了,還做了個20X18的LCD背板,板子比較大??傮w下來 元件+LCD屏+PCB=11XX塊!夠2410的了。
      再有就是買的資料相對來說比較全,但是不要指望有技術(shù)支持!都是騙人的,賣你之后就不會理你。


2 做
       自己做可以更了解底層硬件,可以按照自己的要求加?xùn)|西,比如我就加了GPS模塊、 GPRS模塊 、SD卡模塊,擴(kuò)了個IIC的35個鍵子的鍵盤、把LCD接口按照買的LCD改裝了,可以用FPC線直接連接。做的很爽的。玩一把嗎。
        當(dāng)然,你可以有策略的做,比如像我一樣,把RAM和ROM,網(wǎng)絡(luò)都保持和某現(xiàn)成的板子一樣,這樣他們的資料你就可以拿過來直接用,給自己留個退路。其他的如SD了 什么的自己做。都達(dá)到了~~就是費(fèi)錢,費(fèi)時間。
       再有就是給做的朋友幾點(diǎn)建議:盡量拿到現(xiàn)成的板子,盡量多搜集其他板子的全套資料,一定要拿到一張沒問題的原理圖。
        網(wǎng)上流傳的原理圖多數(shù)是龔俊03年畫的,再這里對龔俊表達(dá)一下我的敬意!!牛人!
但是那個圖有個小BUG,我指的是03版的,后來的沒這問題了。8019那地址線和地址有問題。還有人仿照他的PDF圖畫的SCH,更是漏洞百出!譴責(zé)!順便譴責(zé)把龔俊板子偷賣的人。


3 買哪家
    個人感覺分3類吧
     1)首先是ZLG的,資料非常的全,感覺他是真正想教你怎么開發(fā)ARM,而不是像有的公司自己技術(shù)都沒做好就做個板子出來賣錢。但是最大的不利就是價格太貴!而且主要是PHILIP的,貨源比較麻煩~~可能有人說21XX系列的不貴啊,那是總線不外擴(kuò)的,只能跑UCOS,不能跑UCLINUX。但是說是話,21XX系列才是ARM7的價格性能結(jié)合點(diǎn)。ARM7最適合做工業(yè)控制,ARM普及,銷量都是怎么來的?都是ARM7來的,而44B0是典型的商業(yè)片子。但是,這里如果你看中的是為工作做準(zhǔn)備,還是選能跑UCLINUX的吧。
但是仍然作為第一個推薦,因?yàn)椴锁B時期,合適的資料太重要了??!在這里被ZLG的務(wù)實(shí)精神感動!你看人家那代碼寫的。
     2)感覺立宇泰的44B0不錯
硬件沒別的,就是資料比較全的說,不像有些家,原理圖直接拿人家的,還錯的~~
     3)找個最便宜的
好象最便宜的有賣350的吧?也是沒別的,就是即省了錢 還省時間搜集資料,至于資料全不全,別計(jì)較了~~硬件肯定好使就行吧。


四 要不要有51 AVR等單片機(jī)基礎(chǔ)
        有更好,但沒有也無所謂。
       兩個月以前,我只是看別人做,耳濡目染~~,本科學(xué)過單片機(jī),從來沒做過。我們這的技術(shù)主干做AVR和51,我就跟他們調(diào)過C語言程序。你看出來了?我是個不折不扣的菜鳥吧?
但是做這個之前我特意找了ZLG的兩本書,看了里面的例子和原理圖,這很重要。例程里有匯編有C,都看懂了就OK,不用自己現(xiàn)寫


五 開發(fā)都需要學(xué)習(xí)哪些軟件
總結(jié)起來最主要的有以下幾個吧

1 ADS調(diào)試用
確切的說是ADS+AXD。ADS里包含AXD。原來都用SDT后來ARM公司停止對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)試代理(不知道名對不,起這么個難記的,我一般都叫它“半羊”因?yàn)橹浪菐滋靹偝粤丝狙颍?
調(diào)試代理就是用它幫你使用更簡單的JTAG(便宜?。﹣韺?shí)現(xiàn)原本1K才賣的JTAG仿真器的大部分功能。JTAG調(diào)試原理看我另一篇筆記。簡單的就可以把他理解為你自己做的JTAG的驅(qū)動就行了。
調(diào)試代理還有很多種,什么H-JTAG了、ARM7了(不知道具體叫什么,就記得可執(zhí)行文件叫ARM7.EXE)都是,BANYANT比較好。
需要注意的是,沒種調(diào)試代理安裝方法雖然都簡單 但都不一樣,需要看說明。而且AXD調(diào)試之前都要運(yùn)行。省錢了,就別怕麻煩了。


4 ARM-ELF-TOOLS工具鏈
里面是UCLINUX開發(fā)用的工具比如ARM-ELF-GCC只類的。工具鏈就是把很多工具打包在一起發(fā)布的方便你開發(fā)的東西。具體安裝方法看我另一篇筆記。
另外如果你開發(fā)LINUX就要用ARM-LINUX-TOOLS,不一樣,不通用。


5 U-BOOT
大名鼎鼎的BOOTLOADER生成工具,同類的好象還有VIVI(名字很曖昧~~)
生成的BOOTLOADER燒到FLASH里,然后就可以用BOOTLOADER下載 燒寫其他了
有了BOOTLOADER才能下UCLINUX。BOOTLOADER就像電腦上的BIOS。當(dāng)然UCOS的不用這個,用什么我不知道:)
最新版本是1.1.4 具體使用方法看我另一篇筆記吧。


6 UCLINUX包
UCLINUX的源碼包,不用多說了吧?建議大家用現(xiàn)成的先體會一下,然后再自己編譯,裁剪。因?yàn)閱为?dú)UCLINUX的編輯技術(shù)上比較簡單,但涉及的方面還是比較廣的。


7 VMWARE
老牌的虛擬機(jī)軟件,在一個機(jī)器上虛擬出一個機(jī)器裝LINUX(PC上用的),省得你來回開關(guān)機(jī)了。記得裝VMWARE-TOOLS,安裝方法在我另一篇筆記里。


六 有哪些書推薦
      主要推薦ZLG的三本書,有這3本再加網(wǎng)絡(luò)就不用別的書了,其中主要推薦前2本,3是介紹體系結(jié)構(gòu)的,也不錯

1 ARM嵌入式LINUX系統(tǒng)構(gòu)建與驅(qū)動開發(fā),北航版
驅(qū)動寫的很詳細(xì),前期開發(fā)介紹也很好

2 ARM 嵌入式系統(tǒng)實(shí)驗(yàn)教程(二),北航版
有ZLG2200的原理圖,實(shí)驗(yàn)程序和注釋,了解人家是怎么開發(fā)的。

3 ARM嵌入式系統(tǒng)基礎(chǔ)教程
最重要的是體系結(jié)構(gòu),匯編部分介紹,看看吧,增加理論素質(zhì)。

4 44B0數(shù)據(jù)手冊
寫在這里是強(qiáng)調(diào)它的重要。


不推薦ZLG早期出的紅色皮的ARM什么體系結(jié)構(gòu)~只類的
寫的太多,看煩了。
其他的書沒了幾本,沒看見好的,大家有看過的推薦吧。


七 選UCOS?UCLINUX?LINUX?VXWORKS?還是當(dāng)單片機(jī)用
     1 搞開發(fā),工程設(shè)計(jì),用UCOS,小巧,多進(jìn)程,簡單,體現(xiàn)了ARM7的精髓。
     2 LINUX 正根的嵌入式系統(tǒng),LINUX消費(fèi)與通信領(lǐng)域用的比較多,但缺點(diǎn)是必須ARM9才能跑,ARM9的板子自己做就不行了,6層板太貴。買開發(fā)板1K達(dá)底吧。但是還是推薦選ARM9+LINUX
     3 UCLINUX 算投機(jī)嵌入式系統(tǒng):)ARM7上可以跑,由有LINUX近親,學(xué)好好可以比較方便的轉(zhuǎn)向LINUX,像我一樣的窮鬼用吧,呵呵
     4 VXWORKS
學(xué)好后可以找到高薪工作,但工作機(jī)會本身并不比LINUX好找。
    5 當(dāng)單片機(jī)用
不推薦,雖然我景仰的ZLG一直號召這么干。因?yàn)閷τ趯W(xué)習(xí)來說多進(jìn)程的系統(tǒng)設(shè)計(jì)才是ARM7的玩頭,至少你也要整個UCOS?。海?
有朋友問我先學(xué)這個當(dāng)基礎(chǔ)不行嗎?那當(dāng)然可以~~但我當(dāng)時就用了1周搞定,就是我先的ADS在RAM中調(diào)試的筆記。后來我清空FLASH用的小段程序還是當(dāng)時寫的LED閃爍程序呢。另外1周里其中還因?yàn)樽约哼^于菜,沒把OM設(shè)置好導(dǎo)致晶陣不陣
哈哈。這個是必須做的,但一帶而過。目標(biāo)放的遠(yuǎn)一點(diǎn)。


八 學(xué)習(xí)要用多長時間
       我從菜鳥到現(xiàn)在兩個多月,中間被打擾數(shù)次。仍然搞定了PCB設(shè)計(jì)與制版,RAM調(diào)試,F(xiàn)LASH下載,UBOOT移植和下載UCLINUX(沒剪裁,用現(xiàn)成的),LCD驅(qū)動。
再次坦誠的說:我確實(shí)比較菜,說這些不是讓大家羨慕,只是告訴你們“你們應(yīng)該比這個更好”
我相信良好的態(tài)度+合適的方法+及時的總結(jié)=成績


九 ARM都玩什么
就幾點(diǎn)
1 硬件設(shè)計(jì)
2 系統(tǒng)移植
3 驅(qū)動開發(fā)
4 應(yīng)用開發(fā)
沒了。其中推薦把注意力放在后兩個上,3有難度,4比較靈活,最重要的是都是找工作的砝碼。


十 我用的什么板子
很多人問我這個問題,我特意寫過一個的。再說一次吧。
我是自己做的,RAM、ROM、8019等比較麻煩而當(dāng)時的自己不理解的都按照龔俊的做的。保持其他不便的情況下做了如下改動。
1 加了串口通信的GPS模塊、 GPRS模塊
一個UART0,一個UART1,當(dāng)與要用超級終端時用跳線切換。
2 SD卡,和7843觸摸屏
同時掛在SPI總線上,因?yàn)镾PI只能掛一個設(shè)備,同時還做了I/O模擬的準(zhǔn)備,把兩個設(shè)備又通過跳線掛在4個IO上。
3 擴(kuò)了個IIC的35個鍵子的鍵盤
用的ZLG的7290,不占用CPU,最大支持64個鍵子,只上了35個,其他留接口。
4 把LCD接口按照買的LCD改裝了,可以用FPC線直接連接。
所以改動雖然多,但真正很移植了,初期調(diào)試有關(guān)的并沒動,就是為了現(xiàn)在不那么菜的時候做準(zhǔn)備:)


十一 開發(fā)流程
這里是我的開發(fā)流程
1 設(shè)計(jì)原理圖(含WIGGLER的JTAG訪真器)
2 設(shè)計(jì)PCB(含WIGGLER的JTAG訪真器)
3 制版
4 焊接電壓,確定電壓沒問題
5 焊接44B0+JTAG電路+WIGGLER的JTAG訪真器+周邊電路,用BANYANT+仿真器連接,BANYANT提示錯誤,但可以顯示44B0編號,好象是0X0F0F0F0F只類的,說明44B0沒問題
6 焊接晶體+RAM+ROM+周邊電路,用BANYANT+仿真器連接,可以顯示正確的44B0了
7 用BANYANT+仿真器連接,開AXD,在命令行窗口操作RAM,看可不可以修改,可以的話(用內(nèi)存窗口看RAM地址)RAM就沒問題
可以用這個命令“setmem 0xc000000,0xffffffff,32”
我的RAM掛在BANK6上 所以地址是0XC000000,你要是改了就也得改。
8 用我寫的《自己寫了個C工程模板又寫了個使用說明 》里的方法調(diào)試程序吧,寫個簡單的,我當(dāng)時寫個LED閃爍的??春檬共弧?
9 把程序按照《FLASH燒寫總結(jié) 》里的燒到FLASH里,測試一下
10 按照《UBOOT 移植操作》移植UBOOT 
11 按照《UCLINUX下載簡單說明》下個UCLINUX
12 看看驅(qū)動開發(fā)的方法,自己寫個驅(qū)動看看
13 還有很多事東西著你玩 呵呵


十二 關(guān)于JTAG訪真器
JTAG訪真器現(xiàn)在用的多是簡板的,一個244那種,用的沒什么不好。
按照并口定義不同分幾種,建議選WIFFLER定義的,因?yàn)橹С值能浖?。這個網(wǎng)上多的是,不多說了。
值得提的是有的JTAG訪真器原理圖上有跳線用來使能復(fù)位信號,這個一般不跳上。就是不用復(fù)位信號,因?yàn)镴TAG協(xié)議里本身也可以控制44B0復(fù)位。
當(dāng)然,板子上的復(fù)位信號跳線也不用跳。


十三 哪個公司的ARM
這個是問題比較簡單。

1 ARM7主要就幾個公司的
三星,PHILIP,ATMEL的
ATMEL的有比較便宜的AT91SAM7S32 和AT91SAM7S64 專為8位應(yīng)用產(chǎn)品量身定做,價格很便宜好象《3刀吧。和PHILIP的21XX差不多,資料太少,項(xiàng)目中選還不錯。
其他兩家上面說了的不多說了吧


2 ARM9
這個玩2410和2440的多吧,現(xiàn)在2440還比較火啊 可以考慮買個了
但是2410就比較便宜了,作為學(xué)習(xí)來說反到和不錯,推薦整一個:)
其實(shí)ARM9用的最多的領(lǐng)域應(yīng)該是消費(fèi)電子,比如手機(jī)PDA,而這上面用的多的應(yīng)該是INTEL的和TI的吧。
但是INTEL的TI的入門材料少,價格高,自己看情況定吧。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉