A. 《嵌入式系統設計師教程》pdf下載在線閱讀全文,求百度網盤雲資源
《嵌入式系統設計師教程》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1nYcyZL7GANb0Res-E1QtIg
B. ARM9嵌入式系統設計基礎教程的第5章 嵌入式系統輸入/輸出設備介面
5.1 通用輸入/輸出介面
5.1.1 通用輸入/輸出介面原理與結構
5.1.2 S3C2410A輸入/輸出介面編程實例
5.2 A/D轉換專器介面
5.2.1 A/D轉換的方法和原屬理
5.2.2 S3C2410A的A/D轉換器
5.2.3 S3C2410A A/D介面編程實例
5.3 D/A轉換器介面
5.3.1 D/A轉換器的工作原理
5.3.2 S3C2410A與D/A轉換器的介面電路
5.4 鍵盤與LED數碼管介面
5.4.1 鍵盤與LED數碼管介面基本原理與結構
5.4.2 用I/O口實現鍵盤介面
5.4.3 採用專用晶元實現鍵盤及LED介面
5.5 LCD顯示介面
5.5.1 LCD顯示介面原理與結構
5.5.2 S3C2410A的LCD控制器
5.5.3 S3C2410A LCD顯示的編程實例
5.6 觸摸屏介面
5.6.1 觸摸屏工作原理與結構
5.6.2 採用專用晶元的觸摸屏控制介面
5.6.3 S3C2410A的觸摸屏介面電路
思考題與習題
C. 《arm9嵌入式系統設計基礎教程》(第二版)-黃智偉、鄧月明、王彥的PDF版
有課件要不 版權http://pan..com/share/link?uk=4096628124&shareid=266174
D. 《ARM體系結構與編程第二版》pdf下載在線閱讀全文,求百度網盤雲資源
《ARM體系結構與編程第二版》網路網盤pdf最新全集下載:
鏈接:https://pan..com/s/1yYDq8g7FV6eBT-m-8-tRGg
E. 急要周立功主編<ARM嵌入式系統基礎教程>課後習題答案
第一章
思考與練習
1、舉出3個書本中未提到的嵌入式系統的例子。
答:紅綠燈控制,數字空調,機頂盒
2、什麼叫嵌入式系統
嵌入式系統:以應用為中心、以計算機技術為基礎、軟體硬體可裁剪、適應應用系
統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。
3、什麼叫嵌入式處理器?嵌入式處理器分為哪幾類?
嵌入式處理器是為完成特殊的應用而設計的特殊目的的處理器。
嵌入式微處理器(Embedded Microprocessor Unit, EMPU)
嵌入式微控制器(Microcontroller Unit, MCU)
嵌入式DSP 處理器(Embedded Digital Signal Processor, EDSP)
嵌入式片上系統(System On Chip)
4、什麼是嵌入式操作系統?為何要使用嵌入式操作系統?
是一段在嵌入式系統啟動後首先執行的背景程序,首先,嵌入式實時操作系統提高了系統的可靠性。其次,提高了開發效率,縮短了開發周期。再次,嵌入式實時操作系統充分發揮了 32 位 CPU 的多任務潛力。
第二章
1、嵌入式系統項目開發的生命周期分哪幾個階段?各自的具體任務是什麼?
項目的生命周期一般分為識別需求、提出解決方案、執行項目和結束項目4 個階段。
識別需求階段的主要任務是確認需求,分析投資收益比,研究項目的可行性,分析廠商所應具備的條件。
提出解決方案階段由各廠商向客戶提交標書、介紹解決方案。
執行項目階段細化目標,制定工作計劃,協調人力和其他資源;定期監控進展,
分析項目偏差,採取必要措施以實現目標。
結束項目階段主要包括移交工作成果,幫助客戶實現商務目標;系統交接給維護人員;結清各種款項。
2、為何要進行風險分析?嵌入式項目主要有哪些方面的風險?
在一個項目中,有許多的因素會影響到項目進行,因此在項目進行的初期,在客戶和開發團隊都還未投入大量資源之前,風險的評估可以用來預估項目進行可能會遭遇的難題。
需求風險;時間風險;資金風險;項目管理風險
3、何謂系統規范?制定系統規范的目的是什麼?
規格制定階段的目的在於將客戶的需求,由模糊的描述,轉換成有意義的量化數據。
4、何謂系統規劃?為何要做系統規劃
系統規劃就是擬定一個開發進程,使項目在合理的進程范圍中逐漸建構完成。其目地是讓客戶可以進一步地掌握系統開發的進程,並確定檢查點,以讓雙方確定項目是否如預期中的進度完成。
5、為什麼在項目結束前需要進行項目討論?
項目的討論一個項目進行的反饋機制。通過這一個程序,項目團隊的經驗才可以被記錄
下來,也就是說,這是一個撰寫項目歷史的過程。
第三章
1、ARM7TDMI中的T、D、M、I的含義是什麼?
64 位乘法指令(帶M 後綴的)、支持片上調試(帶D 後綴的)、高密度 16 位的Thumb
指令機擴展(帶T 後綴的)和EmbededICE 觀察點硬體(帶I 後綴的)
2、ARM7TDMI採用幾級流水線?使用何種存儲器編址方式?
三級流水線(取指 解碼 執行);使用了馮·諾依曼(Von Neumann )結構,指令和數據共用一條32 位匯流排。
3、ARM處理器模式和ARM處理器狀態有何區別?
處理器模式指的是處理器在執行程序時在不同時刻所處的不同狀態,處理器狀態指的是處理器當前所執行的指令集。
4、分別列舉ARM的處理器模式和狀態。
狀態:
ARM 狀態 32 位,這種狀態下執行的是字方式的ARM 指令
Thumb 狀態 16 位,這種狀態下執行半字方式的 Thumb 指令
模式:
用戶模式、快中斷模式、中斷模式、管理模式、 中止模式、未定義模式和系統模式。
5、PC和LR分別使用哪個寄存器?
PC使用R15寄存器,LR使用R14寄存器
6、R13寄存器的通用功能是什麼?
堆棧
第四章
1、基礎知識
(1)ARM7TDMI(-S)有幾種定址方式?LOR R1,[R0,#0x08]屬於哪種定址方式?
1. 寄存器定址;2. 立即定址;3. 寄存器移位定址;4. 寄存器間接定址;5. 基址定址;6. 多寄存器定址;7. 堆棧定址;8. 塊拷貝定址;9. 相對定址;LOR R1,[R0,#0x08]屬於基址定址。
(2)ARM指令的條件碼有多少個?默認條件碼是什麼?
16條, 默認條件碼是AL。
(3)ARM指令中第二個操作數有哪幾種形式?舉例5個8點陣圖立即數。
(1) 立即數;(2) 寄存器;(3) 寄存器及移位常數;
0x3FC(0xFF<<2)、0、0xF0000000(0xF0<<24)、200(0xC8)、0xF0000001(0x1F<<28)。
(4)LDR/STR指令的偏移形式有哪4種?LDRB和LDRSB有何區別?
(1) 零偏移;(2) 前索引偏移;(3) 程序相對偏移;(4) 後索引偏移。LDRB就是讀出指定地址的數據並存入指定寄存器,LDRSB讀出指定地址的數據,並高24位用符號位擴展,再存入指定寄存器。
(5)請指出MOV指令與LDR載入指令的區別及用途。
MOV 將 8 點陣圖(pattern)立即數或寄存器(operand2)傳送到目標寄存器(Rd),可用於移位 運算等操作。讀取指定地址上的存儲器單元內容,執行條件AL.
(6)CMP指令的操作是什麼?寫一個程序,判斷R1的值是否大於0x30,是則將R1減去0x30。
CMP 指令將寄存器Rn 的值減去operand2 的值,根據操作的結果更新CPSR 中的相應條 件標志位,以便後面的指令根據相應的條件標志來判斷是否執行。
CMP R1,0x30
SUBHI R1,R1,0x30
(7)調用子程序是用B還是用BL指令?請寫出返回子程序的指令?
BL 指令用於子程序調用。
MOV PC, R14
(8)請指出LDR偽指令的用法。指令格式與LDR載入指令的區別是什麼?
LDR 偽指令用於載入 32 位的立即數或一個地址值到指定寄存器。第二個數為地址表達式。
(9)ARM狀態與Thumb狀態的切換指令是什麼?請舉例說明。
BX指令,
(10)Thumb狀態與ARM狀態的寄存器有區別嗎?Thumb指令對哪些寄存器的訪問受到一定限制?
Thumb狀態下不能更新CPSR 中的ALU 狀態標志。,Thumb指令對R8~R15寄存器訪問受限。
(11)Thumb指令集的堆棧入棧、出棧指令是哪兩條?
PUSH POP
(12)Thumb指令集的BL指令轉換范圍為何能達到±4MB?其指令編碼是怎樣的?
Thumb 採用兩條16 位指令組合成22 位半字偏移(符號擴展為32 位),使指令轉移范圍為±4MB。
2 有符號和無符號加法
下面給出A 和B 的值,您可先手動計算A+B,並預測N、Z、V 和 C 標志位的值。然後修改程序清單4.1 中R0、R1 的值,將這兩個值裝載到這兩個寄存器中(使用LDR 偽指令,
如LDR R0,=0x FFFF0000),使其執行兩個寄存器的加法操作。調試程序,每執行一次加法 操作就將標志位的狀態記錄下來,並將所得結果與您預先計算得出的結果相比較。如果兩個 操作數看作是有符號數,如何解釋所得標志位的狀態?同樣,如果這兩個操作數看作是無符數,所得標志位又當如何理解?
0xFFFF000F 0x7FFFFFFF 67654321 (A)
+ 0x0000FFF1 + 0x02345678 + 23110000 (B)
結果: ( ) ( ) ( )
3 數據訪問
把下面的 C 代碼轉換成匯編代碼。數組 a 和b 分別存放在以 0x4000 和 0x5000 為起始 地址的存儲區內,類型為long(即32 位)。把編寫的匯編語言進行編譯連接,並進行調試。
for (i=0; i<8; i++)
{ a[i] = b[7-i];
}
第五章
1、基礎知識:
(1)LPC2114可使用的外部晶振頻率范圍是多少(使用/不使用PLL功能時)?
晶振頻率范圍:1~30 MHz,若使用PLL 或ISP 功能為:10~25MHz。
(2)描述一下LPC2210的PO.14、P1.20、P1.26、BOOT1和BOOT0引腳在晶元復位時分別有什麼作用?並簡單說明LPC2000系列ARM7微控制器的復位處理流程。
P0.14 的低電平強製片內引導裝載程序復位後控制器件的操作,即進入ISP 狀態。
P1.20 的低電平使 P1.25~P1.16 復位後用作跟蹤埠。
P1.26 的低電平使 P1.31~P1.26 復位後用作一個調試埠。
當RESET 為低時,BOOT0 與BOOT1 一同控制引導和內部操作。引腳的內部上拉確保了引腳未連接時呈現高電平。
外部復位輸入:當該引腳為低電平時,器件復位,I/O口和外圍功能進入默認狀態,處理器從地址0 開始執行程序。復位信號是具有遲滯作用的TTL 電平。
(3)LPC2000系列ARM7微控制器對向量表有何要求(向量表中的保留字)?
向量表所有數據32 位累加和為零(0x00000000~0x0000001C 的8 個字的機器碼累加),才能離線運行用戶程序,這是LPC2114/2124/2212/2214 的特性。
(4)如何啟動LPC2000系列ARM7微控制器的ISP功能?相關電路應該如何設計?
(5)LPC2000系列ARM7微控制器片內Flash是多位寬度的介面?它是通過哪個功能模塊來提高Flash的訪問速度?
128位, 通過存儲器加速模塊(MAM)來提高Flash的訪問速度
(6)若LPC2210的BANK0存儲塊使用32位匯流排,訪問BANK0時,地址線A1、A0是否有效?EMC模塊中的BLSO~BLS4具有什麼功能?
無效,( 如果存儲器組配置成 16 位寬,則不需要 A0;8 位寬的存儲器組需要使用 A0 。);位元組定位選擇信號。
(7)LPC2000系列ARM7微控制器具有引腳功能復用特性,那麼如何設置某個引腳為指定功能?
通過引腳功能選擇寄存器的設定來設置某個引腳為指定功能
(8)設置引腳為GPIO功能時,如何控制某個引腳單獨輸入/輸出?當前要知道某個引腳當前的輸出狀態時,是讀取IOPIN寄存器還是讀取IOSET寄存器?
GPIO方向寄存器,IOPIN。
(9)P0.2和P0.3口是I2C介面,當設置它們為GPIO時,是否需要外接上拉電阻才能輸出高電平?
(10)使用SPI主模式時,SSEL引腳是否可以作為GPIO?若不能,SSEL引腳應如何處理?
不能用作GPIO,SSEL應設這高電平,處於末激活狀態。
(11)LPC2114具有幾個UART是符合什麼標准?哪一個UART可用作ISP通信?哪一個UART具有MODEM介面?
UART0,UART1;UART0用於ISP通信,UART1具有MODEM介面。
(12)LPC2114具有幾個32位定時器?PWM定時器是否可以作通用定時器使用?
兩個32位定時器,PWM定時器不能用作通用定時器使用
(13)LPC2000系列ARM7微控制器具有哪兩種低耗模式?如何降低系統的功耗?
2 個低功耗模式:空閑和掉電;
2、計算PLL設置值:
假設有一個基於LPC2114的系統,所使用的晶振為11.0592MHZ石英晶振。請計算出最大的系統時鍾(ccls)頻率為多少MHZ?此時PLL的M值和P值各為多少?請列出計算公式,並編寫設置PLL的程序段。
3、存儲器重影射:
(1)LPC2210具有( 4 )種存影射模式。
①3 ②5 ③1 ④4
(2)當程序已固化到片內Flash,向量表保存在0x00000000起始處,則MAP〔1:0〕的值應該為( 2 )。
①00 ②01 ③10 ④11
(3)LPC2000系列APM7微控制器ccq重影射的目標起始地址為( ),共有( )個字。
①0x00000000,8 ②0x40000000,8
③0x00000000,16 ④0x7FFFE000,8
4、外部中斷喚醒掉電設計:
以下代碼是初始化外部中斷0,用它來喚醒掉電的LPC2114,請填空。
PINSEL0=0x00000000;
PINSELI = (PINSEL1&0XFFFFFFFC)|0X01; //設置I/O連接,PO.16設置為EINTO
EXTMODE =0X00; //設置EINT0為電平觸發模式
EXTPOLAR=0X00; //設置EINT0為低電平觸發
EXTWAKE =0X01; //允許外部中斷0喚醒掉電的CPU
EXTINT=0x0F; //清除外部中斷標識
第四章
程序清單4.1寄存器相加
;文件名:TESTI.S
;功能:實現兩個寄存器相加
;說明:使用ARMulate軟體模擬調試
AREA Examplel,CODE,READONLY ;聲明代碼段Examplel
ENTRY ;標識程序入口
CODE32 ;聲明32位ARM指令
START MOV R0,#0 ;設置參數
MOV R1,#10
LOOP BL ADD_SUB ;調用子程序ADD_SUB
B LOOP ;跳轉到LOOP
ADD_SUB
ADDS R0,R0,R1 ;R0=R0+R1
MOV PC,LR ;子程序返回
END ;文件結束
程序清單4.2 讀取SMI立即數
T_bit EQU 0X20
SWI_Handler
STMFD SP!,{R0_R3,R12,LR} ;現場保護
MRS R0,SPSR ;讀取SPSR
STMED SP!,{R0} ;保存SPSR
TST R0,#T_bit ;測試T標志位
LDRNEH R0,[LR,#_2] ;若是Thumb指令,讀取指令碼(16位)
BICNE R0,R0,,#0xFF00 ;取得Thumb指令的8位立即數
LDREQ R0,[LR,#_4] ;若是ARM指令,讀取指令碼(32位)
BICEQ R0,R0,#0Xff000000 ;取得ARM指令的24位立即數
……
LDMFD SP!,{ R0_R3,R12,PC} ;SWI異常中斷返回
程序清單4.3使用IRQ中斷
ENABLE_IRQ
MRS R0,CPSR
BIC R0,R0,#0x80
MSR CPSR_C,R0
MOV PC,LR
程序清單4.4禁能IRQ中斷
DISABLE_IRQ
MRS R0 CPSR
ORR R0,R0,#0x80
MSR CPSR_C,R0
MOV PC,LR
程序清單4.5堆棧指令初始化
INTSTACK
WOV R0,LR ;保存返回地址
;設置管理模式堆棧
MSR CPSR_C,#0xD3
LDR SP,stacksvc
;設置中斷模式堆棧
MSR CPSR_C,#0xD2
LDR SP,Stacklrq
……
程序清單4.6小范圍地址的載入
……
ADR R0,DISP_TAB ;載入轉換表地址
LDRB R1,[R0,R2] ;使用R2作為參數,進行查表
……
DISP_TAB
DCB 0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90
程序清單4.7中等范圍地址的載入
……
ADR LR,RETURNI
ADRL R1,Thumb_sub+1
BX R1
RETURNI
……
CODE 16
Thumb_sub
MOV R1,#10
……
程序清單4.8載入32位立即數
……
LDR R0,=IOPIN ;載入GPIO的寄存器IOPIN的地址
LDR R1,[R0] ;讀取IOPIN寄存器的值
……
LDR R0,=IOSET
LDR R1,=0x00500500
STR R1,[R0] ;IOSET=0x00500500
……
程序清單4.9軟體延時
……
DELAYI
NOP
NOP
NOP
SUBS R1,R1,#1
BNE DELAYI
……
程序清單4.10 ARM到Thumb的狀態切換
;文件名:TEST8.S
;功能:使用BX指令切換處理器狀態
;說明:使用ARMulate軟體模擬調試
AREA Example8,CODE,READONLY
ENTRY
CODE32
ARM_CODE ADR R0,THUMB_CODE+1
BX R0 ;跳轉並切換處理器狀態
CODE16
THUMB_CODE
MOV R0,#10 ;R0=10
MOV R1,#20 ;R1=20
ADD R0,R1 ;R0=R0+R1
B
END
F. 《嵌入式系統設計與實踐》pdf下載在線閱讀,求百度網盤雲資源
《嵌入式系統設計與實踐》(Elecia White)電子書網盤下載免費在線閱讀
資源鏈接:
鏈接:https://pan..com/s/1EEyot-j4Kbu3xpzd2swvYw
書名:嵌入式系統設計與實踐
作者:Elecia White
豆瓣評分:8.0
出版社:機械工業出版社
出版年份:2013-6
頁數:282
內容簡介:
對嵌入式系統的開發感興趣嗎?由於嵌入式系統對效率有很高的要求,所以需要遵循嚴格的設計原則。懷特專著的《嵌入式系統設計與實踐》簡單易讀,結合傳統的軟體設計模式和嵌入式程序設計領域中新穎、獨特的設計模式,幫助你建立良好的程序設計實踐技巧,學習如何針對處理器而非操作系統建立系統架構,以及處理硬體難題與製造需求的特殊技能。本書作者是嵌入式系統專家,創建過各種嵌入式系統,從城市道路監控系統到DNA掃描儀再到兒童玩具。
《嵌入式系統設計與實踐》主要內容:
·深入分析嵌入式系統的架構設計步驟和架構設計模式。
·介紹嵌入式系統中獨有的設計模式,如環形緩沖區、中斷和定時器、硬體調試、PID控制、系統優化等。
·如何優化系統以降低成本並提高性能。
·如何在資源有限的環境中建立健壯的軟體架構。
·探討了掃描儀、電機以及其他I/0設備。
·介紹事半功倍的方案:降低內存消耗、代碼空間佔用、處理器周期以及功耗。 ·學習如何在處理器中直接更新嵌入式程序代碼。
·掌握如何在小型處理器上實現復雜的數學計算。
·提供了招聘嵌入式工程師的面試題,以及回答這些面試題的獨到思路。
G. ARM9嵌入式系統設計基礎教程的第8章 嵌入式系統軟體及操作系統基礎
8.1 嵌入式軟體基礎
8.1.1 嵌入式軟體的特點
8.1.2 嵌入式軟體的分類
8.1.3 嵌入式軟體的體系結構
8.1.4 嵌入式系統的設備驅動層
8.1.5 嵌入式中間件
8.2 嵌入式操作系統基礎
8.2.1 嵌入式操作系統的功能
8.2.2 嵌入式操作系統的分類
8.2.3 常見的嵌入式操作系統簡介
8.3 嵌入式系統的任務管理
8.3.1 單道程序設計和多道程序設計
8.3.2 進程、線程和任務243 8.3.3 任務的實現
8.3.4 任務的調度
8.3.5 實時系統調度
8.4 嵌入式系統的存儲管理
8.4.1 嵌入式存儲管理方式的特點
8.4.2 存儲管理的實模式與保護模式
8.4.3 分區存儲管理
8.4.4 地址映射
8.4.5 頁式存儲管理
8.4.6 虛擬頁式存儲管理
8.5 I/O設備管理
8.5.1 I/O編址
8.5.2 I/O設備的控制方式
8.5.3 I/O軟體
思考題與習題
H. 求視頻——ARM嵌入式系統基礎教程
嵌入式視頻教程,歡迎登陸網址:http://www.itxxlm.com/portal.php?mod=view&aid=7含價值3000元的USB驅動教程和價值15000元2013年嵌入式視頻教程。 關於如何學習嵌入式,我剛才看到一篇很不錯的文章,是一個專科生介紹自己如何自學嵌入式,並找到嵌入式的工作,裡面介紹了他的學習方法和學習過程,希望對你有幫助。 先做個自我介紹,我07年考上一所很爛專科民辦的學校,學的是生物專業,具體的學校名稱我就不說出來獻丑了。09年我就輟學了,我在那樣的學校,一年學費要1萬多,但是根本沒有人學習,我實在看不到希望,我就退學了。 退學後我也迷茫,大專都沒有畢業,我真的不知道我能幹什麼,我在糾結著我能做什麼。所以輟學後我一段時間,我想去找工作,因為我比較沉默寡言,不是很會說話,我不適合去應聘做業務。我想應聘做技術的,可是處處碰壁。 一次偶然的機會,我才聽到嵌入式這個行業。那天我去新華書店,在計算機分類那邊想找本書學習。後來有個女孩子走過來,問我是不是讀計算機的,有沒有興趣學習嵌入式,然後給我介紹了一下嵌入式現在的火熱情況,告訴我學嵌入式多麼的有前景,給我了一份傳單,嵌入式培訓的廣告。聽了她的介紹,我心裡癢癢的,確實我很想去學會一門自己的技術,靠自己的雙手吃飯。 回家後,我就上網查了下嵌入式,確實是當今比較熱門的行業,也是比較好找工作的,工資也是相對比較高。我就下決心想學嵌入式了。於是我去找嵌入式培訓的相關信息,說真的,我也很迷茫,我不知道培訓是否真的能像他們宣傳的那樣好,所以我就想了解一段時間再做打算。 後來,我在網路知道看到一篇讓我很鼓舞的文章《如何學習嵌入式》,是一個嵌入式高手介紹沒有基礎的朋友怎麼自學入門學嵌入式,文章寫的很好,包含了如何學習,該怎麼學習。他提到一個方法就是看視頻,因為看書實在太枯燥和費解的,很多我們也看不懂。這點我真的很認同,我自己看書往往看不了幾頁。 我在想,為什麼別人都能自學成才,我也可以的!我要相信自己,所以我就想自學,如果實在學不會我再去培訓。 主意一定,我就去搜索嵌入式的視頻,雖然零星找到一些嵌入式的視頻,但是都不系統,我是想找一個能夠告訴我該怎麼學的視頻,一套從入門到精通的視頻,一個比較完整的資料,最好能有老師教,不懂可以請教的。 後來我又找到一份很好的視頻,是在IT學習聯盟推出的一份視頻《零基礎嵌入式就業班》,網址:http://www.itxxlm.com/portal.php?mod=view&aid=7。裡面的教程還不錯,很完整,可以讓我從基礎的開始學起。視頻比較便宜。 下面介紹下我的學習流程,希望對和我一樣完全沒有基礎的朋友有所幫助。 收到他們寄過來的光碟後,我就開始學習了,由於我沒有什麼基礎,我就從最簡單的C語言視頻教程學起,話說簡單,其實我還是很多不懂的,我只好請教他們,他們還是很熱心的,都幫我解決了。C語言我差不多學了一個禮拜,接下來我就學了linux的基本命令,我在他們提供linux虛擬機上都有做練習,敲linux的基本命令,寫簡單的C語言代碼,差不多也就三個禮拜。我每天都在不停的寫一些簡單的代碼,這樣一月後我基本掌握了C和linux的基本操作。 接下來我就去學習了人家的視頻的培訓教程,是整套的,和去參加培訓沒有多大的區別,這一看就是兩個月,學習了ARM的基本原理,學習嵌入式系統的概念,也掌握了嵌入式的環境的一些搭建,對linux也有更深層次的理解了,明白了嵌入式應用到底是怎麼做的,但是驅動我只是有一點點的了解,這個相對難一點,我想以後再慢慢啃。 這兩個月,除了吃飯睡覺,我幾乎都在學習。因為我知道幾乎沒有基礎,比別人差勁,我只能堅持努力著,我不能放棄,我必要要靠自己來養活自己,必須學好這門技術,然後我就把不懂的問題總結記下來,這樣慢慢積累了一段時間,我發現自己真的有點入門了。 最後的一個月,我就去看關於實踐部分的內容,了解嵌入式項目具體的開發流程,需要什麼樣的知識,我就開始准備這方面的知識,也就是學習這方面的視頻,同時他們建議我去找了找一些嵌入式面試的題目,為自己以後找工作做准備。我就到網上找了很多嵌入式的題目,把他們理解的記下來,這樣差不多准備了20天左右 我覺得自己差不多入門了,會做一些簡單的東西了。我就想去找工作看看,於是我就到51job瘋狂的投簡歷,因為我學歷的問題,專科沒有畢業,說真的,大公司沒有人會要我,所以我投的都是民營的小公司,我希望自己的努力有所回報。沒有想過幾天過後,就有面試了,但是第一次面試我失敗了,雖然我自認為筆試很好,因為我之前做了准備,但是他們的要求比較嚴格,需要有一年的項目經驗,所以我沒有被選中。 後來陸續面試了幾家公司,終於功夫不負有心人。我終於面試上的,是在閔行的一家民營的企業,公司規模比較小,我的職務是嵌入式linux應用開發,做安防產品的應用的。我想我也比較幸運,經理很看重我的努力,就決定錄用我,開的工資是3500一個月,雖然我知道在上海3500隻能過溫飽的生活,但是我想我足夠了。我至少不用每天都要靠父母養,我自己也能養活自己的。我想只要我繼續努力,我工資一定會翻倍的。 把本文寫出來,希望能讓和我一樣的沒有基礎的朋友有信心,其實我們沒有必要自卑,我們不比別人笨,只要我們肯努力,我們一樣會成功。
I. arm嵌入式系統基礎教程第二版課後答案
剛開始接觸嵌入式,只覺得鋪天蓋地的資料讓我眼花繚亂,自從接觸到這本書,感覺終於摸到路了。
這本書寫的很好,對於一個還沒入門的人來說。 原因如下:
首先,作者把最最基本的東西告訴你;其次,作者善於把復雜的東西用簡單、直觀的方式表現出來;再次,書中的內容是作者多年的實踐經驗得來,而不是把別的資料搬過來;最後,作者以實踐為主要學習手段。
還有,作者的開發板也太貴了……
我會自己寫完書中的例題答案,歡迎批評和建議,只求和大家共同進步,誠惶誠恐,再拜再拜……
第1章 嵌入式系統概述
(1)舉出3個本書中未提到的嵌入式系統的例子。
答:鍵盤、滑鼠、掃描儀。
(2)什麼叫嵌入式系統?
答:嵌入到對象體系中的專用計算機應用系統。
(3)什麼叫嵌入式處理器?嵌入式處理器分為哪幾類?
答:嵌入式處理器是為完成特殊的應用而設計的特殊目的的處理器。分為3類:1.注重尺寸、能耗和價格;2.關注性能;3.關注全部4個需求——性能、尺寸、能耗和價格。
(4)什麼是嵌入式操作系統?為何要使用嵌入式操作系統?
答:嵌入式操作系統是操作系統的一種類型,是在傳統操作系統的基礎上加入符合嵌入式系統要求的元素發展而來的。原因:1.提高了系統的可靠性;2.提高了開發效率,縮短了開發周期。3.充分發揮了32位CPU的多任務潛力。
第2章 ARM7體系結構
1.基礎知識
(1)ARM7TDMI中的T、D、M、I的含義是什麼?
答:T:高密度16位Thumb指令集擴展;D:支持片上調試;M:64位乘法指令;I:Embedded ICE硬體模擬功能模塊。
(2)ARM7TDMI採用幾級流水線?使用何種存儲器編址方式?
答:3級;馮·諾依曼結構。
(3)ARM處理器模式和ARM處理器狀態有何區別?
答:ARM處理器模式體現在不同寄存器的使用上;ARM處理器狀態體現在不同指令的使用上。
(4)分別列舉ARM的處理器模式和狀態?
答:ARM的處理器模式:用戶模式、系統模式、管理模式、中止模式、未定義模式、中斷模式、快速模式;ARM的處理器狀態:ARM狀態、Thumb狀態。
(5)PC和LR分別使用哪個寄存器?
答:PC:R15;LR:R14。
(6)R13寄存器的通用功能是什麼?
答:堆棧指針SP。
(7)CPSR寄存器中哪些位用來定義處理器狀態?
答:位31~28:N、Z、C、V,條件代碼標志位;27~8:保留位;7~0:I、F、T、M4~0,控制標志位。
(8)描述一下如何禁止IRQ和FIQ的中斷。
答:當控制位I置位時,IRQ中斷被禁止,否則允許IRQ中斷使能;當控制位F置位時,FIQ中斷被禁止,否則允許FIQ中斷使能。
2.存儲器格式
答:無論是大端格式還是小端格式,R2的值與R1一致;地址0x4000單元的位元組:大端:0x12、小端:0x78。
3.處理器異常
請描述一下ARM7TDMI產生異常的條件是什麼?各種異常會使處理器進入哪種模式?進入異常時內核有何操作?各種異常的返回指令又是什麼?
答:
【異常】 【模式】 【返回指令】
復位 管理 無
未定義指令 未定義 MOVS PC,R14
軟體中斷 管理 MOVS PC,R14
預取指中止 中止 SUBS PC,R14,#4
數據中止 中止 SUBS PC,R14,#8
IRQ 中斷 SUBS PC,R14,#4
FIQ 快速中斷 SUBS PC,R14,#4
進入異常時,內核自動做:PC→LR、CPSR→相應異常模式下的SPSR、設置CPSR為相應的異常模式、相應異常處理程序的中斷入口向量地址→PC。
第3章 ARM7TDMI(-S)指令系統
1.基礎知識
(1)ARM7TDMI(-S)有幾種定址方式?「LDR R1,[R0,#0x08]」屬於哪種定址方式?
答:有8種定址方式:1.寄存器定址 2.立即定址 3.寄存器移位定址 4.寄存器間接定址 5.基址定址 6.多寄存器定址 7.堆棧定址 8.相對定址;「LDR R1,[R0,#0x08]」屬於基址定址。
(2)ARM指令的條件碼有多少個?默認條件碼是什麼?
答:16個;AL。
(3)ARM指令中的第2個操作數有哪幾種形式?列舉5個8點陣圖立即數。
答:1.常數表達式(8點陣圖) 2.寄存器方式 3.寄存器移位方式;0x3FC、0、0xF0000000、200、0xF0000001。
(4)LDR/STR指令的偏移形式有哪4種?LDRB指令和LDRSB指令有何區別?
答:1.零偏移 2.前索引偏移 3.程序相對偏移 4.後索引偏移;LDRB:載入無符號位元組數據,LDRSB載入有符號位元組數據
(5)請指出MOV指令與LDR載入指令的區別及用途?
答:MOV指令的源操作數是常數或(帶偏移量的)寄存器,用於寄存器之間的數據傳送;LDR指令的源操作數是地址,用於存儲器到寄存器的數據傳送。
(6)CMP指令是如何執行的?寫一程序,判斷R1的值是否大於0x30,是則將R1減去0x30。
答:CMP指令將Rn-operand2,根據結果更新CPSR中的相應條件標志位。
CMP R1,0x30
SUBHI R1,0x30
(7)調用子程序是用B指令還是用BL指令?請寫出返回子程序的指令。
答:用BL;MOV PC,R14。
(8)請指出LDR偽指令的用法。指令格式與LDR載入指令的區別是什麼?
答:用法:LDR{cond} Rd,=立即數/標號+立即數;LDR偽指令的源操作數是代表一個常數,LDR載入指令的源操作數代表一個地址。
(9)ARM狀態與Thumb狀態的切換指令是什麼?請舉例說明。
答:BX;
;從ARM狀態切換到Thumb狀態
CODE32
LDR R0,=Lable+1
BX R0
CODE16
Lable MOV R1,#12
;從Thumb狀態切換到ARM狀態
CODE16
LDR R0,=Lable
BX R0
CODE32
Lable MOV R1,#10
(10)Thumb狀態與ARM狀態的寄存器有區別嗎?Thumb指令對哪些寄存器的訪問受到一定限制?
答:有區別;R8~R15。
(11)Thumb指令集的堆棧入棧、出棧指令是哪兩條?
答:PUSH、POP。
(12)Thumb指令集的BL指令轉移范圍為何能達到±4MB?其指令編碼是怎樣的?
答:BL指令事實上是兩條指令,其編碼為:11110{地址偏移高11位}、11111{地址偏移低11位},地址編碼22位,再左移一位(半字對齊),23位地址定址8MB,即±4MB。
2.有符號和無符號加法
答:
(1)
0xFFFF000F (A)
+0x0000FFF1 (B)
——————
(0x00000000)
NZCV=0110
如果兩個操作數是有符號數,A是負數,B是正數,和是0,沒有溢出,所以V=0。
如果兩個操作數是無符號數,和是0,有進位,所以C=1。
(2)
0x7FFFFFFF (A)
+0x02345678 (B)
——————
(0x82345677)
NZCV=1001
如果兩個操作數是有符號數,A是正數,B是正數,和是負數,有溢出,所以V=1。
如果兩個操作數是無符號數,沒有進位,所以C=0。
(3)
67654321 (A)
+ 23110000 (B)
——————
(0x0568F421)
NZCV=0000
如果兩個操作數是有符號數,A是正數,B是正數,和是正數,沒有溢出,所以V=0。
如果兩個操作數是無符號數,沒有進位,所以C=0。
J. 想學習 嵌入式ARM開發 請各位高手推薦個學習步驟!
1、抓住51開發ARM
這幾個月來我一直都爬在51的問題,自己都有一點笑自己了,用了4個月的時間,來鞏固51的原理和程序,還好我自己算是走過來了,自己笨,身邊的高才生又看不上51的原理,他們都比較「牛」,說51過時了,你問那個做什麼???我比較郁悶!過時嗎?我有一點懷疑?
他們不願意說有他們自己的理由,沒有人強求,靠自己好了。
我自己個人的觀點:51是一個基礎,而且還很重要,這是再我看了ARM之後感覺到的。它可以加速你的ARM學習速度,真得!不相信你試一試好了。
凡是要求一個速度、效率,不要做一些無用功,抓緊身邊的每一個一分鍾,人是活的,東西(知識、書)是死得,想要做的事情因此就簡單了。
2、我在網上看到了一篇很不錯的ARM文章,粘貼過來,為了和像我一樣在很少有人幫助的情況下,自學ARM 的難兄難弟們。
「ARM 怎麼入門」。我不是高手,仍然是菜鳥。
但是回想起自己當時的迷茫,特意寫了這篇東西,當作給和我一樣的兄弟姐妹的幫助吧。問這個問題的人多半不是已經工作的工程師,而是和我一樣是學生,所以這篇筆記就把看家當成我一樣的菜鳥,高手勿怪。
首先聲明:本人還沒有找工作,事實上處於研究生剛畢業,還沒開始找工作的空閑時間,44B0隻是興趣所在,打發時間。
所有看法完全是自己的感受,不代表任何他人。錯了的觀點各位幫我糾正。再次補充:很多朋友看了上面的話就問我為什麼研究生畢業了還不找工作:)說是打發時間,其實是因為研究生的時候帶了一個項目,申請提前畢業以後項目還有塊尾巴,答應導師把項目做完再走:)就這么簡單。男人總點負點責,呵呵
以下問題常被問到,我就想到哪說到哪吧。
一 首先說說ARM的發展 可以用一片大好來形容,翻開各個公司的網站,招聘裡面嵌入式占據了大半工程師職位。
廣義的嵌入式無非幾種:傳統的什麼 51、AVR、PIC稱做嵌入式微控制器;ARM是嵌入式微處理器;DSP;FPGA。
客觀的講,工作需求量上DSP的需求比ARM 要多,而ARM和FPGA差不多。
DSP因為數字處理與通信領域的空前發展而火暴,小到MP3 射象頭,大到我們軍品里的控制器,應用面很廣。
FPGA的兄弟一般做ANSIC(特殊晶元設計,好象是這么翻譯的)。而ARM單純說來並不比一個單片機強多少,但是它的獨特就在於不斷下降的價格和提升的性能。這完全依靠於ARM公司的戰略,厲害!!很佩服他們的戰略眼光!!
值得注意的是:在找工作中,企業(著名的,小的不算)對單純的ARM硬體開發工程師並不比單片機重視,很少有大企業的職位里寫「從事過ARM開發優先」。寫的多的是什麼?「嵌入式LINUX」到這相信大家看出來了吧,需要的是硬體中的軟體。
二 ARM是硬體還是軟體 很難說,ARM是硬體,LINUX是軟體。ARM的硬體多半已經模塊化了,像我這樣把板子改成這樣的就算動的多的了,這同樣是ARM公司的戰略,再次佩服。
實際中的LINUX的開發工作更多,更耗時。從這方面說ARM應該算是軟體了。
在找工作中更是這樣,舉個例子,聯想里和ARM最接近的是「BIOS工程師」是軟體,MOTO里接近的是嵌入式LINUX工程師是軟體。而其他很多公司把嵌入式產品開發歸為硬體。所以,不要討論這個,好好玩轉自己的板子才是關鍵。實在不爽你就把自己叫「嵌入式開發工程師」
三 要不要買開發板 買哪家
我的答案是「在你個人的學習方法」,但是如果看家是需要看這騙筆記的水平,個人推薦還是買現成的。 1.買
買板子可以把注意力集中在軟體開發上,軟體開發(尤其是驅動)可以不必擔心自己硬體上的問題,我就是以便調試一邊寫驅動和程序,每次寫驅動前就要先確認硬體沒問題。另外,買板子更省錢和時間,我自己做的板子,原理圖PCB花了2周以上!製版又15天,回來以後焊接44B0 160個腳!那叫一個麻煩~~花了多少錢呢?2層板,製版費就300塊!當然我把介面都外引了,還做了個20X18的LCD背板,板子比較大。總體下來元件+LCD屏+PCB=11XX塊!夠2410的了。
再有就是買的資料相對來說比較全,但是不要指望有技術支持!都是騙人的,賣你之後就不會理你。
2.做 自己做可以更了解底層硬體,可以按照自己的要求加東西,比如我就加了GPS模塊、 GPRS模塊、SD卡模塊,擴了個IIC的35個鍵子的鍵盤、把LCD介面按照買的LCD改裝了,可以用FPC線直接連接。做的很爽的。玩一把嗎。
當然,你可以有策略的做,比如像我一樣,把RAM和ROM,網路都保持和某現成的板子一樣,這樣他們的資料你就可以拿過來直接用,給自己留個退路。其他的如 SD了什麼的自己做。都達到了~~就是費錢,費時間。
再有就是給做的朋友幾點建議:盡量拿到現成的板子,盡量多搜集其他板子的全套資料,一定要拿到一張沒問題的原理圖。
網上流傳的原理圖多數是龔俊03年畫的,再這里對龔俊表達一下我的敬意!!牛人!
但是那個圖有個小BUG,我指的是03版的,後來的沒這問題了。8019那地址線和地址有問題。還有人仿照他的PDF圖畫的SCH,更是漏洞百出!譴責!順便譴責把龔俊板子偷賣的人。
3.買哪家
個人感覺分3類吧
1)首先是ZLG的,資料非常的全,感覺他是真正想教你怎麼開發ARM,而不是像有的公司自己技術都沒做好就做個板子出來賣錢。但是最大的不利就是價格太貴!而且主要是PHILIP的,貨源比較麻煩~~可能有人說21XX系列的不貴啊,那是匯流排不外擴的,只能跑UCOS,不能跑UCLINUX。但是說是話,21XX系列才是ARM7的價格性能結合點。ARM7最適合做工業控制,ARM普及,銷量都是怎麼來的?都是ARM7來的,而44B0是典型的商業片子。但是,這里如果你看中的是為工作做准備,還是選能跑UCLINUX的吧。
但是仍然作為第一個推薦,因為菜鳥時期,合適的資料太重要了!!在這里被ZLG的務實精神感動!你看人家那代碼寫的。
2)感覺立宇泰的44B0不錯
硬體沒別的,就是資料比較全的說,不像有些家,原理圖直接拿人家的,還錯的~~
3)找個最便宜的
好象最便宜的有賣350的吧?也是沒別的,就是即省了錢 還省時間搜集資料,至於資料全不全,別計較了~~硬體肯定好使就行吧。
四 要不要有51 AVR等單片機基礎
有更好,但沒有也無所謂。
兩個月以前,我只是看別人做,耳濡目染~~,本科學過單片機,從來沒做過。我們這的技術主幹做AVR和51,我就跟他們調過C語言程序。你看出來了?我是個不折不扣的菜鳥吧?
但是做這個之前我特意找了ZLG的兩本書,看了裡面的例子和原理圖,這很重要。常式里有匯編有C,都看懂了就OK,不用自己現寫
五 開發都需要學習哪些軟體
總結起來最主要的有以下幾個吧 1 ADS調試用
確切的說是ADS+AXD。 ADS里包含AXD。原來都用SDT後來ARM公司停止對SDT支持了,改支持ADS了,還是用ADS吧。
有的人的程序發布的仍然是SDT版本的,但基本都可以找到相應ADS的,新人在這里不要發蒙。ADS是編譯器,AXD是調試器。便宜成AXF以後再在ARM的RAM里調試。
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-BOOT
大名鼎鼎的BOOTLOADER生成工具,同類的好象還有VIVI(名字很曖昧~~)
生成的BOOTLOADER燒到FLASH里,然後就可以用BOOTLOADER下載 燒寫其他了
有了BOOTLOADER才能下UCLINUX。 BOOTLOADER就像電腦上的BIOS。當然UCOS的不用這個,用什麼我不知道:)
最新版本是1.1.4 具體使用方法看我另一篇筆記吧。
6 UCLINUX包
UCLINUX的源碼包,不用多說了吧?建議大家用現成的先體會一下,然後再自己編譯,裁剪。因為單獨 UCLINUX的編輯技術上比較簡單,但涉及的方面還是比較廣的。
7 VMWARE
老牌的虛擬機軟體,在一個機器上虛擬出一個機器裝 LINUX(PC上用的),省得你來回開關機了。記得裝VMWARE-TOOLS,安裝方法在我另一篇筆記里。
六 有哪些書推薦
主要推薦ZLG的三本書,有這3本再加網路就不用別的書了,其中主要推薦前2本,3是介紹體系結構的,也不錯 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周搞定,就是我先的ADS在RAM中調試的筆記。後來我清空FLASH用的小段程序還是當時寫的LED閃爍程序呢。另外1周里其中還因為自己過於菜,沒把OM設置好導致晶陣不陣
哈哈。這個是必須做的,但一帶而過。目標放的遠一點。
八 學習要用多長時間
我從菜鳥到現在兩個多月,中間被打擾數次。仍然搞定了PCB設計與製版,RAM調試,FLASH下載,UBOOT移植和下載UCLINUX(沒剪裁,用現成的),LCD驅動。
再次坦誠的說:我確實比較菜,說這些不是讓大家羨慕,只是告訴你們「你們應該比這個更好」
我相信良好的態度+合適的方法+及時的總結=成績
九 ARM都玩什麼就幾點
1 硬體設計
2 系統移植
3 驅動開發
4 應用開發
沒了。其中推薦把注意力放在後兩個上,3有難度,4比較靈活,最重要的是都是找工作的砝碼。
十 我用的什麼板子
很多人問我這個問題,我特意寫過一個的。再說一次吧。
我是自己做的,RAM、ROM、8019等比較麻煩而當時的自己不理解的都按照龔俊的做的。保持其他不便的情況下做了如下改動。
1 加了串口通信的GPS模塊、 GPRS模塊
一個 UART0,一個UART1,當與要用超級終端時用跳線切換。
2 SD卡,和7843觸摸屏
同時掛在SPI匯流排上,因為SPI只能掛一個設備,同時還做了I/O模擬的准備,把兩個設備又通過跳線掛在4個IO上。
3 擴了個IIC的35個鍵子的鍵盤
用的ZLG的7290,不佔用CPU,最大支持64個鍵子,只上了35個,其他留介面。
4 把LCD介面按照買的LCD改裝了,可以用FPC線直接連接。
所以改動雖然多,但真正很移植了,初期調試有關的並沒動,就是為了現在不那麼菜的時候做准備:)
十一 開發流程
這里是我的開發流程
1 設計原理圖(含WIGGLER的JTAG訪真器)
2 設計PCB(含WIGGLER的JTAG訪真器)
3 製版
4 焊接電壓,確定電壓沒問題
5 焊接44B0+JTAG電路+WIGGLER的JTAG訪真器+周邊電路,用BANYANT+模擬器連接,BANYANT提示錯誤,但可以顯示44B0編號,好象是0X0F0F0F0F只類的,說明44B0沒問題
6 焊接晶體+RAM+ROM+周邊電路,用BANYANT+模擬器連接,可以顯示正確的44B0了
7 用BANYANT+模擬器連接,開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復位。
當然,板子上的復位信號跳線也不用跳。
十三 哪個公司的ARM
這個是問題比較簡單。 1 ARM7主要就幾個公司的
三星,PHILIP,ATMEL的
ATMEL的有比較便宜的AT91SAM7S32 和AT91SAM7S64 專為8位應用產品量身定做,價格很便宜好象《3刀吧。和PHILIP的21XX差不多,資料太少,項目中選還不錯。
其他兩家上面說了的不多說了吧
2 ARM9
這個玩2410和2440的多吧,現在2440還比較火啊 可以考慮買個了
但是 2410就比較便宜了,作為學習來說反到和不錯,推薦整一個:)
其實ARM9用的最多的領域應該是消費電子,比如手機PDA,而這上面用的多的應該是INTEL的和TI的吧。
但是INTEL的TI的入門材料少,價格高,自己看情況定吧