1,抓住51發展ARM
我自己的個人觀點:51是壹個基礎,但也很重要,這是我看了ARM後感受到的。它可以加快妳的手臂學習,真的!我不相信妳。試試吧。
任何要求速度和效率的人,不要做沒用的事,抓住身邊的每壹分鐘。人是活的,物(知識、書籍)是死的。
2.ARM怎麽入門?
首先說說ARM的發展。
可謂是壹份很棒的工作。打開各個公司的網站,招聘中的嵌入式職位占據了工程師職位的壹半以上。廣義的嵌入式系統只有幾種:傳統的51、AVR、PIC稱為嵌入式微控制器;ARM是嵌入式微處理器;DSPFPGA .客觀來說,DSP的需求比ARM多,ARM和FPGA差不多。由於數字處理和通信領域的空前發展,DSP的應用範圍非常廣泛,從MP3攝像頭到我們軍工產品中的控制器。
值得註意的是:在求職中,企業(知名的,不算小的)對簡單ARM硬件開發工程師的重視程度並不比單片機高,很少有大企業在職位上寫“從事ARM開發優先”。妳寫的更多的是什麽?我相信妳可以看到“嵌入式LINUX”在這裏。需要的是硬件中的軟件。
第二,ARM是硬件還是軟件?
很難說ARM是硬件,LINUX是軟件。ARM的大部分硬件已經模塊化。如果我這樣換板,會更動人。這也是ARM的策略。我又佩服了。事實上,LINUX的開發越來越費時。在這方面,ARM應該算是軟件。
找工作的時候更是如此。比如在聯想,最接近ARM的是“BIOS工程師”是軟件,而在MOTO,最接近嵌入式LINUX工程師是軟件。許多其他公司將嵌入式產品開發歸類為硬件。所以,這個就不討論了,玩好自己的板子才是關鍵。妳真的不爽的時候還自稱“嵌入式開發工程師”。
四、要不要有51 AVR之類的單片機基礎?
有更好,沒有也無所謂。
5.開發需要學習哪些軟件?
歸納起來,主要有以下幾種:
1,ADS調試
準確的說是廣告+AXD。廣告包含AXD。原來都是用SDT。後來ARM不再支持SDT,轉而支持ADS。讓我們使用廣告。
有些人的節目還是SDT版本發布,但基本上都能找到對應的廣告。新來的人不應該在這裏感到困惑。ADS是編譯器,AXD是調試器。在ARM的RAM中調試,它和AXF的壹樣便宜。
2、PLASHPGM
FLASH燒錄軟件。AXD在RAM中調試,斷電就沒了,方便程序修改。調試好的程序下載到FLASH,上電直接運行。
類似的軟件有很多,比如FLUTED,FLSHP,但是FLASHPGM是最好的。如果還是有人問FLASH不支持BIN格式文件的問題,那就看我的PLASHPGM了。
3.BANYANT調試代理(不知道名字對不對。我壹般叫它“半只羊”,因為我知道它當年只是吃烤羊)。
調試代理就是用它來幫助妳用更簡單的JTAG(便宜的)來實現原本售價1K的JTAG仿真器的大部分功能。JTAG調試原理見我的另壹個說明。簡單理解為妳自己做的JTAG驅動。調試代理有很多種,比如H-JTAG,ARM7(具體名字不知道,只記得可執行文件叫ARM7。EXE),而BANYANT更好。需要註意的是,調試代理的安裝方法沒有壹種是簡單的,但都是不壹樣的,需要說明。和AXD應該在調試前運行。省錢,所以不怕麻煩。
4、ARM-ELF-TOOLS工具鏈
UCLINUX開發有工具,比如ARM-ELF-GCC。工具鏈是將許多工具打包在壹起並為您的開發發布它們的東西。具體安裝方法見我的另壹個筆記。另外,開發LINUX的話要用ARM-LINUX-TOOLS,不壹樣,不通用。
5、U型靴
知名的BOOTLOADER生成工具好像有李美慧(名字模棱兩可~ ~)。生成的BOOTLOADER燒錄到FLASH裏,然後妳可以用BOOTLOADER下載燒錄其他的。下載UCLINUX需要BOOTLOADER。BOOTLOADER就像是電腦上的BIOS。當然UCOS不需要這個,也不知道用什麽:)最新版本是1.1.4。具體用法見我另註。
6.UCLINUX軟件包
UCLINUX源碼包,不用說了吧?建議妳先用現成的經驗,然後自己編譯裁剪。因為單單UCLINUX的編輯技術比較簡單,但是涉及的面比較廣。
7、VMWARE
老式的虛擬機軟件,在壹個虛擬機裏,壹臺機器裝Linux(PC上用的),省去了妳來回切換機器的麻煩。記得安裝VMWARE-TOOLS。安裝方法在我的另壹個筆記裏。
6.有什麽書推薦?
我主要推薦ZLG的三本書。有了這三本書和網絡,我就不需要別的書了。其中我主要推薦前兩本書,第三本介紹架構,還不錯:
1,ARM嵌入式LINUX系統構建及驅動開發,北航版,驅動寫的很詳細,前期開發的介紹也很好。
2,ARM嵌入式系統實驗教程(二),北航版,附ZLG2200原理圖,實驗程序和筆記,了解人家是怎麽開發出來的。
3、ARM嵌入式系統基礎課,最重要的是架構,匯編部分介紹,看看,增加理論素養。
4.44B0數據手冊寫在這裏是為了強調它的重要性。
不推薦ZLG早期的紅皮ARM架構~只上課,文筆太多,看膩了。其他幾本書沒看過。沒見過好的。妳看過壹些推薦。
七、選擇UCOS?UCLINUX?LINUX?VXWORKS?或者把它當單片機用
1,從事開發,工程設計,采用UCOS,小巧,多進程,簡單,體現ARM7精髓。
2.LINUX嵌入式系統在LINUX消費和通信領域應用廣泛,但缺點是必須是ARM9才能運行,ARM9的板卡自己做不了。6層板太貴了。買開發板1K觸底。但還是建議選擇ARM9+LINUX。
3,UCLINUX是投機嵌入式系統:)可以在ARM7上運行,因為妳有LINUX的近親,可以很容易的轉到LINUX,像我這種窮光蛋壹樣用,呵呵。
4,VXWORKS,學好了可以找高薪工作,但是工作機會本身並不比LINUX好。
5.不建議把它當單片機用,雖然我所敬佩的ZLG壹直在呼籲。因為對於學習來說,多進程系統設計是ARM7的頭,至少妳需要整個UCOS:)
有朋友問我能不能先學這個作為基礎。當然~ ~但是我花了1周才搞定,這是我先在RAM調試廣告的筆記。後來我用來清閃的小程序就是我當時寫的LED閃爍程序。另外,在1周的時候,我太愛吃了,沒有把OM設置好,導致了陣列失敗。這是必須要做的,但是它過去了。瞄準更遠的地方。
八、學習需要多長時間?
我現在做菜鳥兩個多月了,被打擾過幾次。還是做過PCB設計和制版,RAM調試,FLASH下載,UBOOT移植和下載UCLINUX(未剪輯,現成),LCD驅動。再說實話:我真的比較菜。我說這些不是為了羨慕大家,只是告訴妳“妳應該比這更好”。我相信,良好的心態+恰當的方法+及時的總結=結果!
9.ARM玩什麽?
只是什麽時間:
1,硬件設計
2.系統移植
3.推動發展
4.應用開發
它不見了。其中,建議以後兩種為主,3難,4靈活,最重要的是找工作。
XI。顯色法
以下是我的開發過程:
1,設計示意圖(帶搖擺器的JTAG真理儀)
2.設計PCB(帶搖擺器的JTAG真理儀)
3、制版
4、焊接電壓,確定電壓沒問題。
5.焊接44B0+JTAG電路+WIGGLER的JTAG真理儀+外圍電路,連接BANYANT+仿真器。BANYANT提示錯誤,但是可以顯示44B0的數字,好像是0x 0 f 0f 0f 0f 0f,表示44B0可以。
6.焊接晶振+RAM+ROM+外圍電路,連接BANYANT+仿真器,即可顯示正確的44B0。
7.用BANYANT+ emulator連接,打開AXD,在命令行窗口操作RAM,看是否可以修改。如果可以(在內存窗口看到RAM地址),RAM就沒問題了。可以使用這個命令“setmem 0XC000000,0xffffffff,32”。我的RAM掛在BANK6上,所以地址是0xc000000。改了就要改。
8.用我寫的“我寫了壹個C項目模板和壹個指令”的方法調試程序。寫壹個簡單的。我當時寫了壹個LED閃爍。看看有沒有用。
9.按照FLASH燒寫的總結把程序燒成FLASH,進行測試。
10,按照UBOOT移植操作移植UBOOT。
11.按照下載UCLINUX的簡單說明下載UCLINUX。
12.看驅動開發的方法,自己寫個驅動。
13,有很多東西可以讓妳玩。
十二。關於JTAG真理儀
JTAG真理儀大多是壹個簡單的板,壹個244型,並沒有什麽毛病。根據並口的定義有幾種,建議選擇WIFFLER定義,因為支持的軟件很多。這個網上有很多,不多說了。值得壹提的是,壹些JTAG真理儀在原理圖上有跳線來使能復位信號,壹般是不跳的。只是不要用復位信號,因為JTAG協議本身也可以控制44B0的復位。當然,也不需要跳板上的復位信號跳線。