目錄
第1章 SoC的時代1-1
1.1 SoC時代的簡介1-1
1.1.1 系統晶片(SoC)關鍵技術-IP矽智產1-3
1.1.2 SoC好處1-5
1.1.3 SoC的技術挑戰1-5
1.1.4 系統晶片圖示1-6
1.1.5 全球SoC IP市場佔有圖表1-7
1.2 ARM Core沿革介紹1-7
1.2.1 ARM歷史沿革1-8
1.3 ARM處理器系列核心架構1-10
1.3.1 ARM7系列核心1-14
1.3.2 ARM91-16
1.3.3 StrongARM處理器及XScale微處理器1-18
1.3.4 ARM10 Thumb系列1-20
1.3.5 SecurCore系列1-20
1.3.6 Jazelle技術功能核心1-21
1.3.7 架構延伸方案1-22
1.4 ARM應用系統1-23
1.4.1 汽車電子1-23
1.4.2 消費性娛樂產品1-23
1.4.3 工 業1-24
1.4.4 網 路1-24
1.4.5 影像處理1-25
1.4.6 高容量儲存系統1-25
1.4.7 安全系統1-26
1.4.8 無線通訊1-26
第2章 ARM7TDMI微控制器核心2-1
2.1 ARM7TDMI簡介2-1
2.1.1 ARM7TDMI方塊圖示2-4
2.1.2 ARM7TDMI核心圖示2-5
2.1.3 ARM7TDMI信號機能圖示2-6
2.2 信號描述2-7
2.3 模組規劃2-13
2.3.1 硬體規劃信號2-14
2.3.2 操作模式的選擇2-15
2.3.3 暫存器2-16
2.3.4 例外事件(Exception)2-19
2.3.5 重置(Reset)2-25
2.4 記憶體介面2-25
2.4.1 週期型態2-25
2.4.2 位元組(Byte)的定址2-28
2.4.3 位址時序2-29
2.4.4 記憶體管理2-32
2.4.5 被鎖住的操作2-33
2.4.6 延伸存取的時間2-34
第3章 ARM/Thumb指令集3-1
3.1 ARM指令集3-1
3.1.1 ARM指令集摘要3-1
3.1.2 條件欄3-5
3.1.3 分支與轉換(BX:Branch and Exchange)3-6
3.1.4 分支和帶連結的分支(B, BL)3-8
3.1.5 資料處理3-10
3.1.6 PSR轉換(MRS、MSR)3-20
3.1.7 乘法和乘積(MUL、MLA)3-25
3.1.8 長乘法和長乘積(MULL、MLAL)3-28
3.1.9 單筆資料轉換(LDR、STR)3-31
3.1.10 半字元組和單筆資料轉換
(LDRH/STRH/LDRSB/LDRSH)3-38
3.1.11 區塊資料轉換(LDM、STM)3-46
3.1.12 單筆資料互換(SWP)3-55
3.1.13 軟體中斷(SWI)3-57
3.1.14 輔助處理器資料操作(CDP)3-59
3.1.15 輔助處理器資料傳輸(LDC、STC)3-61
3.1.16 輔助處理器之暫存器傳輸(MRC、MCR)3-65
3.1.17 未定義指令3-68
3.1.18 指令集範例3-69
3.2 Thumb指令集3-75
3.2.1 格式1:暫存器搬移/移位
(move shifted register)3-78
3.2.2 格式:加法/減法(add/subtract)3-80
3.2.3 格式3:立即值之搬移/比較/加法/減法
(move/compare/add/subtract immediate)3-82
3.2.4 格式4:ALU的操作3-83
3.2.5 格式5:高位暫存器的操作/分支改變
(Hi register operations/branch exchange)3-85
3.2.6 格式6:PC相對的載入(PC relative load)3-87
3.2.7 格式7:帶暫存器偏移量之載入/儲存
(load/store with register offset)3-89
3.2.8 格式8:帶符號延伸之位元組/半字元之載入
/儲存(load/store sign extended byte/halfword)3-90
3.2.9 格式9:帶立即值偏移之載入/儲存
(load/store with immediate offset)3-92
3.2.10 格式10:半字元組之載入/儲存
(load/store halfword)3-94
3.2.11 格式11:SP相對的載入/儲存
(SP relative load/store)3-96
3.2.12 格式12:載入地址(load address)3-97
3.2.13 格式13:加入偏移量的堆疊指標
(add offset to Stack Pointer)3-98
3.2.14 格式14:堆入/彈出暫存器
(push/pop registers)3-100
3.2.15 格式15:多重載入/儲存(multiple load/store)3-101
3.2.16 格式16:附有條件的分支(conditional branch)3-102
3.2.17 格式17:軟體中斷(software interrupt)3-104
3.2.18 格式18:無條件分支(unconditional branch)3-105
3.2.19 格式19:帶連結的之長分支
(long branch with link)3-106
3.2.20 指令集範例3-108
第4章 AT91 ARM/Thumb微控制器特性簡介4-1
4.1 AT91特點4-1
4.1.0 AT91X40系列微電腦控制器的特點4-1
4.1.1 AT91X40描述4-3
4.1.2 接腳佈局4-4
4.1.3 AT91X40系列接腳描述4-5
4.1.4 功能方塊圖4-6
4.2 AT91X40架構敘述4-7
4.2.1 AT91X40架構概要4-7
4.2.2 記憶體4-7
4.2.3 週邊(Peripherals)4-8
4.2.4 相關文件4-10
4.3 AT91X40系列產品概要4-11
4.3.1 電源供應4-11
4.3.2 輸入/輸出考量4-11
4.3.3 主要時脈(Master Clock)4-11
4.3.4 重置(Reset)4-12
4.3.5 模擬(Emulation)功能4-12
4.3.6 記憶體控制器4-13
4.3.7 外部的匯流排界面(External Bus Interface;EBI)4-16
4.3.8 週邊(Peripherals)4-17
4.3.9 系統週邊(System Peripherals)4-19
4.3.10 使用者週邊(User Peripherals)4-21
4.3.11 記憶體圖對映(Memory Map)4-21
4.4 EBI︰外部匯流排界面4-25
4.4.1 外部匯流排界面(External Bus Interface;EBI)4-25
4.4.2 外部記憶體對映(External Memory Mapping)4-26
4.4.3 晶片選擇線(Chip Select Lines)4-28
4.4.4 資料匯流排寬度(Data Bus Width)4-29
4.4.5 位元組寫入或位元組選擇存取4-30
4.4.6 由NCS0開機(Boot on NCS0)4-33
4.4.7 讀取協定(Read Protocols)4-33
4.4.8 寫入資料維持時間(Write Data Hold Time)4-36
4.4.9 等待狀態(Wait States)4-36
4.4.10 外部等待4-39
4.4.11 晶片選擇變更等待狀態(Chip Select Change
Wait States)4-40
4.4.12 記憶體存取波形(Memory Access Waveforms)4-40
4.4.13 AT91X40系列各種讀取和寫入存取外部記憶
體裝置的時序週期和等待狀態4-43
4.4.14 EBI使用者界面4-50
4.4.15 EBI晶片選擇暫存器(Chip Select Register)4-52
4.4.16 EBI位址重新定位控制暫存器(Remap Control
Register)4-55
4.4.17 EBI記憶體控制暫存器(Memory Control
Register)4-55
4.5 PS︰電力節省模式(Power-saving)4-56
4.5.1 週邊時脈(Peripheral Clocks)4-57
4.5.2 PS︰電力節省模式(PS)使用者介面4-57
4.5.3 PS控制暫存器(PS Control Register)4-58
4.5.4 PS週邊時脈致能暫存器4-58
4.5.5 PS週邊時脈除能暫存器4-59
4.5.6 PS週邊時脈狀態暫存器4-61
4.6 先進中斷控制器(AIC)4-62
4.6.1 硬體中斷向量4-65
4.6.2 優先等級控制器(Priority Controller)4-65
4.6.3 中斷處理(Interrupt Handling)4-66
4.6.4 中斷遮罩(Interrupt Masking)4-66
4.6.5 中斷清除與設定(Interrupt Clearing and Setting)4-67
4.6.6 快速中斷要求(Fast Interrupt Request)4-67
4.6.7 軟體中斷(Software Interrupt)4-67
4.6.8 假的中斷(Spurious Interrupt)4-68
4.6.9 保護模式(Protect Mode)4-68
4.6.10 AIC使用者界面4-70
4.6.11 AIC來源模式暫存器(AIC Source Mode
Register)4-71
4.6.12 AIC來源向量暫存器(AIC Source Vector
Register)4-72
4.6.13 AIC中斷向量暫存器(AIC Interrupt Vector
Register)4-73
4.6.14 AIC快速中斷向量暫存器(AIC FIQ Vector
Register)4-74
4.6.15 AIC中斷狀態暫存器(Interrupt Status
Register)4-74
4.6.16 AIC中斷等待暫存器(Interrupt Pending
Register)4-75
4.6.17 AIC中斷遮罩暫存器(Interrupt Mask Register)4-76
4.6.18 AIC中斷狀態暫存器(Interrupt Status Register)4-76
4.6.19 AIC中斷致能命令暫存器(Interrupt Enable
Command Register)4-77
4.6.20 AIC中斷禁止命令暫存器(Interrupt Disable
Command Register)4-78
4.6.21 AIC中斷清除命令暫存器(Interrupt Clear
Command Register)4-79
4.6.22 AIC中斷設定暫存器(Interrupt Set Command
Register)4-79
4.6.23 AIC中斷結束命令暫存器(End of Interrupt
Command Register)4-80
4.6.24 AIC假的向量暫存器(Spurious Vector Register)4-81
4.6.25 標準中斷程序4-81
4.6.27 快速中斷步驟4-83
4.7 並列I/O控制器
(PIO︰Parallel I/O Controller)4-85
4.7.1 多工使用的I/O線(Multiplexed I/O Lines)4-85
4.7.2 輸出選擇4-86
4.7.3 I/O準位4-86
4.7.4 濾波器(Filters)4-87
4.7.5 中 斷4-87
4.7.6 使用者界面4-87
4.7.7 PIO使用者界面4-91
4.7.8 PIO致能暫存器4-92
4.7.9 PIO除能暫存器4-92
4.7.10 PIO狀態暫存器4-93
4.7.11 PIO輸出致能暫存器4-94
4.7.12 PIO輸出除能暫存器4-94
4.7.13 PIO輸出狀態暫存器4-95
4.7.14 PIO輸入過濾致能暫存器(Input Filter Enable
Register)4-96
4.7.15 PIO輸入濾波除能暫存器(Input Filter Disable
Register)4-97
4.7.16 PIO輸入濾波狀態暫存器(Input Filter Status
Register)4-97
4.7.17 PIO設定輸出資料暫存器(PIO Set Output Data
Register)4-98
4.7.18 PIO清除輸出資料暫存器(PIO Clear Output
Data Register)4-99
4.7.19 PIO輸出資料狀態暫存器(PIO Output Data
Status Register)4-100
4.7.20 PIO接腳資料狀態暫存器(PIO Pin Data Status
Register)4-100
4.7.21 PIO中斷致能暫存器(Interrupt Enable
Register)4-101
4.7.22 PIO中斷除能暫存器(Interrupt Disable Register)4-102
4.7.23 PIO中斷遮罩暫存器(PIO Interrupt Mask
Register)4-103
4.7.24 PIO中斷狀態暫存器(PIO Interrupt Status
Register)4-103
4.8 看門狗計時器 (WDT︰Watchdog Timer)4-104
4.8.1 看門狗計時器結構4-104
4.8.2 看門狗使用者界面4-106
4.8.3 看門狗溢位模式暫存器 (WD Overflow Mode
Register)4-106
4.8.4 看門狗時脈模式暫存器(WD Clock Mode
Register)4-107
4.8.5 看門狗控制暫存器(WD Control Register)4-109
4.8.6 看門狗狀態暫存器(WD Status Register)4-109
4.8.7 看門狗計時器致能程序4-110
4.9 SF︰特殊功能暫存器4-111
4.9.1 晶片識別4-111
4.9.2 SF使用者界面4-111
4.9.3 晶片識別暫存器(Chip ID Register)4-112
4.9.4 晶片識別(ID)延伸暫存器4-114
4.9.5 重置狀態暫存器4-114
4.9.6 SF記憶體模式暫存器4-115
4.9.7 SF保護模式暫存器(Protect Mode Register)4-116
4.10 USART通用同步非同步接收傳送器4-117
4.10.1 USART︰通用同步/非同步接收/傳送器
(Universal Synchronous/Asynchronous
Receiver/Transmitter)4-117
4.10.2 USART接腳敘述4-118
4.10.3 鮑率產生器(Baud Rate Generator)4-119
4.10.4 接收器4-120
4.10.5 傳送器(Transmitter)4-123
4.10.6 Break4-125
4.10.7 週邊資料控制器(Peripheral Data Controller)4-127
4.10.8 產生中斷4-128
4.10.9 通道模式4-128
4.10.10 USART使用者界面4-129
4.10.11 USART 控制暫存器(USART Control Register)4-130
4.10.12 USART模式暫存器(USART Mode Register)4-132
4.10.13 USART中斷致能暫存器 (USART Interrupt
Enable Register)4-135
4.10.14 USART中斷禁止暫存器(USART Interrupt
Disable Register)4-137
4.10.15 USART中斷遮罩暫存器(USART Interrupt
Mask Register)4-139
4.10.16 USART通道狀態暫存器(USART Channel
Status Register)4-141
4.10.17 USART接收保持暫存器(USART Receiver
Holding Register)4-143
4.10.18 USART傳送保持暫存器(USART Transmitter
Holding Register)4-144
4.10.19 USART鮑率產生暫存器(USART Baud Rate
Generator Register)4-145
4.10.20 USART接收超時暫存器(USART Receiver
Time-out Register)4-146
4.10.21 USART傳送Time-guard暫存器4-147
4.10.22 USART接收指標暫存器(USART Receive
Pointer Register)4-148
4.10.23 USART接收計數暫存器(USART Receive
Counter Register)4-148
4.10.24 USART傳送指標暫存器(USART Transmit
Pointer Register)4-149
4.10.25 USART傳送計數暫存器(USART Transmit
Counter Register)4-150
4.11 計時計數器(Timer Counter)4-151
4.11.1 計時計數器4-151
4.11.2 信號名稱描述4-152
4.11.3 計時計數器描述4-153
4.11.4 捕捉工作模式4-157
4.11.5 波形工作模式4-159
4.11.6 TC使用者界面4-163
4.11.7 TC區塊控制暫存器(Block Control Register)4-164
4.11.8 TC區塊模式暫存器(Block Mode Register)4-165
4.11.9 TC通道控制暫存器(Channel Control
Register)4-167
4.11.10 TC通道模式暫存器︰捕捉模式4-168
4.11.11 TC通道模式暫存器︰波形模式4-171
4.11.12 TC計數值暫存器4-176
4.11.13 TC暫存器A4-177
4.11.14 TC暫存器B4-178
4.11.15 TC暫存器C4-178
4.11.16 TC狀態暫存器4-179
4.11.17 TC中斷致能暫存器4-181
4.11.18 TC中斷禁止暫存器4-183
4.11.19 TC中斷遮罩暫存器4-184
第5章 ARM軟硬體工具介紹5-1
5.1 除錯工具5-1
5.1.1 線上模擬器-ICE5-3
5.2 軟 體5-6
5.2.1 Green Hills Inc.--MULTI 2000 IDE5-6
5.2.2 Hitool for ARM發展系統5-7
5.2.3 ARM Developer Suite5-8
5.2.4 ARM SDT5-11
5.3 硬 體5-12
5.4 Firmware(韌體)5-14
5.4.1 模型工具5-14
5.5 EDA夥伴計劃5-15
5.6 模型工具5-15
5.7 IP解決方案5-16
5.7.1 PrimeCells5-16
5.7.2 AMBA5-17
5.8 協力廠商IP開發5-18
第6章 ARM EV40實驗評估板6-1
6.0 概 述6-1
6.0.1 功能列表6-1
6.1 功能敘述6-3
6.1.1 串列埠(serial ports)6-3
6.1.2 電源開啟自我測試6-3
6.1.3 SRAM空間6-4
6.1.4 評估板上的快閃記憶體(Flash ROM)6-4
6.1.5 20針腳JTAG插座6-4
6.1.6 乙太網絡(Ethernet)界面連結器(J18)6-4
6.1.7 USB界面連結器(J1)6-5
6.1.8 PC104界面連結器(JP6、JP7)6-5
6.1.9 I/O擴充(JP1)6-5
6.1.10 外部匯流排界面擴充連結器(JP8)6-6
6.1.11 七段顯示器LED6-6
6.1.12 觸控面板(Touch Panel)和繪圖式LCD連結器6-6
6.1.13 晶片選擇信號(Chip's select signal)設定6-7
6.2 在EV40評估板上設定(Jumper)選擇6-7
6.2.1 時脈(Clock)設定(JP2)選擇6-7
6.2.2 I/O模式設定(Jumper)選擇6-8
6.2.3 蜂鳴器(Buzzer)致能設定(Jumper)選擇6-9
6.2.4 乙太網絡(Ethernet)模式設定(Jumper)選擇6-9
6.2.5 預設設定(Jumper)選擇6-9
6.2.6 位址空間分派6-10
6.3 EV40實驗評估板電路圖6-12
6.4 EBI MEM記憶卡6-21
6.4.0 概 要6-21
6.4.1 如何使用記憶體擴充卡片6-21
6.4.1 Jumper設定選擇6-22
6.4.2 EBI MEM記憶卡片連接到EV40評估板6-24
6.5 記憶體設定對應圖(Memory Map Setup)6-25
6.5.1 規劃EV40評估板上的EBI6-26
6.5.2 MCU晶片選擇6-26
6.6 EBI MEM記憶卡電路圖6-27
第7章 初始設定7-1
7.1 關於編寫啟動程式7-2
7.2 介紹ARM重置時安排的考慮7-14
7.2.1 重置來源(Reset Sources)7-15
7.2.2 輸入/輸出的考量
(Input/Output Considerations)7-16
7.2.3 系統重置(System Reset)7-16
7.2.4 三態模式(Tri-state Mode)7-16
7.2.5 開機程序(Boot Sequence)7-17
7.2.6 記憶體重新配置命令(Remap Command)7-18
7.2.7 外部匯流排界面(External Bus Interface)7-19
7.2.8 電力儲存(Power-saving)(也稱:省電模式)
(僅在AT91x40族系才有)7-20
7.2.9 先進的中斷控制器
(Advanced Interrupt Controller)7-21
7.2.10 週邊輸入/輸出控制器
(Peripheral Input/Output Controller)7-23
7.2.11 看門狗計時器(Watchdog Timer)7-25
7.2.12 特殊功能(Special Function)7-25
7.2.13 萬用同步/非同步的接收器/發射器
(Universal Synchronous/Asynchronous
Receiver/Transmitter)7-26
7.2.14 計時器/計數器(Timer/Counter)7-27
7.3 撰寫AT91 C語言之起動階段組合語言程式碼
的程序7-29
7.3.0 引 言7-29
7.3.1 C語言初始化程序(C Startup Sequence)7-29
7.3.2 C語言程式啟動範例(C Startup Example)7-32
7.3.3 為初始化的程式碼中的範圍和進入點的定義7-33
7.3.4 設定例外事件向量(Setup Exception Vectors)7-33
7.3.5 外部匯流排界面初始化表格7-36
7.3.6 重置管理者(Reset Handler)7-37
7.3.7 快速啟動的程序
(Speed Up the Boot Sequence)7-37
7.3.8 低階初始化(Low Level Initialization)7-38
7.3.9 先進中斷控制器(Advanced Interrupt
Controller)的規劃7-39
7.3.10 複製例外事件中斷向量到內部RAM
(Copy Exception Vectors in Internal RAM)7-41
7.3.11 記憶體控制器初始化和重新配置(remap)命
令(Memory Controller Initialization and
Remap Command)7-44
7.3.12 堆疊暫存器初始化堆
(Initialize Stack Registers)7-46
7.3.13 改變處理機模式和致能中斷(Change Processor
Mode and Enable Interrupts)7-49
7.3.14 初始化軟體變數和跳躍(分支)到Main函式
(Initialize Software Variable and Branch
to Main Function)7-49
7.4 重置(Reset)建議電路7-51
7.4.1 建議電路17-51
7.4.2 建議電路27-52
附錄A Hitool在EV-7T Board編寫Gun C程式A-1
附錄A.0A-1
附錄A.1 安裝Hitool for ARMA-3
附錄A.2 進入Hitool for ARM之前需要設定A-6
附錄A.3 第一次下載Hitool for ARM程式A-7
附錄A.4 Hitool for ARM程式建立全新專案A-11
附錄A.5 建立C程式GNU C Compiler設定A-20
附錄A.6 Hitool for ARM除錯操作A-39
附錄A.7 Evaluator 7TA-69
附錄A.8 Evaluator 7T之7段顯示器GNU C程式A-73
附錄A.9 建立GNU C+Evaluator 7T專案A-82
附錄B Green Hill V3.5 (Multi-2000)之安裝使用B-1
附錄B.1 本附錄說明B-1
附錄B.2 Part 1:安裝Green Hills之" Multi-2000 "B-2
附錄B.3 MAJIC安裝設定使用B-12
附錄B.4 JEENI安裝使用B-27
附錄B.5 Macraigor OCD安裝使用B-36
附錄C ADS v1.2 + ICE安裝使用C-1
附錄C.1 安裝ARM Developer Suite Version 1.2
(ADS v1.2)C-2
附錄C.2 Part 2:ADS v1.2註冊C-5
附錄C.3 Part 3:下載一個Atmel 91EB40 Board
之範例程式C-7
附錄C.4 MAJIC安裝設定使用C-10
附錄C.5 JEENI安裝使用C-24
第1章 SoC的時代1-1
1.1 SoC時代的簡介1-1
1.1.1 系統晶片(SoC)關鍵技術-IP矽智產1-3
1.1.2 SoC好處1-5
1.1.3 SoC的技術挑戰1-5
1.1.4 系統晶片圖示1-6
1.1.5 全球SoC IP市場佔有圖表1-7
1.2 ARM Core沿革介紹1-7
1.2.1 ARM歷史沿革1-8
1.3 ARM處理器系列核心架構1-10
1.3.1 ARM7系列核心1-14
1.3.2 ARM91-16
1.3.3 StrongARM處理器及XScale微處理器1-18
1.3.4 ARM10 Thumb系列1-20
1.3.5 SecurCore系列1-20
1.3.6 Jazelle技術功能核心1-21
1.3.7 架構延伸方案1-22
1.4 ARM應用系統1-23
1.4.1 汽車電...
購物須知
退換貨說明:
會員均享有10天的商品猶豫期(含例假日)。若您欲辦理退換貨,請於取得該商品10日內寄回。
辦理退換貨時,請保持商品全新狀態與完整包裝(商品本身、贈品、贈票、附件、內外包裝、保證書、隨貨文件等)一併寄回。若退回商品無法回復原狀者,可能影響退換貨權利之行使或須負擔部分費用。
訂購本商品前請務必詳閱退換貨原則。