基本信息
出版社: 電子工業出版社; 第1版 (2012年1月1日)
叢書名: 嵌入式技術與套用叢書
平裝: 369頁
正文語種: 簡體中文
開本: 16
ISBN: 7121153033, 9787121153037
條形碼: 9787121153037
商品尺寸: 25.8 x 18 x 1.8 cm
商品重量: 581 g
ASIN: B006L7GPPU
內容簡介
《ARM處理器裸機開發實戰:機制而非策略》面向立志於進行ARM嵌入式開發的初學者以及從單片機向ARM處理器轉型的工程師,按照理論實踐相結合的思想,介紹了ARM嵌入式開發過程中的基礎理論,並給出了具體的實例。全書共分為4篇,包括ARM彙編語言、ARMC語言、ARM處理器各功能模組開發等內容。
《ARM處理器裸機開發實戰:機制而非策略》針對ARM處理器裸機開發過程中的重點、難點問題,既有基礎知識的講述,又有相關配套實驗,使讀者能容易、快速、全面地掌握ARM處理器裸機開發。
編輯推薦
《ARM處理器裸機開發實戰:機制而非策略》:寫作特點★理論和實踐相結合,夯實理論基礎,強化實踐環節、★模組化設計與系統設計相結合、★立足於ARM處理器,並給出了設計思想與方案、★用樸實的語言描述看似深奧的理論。適用對象★高等院校電子、通信、自動控制等專業學生、★從單片機開發向ARM嵌入式開發轉型的工程師、★從事ARM嵌入式開發的相關技術人員。
目錄
第1篇 基礎篇
第1章 ARM處理器簡介
1.1 處理器工作模式
1.2 暫存器介紹
1.2.1 堆疊指針暫存器R13和連結暫存器R14
1.2.2 程式計數器R15
1.2.3 程式狀態暫存器
1.3 工作狀態
1.4 數據長度
1.5 存儲系統
1.5.1 ARM地址空間
1.5.2 ARM存儲器的格式
1.6 天嵌TQ2440開發板硬體資源概述
1.7 本章小結
1.8 擴展閱讀之CISC處理器和RISC處理器簡介
第2章 ADS集成開發環境及程式下載具體流程
2.1 ADS 1.2集成開發環境簡介
2.1.1 CodeWarrior for ARM
2.1.2 AXD調試器的啟動
2.2 工程的編輯與修改
2.2.1 建立一個新工程
2.2.2 建立一個源檔案
2.2.3 添加源檔案到工程
2.2.4 編譯與連結工程
2.2.5 打開已有的工程
2.3 工程的調試
2.3.1 裝載映像檔案
2.3.2 調試工具條的使用
2.4 H-JTAG的安裝與調試
2.4.1 H-JTAG的安裝
2.4.2 H-JTAG的設定
2.5 使用U-Boot下載裸機程式
2.6 本章小結
第3章 ARM指令集及彙編語言基礎
3.1 ARM指令集介紹
3.1.1 ARM指令集
3.1.2 ARM定址方式
3.1.3 ARM偽操作和偽指令介紹
3.2 ARM彙編基礎知識
3.3 ARM彙編程式的基本結構
3.3.1 編寫彙編程式基本的格式規範
3.3.2 程式入口和程式結束
3.3.3 段
3.3.4 標號(標誌符)
3.3.5 外部標號
3.3.6 檔案包含
3.4 用AXD調試ARM彙編程式實驗
3.4.1 建立工程並添加源檔案
3.4.2 工程的設定
3.4.3 編譯源檔案
3.4.4 啟動AXD調試器
3.4.5 手把手調試彙編程式
3.5 常用彙編語言程式子模組實例分析
3.5.1 特殊功能暫存器的訪問
3.5.2 記憶體數據複製
3.5.3 批量載入與存儲
3.5.4 堆疊操作
3.5.5 實現查表功能
3.6 本章小結
3.7 擴展閱讀之記憶體和I/O地址、前序定址和後序定址
第4章 ARM C語言基礎
4.1 數據類型基礎
4.1.1 用typedef和#define定義類型
4.1.2 用signed和unsigned修飾數據類型
4.1.3 volatile和強制類型轉換
4.2 深入理解位運算符和位運算
4.2.1 按位與運算符(&)
4.2.2 按位或運算符(|)
4.2.3 按位取反運算符(~)
4.2.4 左移和右移運算符(<>)
4.2.5 位運算套用實例分析
4.3 控制結構
4.3.1 選擇結構
4.3.2 循環結構
4.4 防止檔案重複包含技巧
4.5 ARM編譯器對C語言的擴展
4.5.1 __irq聲明中斷處理函式
4.5.2 __swi聲明軟中斷
4.5.3 __asm內嵌彙編
4.5.4 __inline定義內聯函式
4.6 本章小結
4.7 擴展閱讀之高速快取基礎知識
第5章 ARM彙編語言和C語言混合編程基礎
5.1 一個混合編程實例的實現
5.2 APCS規則概述
5.2.1 暫存器的使用
5.2.2 參數傳遞
5.2.3 函式的返回值
5.3 本章小結
第6章 GPIO編程實驗
6.1 GPIO概述
6.1.1 GPIO引腳介紹
6.1.2 GPIO特性分析
6.1.3 GPIO相關暫存器
6.1.4 GPIO套用實例
6.2 基礎實驗:第一個裸機程式——流水燈
6.2.1 硬體電路分析
6.2.2 建立工程並添加啟動代碼
6.2.3 添加源檔案
6.2.4 編輯源檔案
6.2.5 工程設定、編譯、連結
6.2.6 下載程式到開發板運行
6.2.7 由點亮LED引發的思考
6.2.8 再議點亮LED實驗
6.2.9 將點亮一個LED擴展到流水燈
6.3 GPIO擴展實驗
6.3.1 按鍵實驗
6.3.2 蜂鳴器實驗
6.4 本章小結
6.5 擴展閱讀之模組化編程、NAND FLASH和 NOR FLASH概述
第2篇 提高篇
第7章 啟動代碼分析
7.1 從開發板硬體講起
7.1.1 TQ2440核心板晶片功能介紹
7.1.2 從NAND FLASH和NOR FLASH啟動流程分析
7.2 啟動代碼詳解
7.3 啟動代碼主要功能模組分析
7.3.1 建立中斷向量表
7.3.2 初始化各個模式的堆疊
7.3.3 初始化系統硬體
7.3.4 初始化應用程式的執行環境並跳轉到主程式執行
7.3.5 跳轉到C語言主程式執行
7.4 本章小結
7.5 本章附錄——完整版啟動代碼
第8章 系統時鐘和定時器
8.1 S3C2440時鐘系統概述
8.1.1 系統時鐘初始化
8.1.2 FCLK、HCLK和PCLK與Fin的關係
8.2 定時器原理與套用
8.2.1 定時器原理
8.2.2 定時器相關的暫存器
8.2.3 定時器基礎實驗代碼詳解及測試
8.2.4 定時器擴展實驗之PWM實驗
8.3 本章小結
第9章 存儲器控制器
9.1 S3C2440地址空間
9.2 操作實例:SDRAM實例分析
9.2.1 SDRAM工作原理
9.2.2 SDRAM接口電路設計
9.2.3 SDRAM初始化過程詳解
9.2.4 回顧啟動代碼中的SDRAM初始化
9.3 本章小結
第10章 通用異步收發器(UART)
10.1 UART概述
10.2 S3C2440處理器UART工作原理
10.3 引腳描述及相關暫存器
10.4 UART基礎實驗
10.4.1 硬體電路分析
10.4.2 程式設計及代碼詳解
10.4.3 實例測試
10.4.4 UART基礎實驗分析
10.5 UART高級實驗——可變參數函式在UART中的套用
10.5.1 程式設計及代碼詳解
10.5.2 實例測試
10.6 本章小結
第11章 中斷控制系統
11.1 S3C2440中斷系統概述
11.1.1 深入理解CPU的工作模式
11.1.2 中斷控制器
11.2 外部中斷實驗
11.2.1 硬體電路分析
11.2.2 程式分析
11.2.3 中斷執行流程詳解
11.2.4 中斷處理流程引發的思考
11.2.5 實例測試
11.2.6 為什麼進入不了中斷
11.3 定時器中斷實驗
11.3.1 程式代碼分析
11.3.2 實例測試
11.4 串口中斷原理及實驗
11.4.1 如何正確使用中斷
11.4.2 程式代碼分析
11.4.3 實例測試
11.5 ARM中斷之高級套用:軟中斷原理及實驗
11.5.1 程式代碼分析
11.5.2 實例測試
11.5.3 軟中斷所用到的啟動代碼
11.6 本章小結
第12章 NAND FLASH原理與實驗
12.1 FLASH概述
12.1.1 NAND FLASH的基本結構
12.1.2 NAND FLASH接口電路
12.1.3 如何訪問NAND FLASH
12.1.4 S3C2440 NAND FLASH控制器
12.1.5 使用宏代替簡單的函式
12.2 NAND FLASH基礎實驗
12.2.1 NAND FLASH基本操作函式分析
12.2.2 NAND FLASH基礎實驗之頁讀寫
12.2.3 頁讀寫實例測試
12.2.4 NAND FLASH基礎實驗之讀ID
12.2.5 讀ID實例測試
12.3 NAND FLASH高級實驗
12.3.1 隨機讀、寫實驗代碼詳解
12.3.2 隨機讀、寫實例測試
12.4 回顧啟動代碼中的NAND FLASH讀取函式
12.5 本章小結
第13章 LCD控制器原理與實驗
13.1 LCD和LCD控制器工作原理
13.1.1 LCD概述
13.1.2 LCD接口信號
13.1.3 LCD顯示原理
13.1.4 LCD操作時序詳解
13.1.5 S3C2440 LCD控制器
13.1.6 LCD 控制暫存器初始化
13.2 LCD基礎實驗
13.2.1 硬體電路分析
13.2.2 程式代碼分析
13.2.3 實例測試
13.3 LCD基礎實驗之單像素顯示
13.3.1 程式代碼分析
13.3.2 實例測試
13.4 LCD基礎實驗之圖片顯示
13.4.1 如何將圖片轉換為C語言數組
13.4.2 程式代碼分析
13.4.3 實例測試
13.5 LCD高級實驗之漢字顯示
13.5.1 兩種常見的漢字編碼
13.5.2 LCD漢字顯示原理
13.5.3 程式代碼分析
13.5.4 實例測試
13.5.5 LCD顯示高級技巧——可變參函式Lcd_Printf的實現
13.5.6 可變參函式Lcd_Printf測試
13.5.7 漢字區位碼的思考
13.5.8 實例測試
13.6 本章小結
第14章 ADC原理與實驗
14.1 ADC原理
14.1.1 ADC相關暫存器
14.1.2 ADC初始化
14.2 ADC實驗
14.2.1 ADC實驗代碼詳解
14.2.2 ADC實驗測試
14.3 本章小結
第3篇 典型項目分析
第15章 綜合實戰
15.1 實戰1:數據採集系統實現
15.1.1 功能描述
15.1.2 模組劃分
15.1.3 代碼實現
15.1.4 實例測試
15.1.5 實驗總結
15.2 實戰2:串口控制實驗
15.2.1 功能描述
15.2.2 模組劃分
15.2.3 代碼實現
15.2.4 實例測試
15.2.5 實驗總結
15.3 實戰3:製作電子相冊
15.3.1 功能描述
15.3.2 模組劃分
15.3.3 代碼實現
15.3.4 實例測試
15.3.5 實驗總結
第4篇 理論知識擴展
第16章 嵌入式系統電源設計和Linux核心開發基礎
16.1 直流穩壓電源分類
16.1.1 普通線性穩壓器工作原理
16.1.2 低壓差線性穩壓器工作原理
16.1.3 電容式開關電源的工作原理
16.1.4 電感式開關電源的工作原理
16.1.5 嵌入式系統設計中的電源晶片選型
16.1.6 設計實例分析
16.2 Linux核心基礎實驗
16.2.1 實驗一:修改調度算法實驗
16.2.2 實驗二:添加核心模組實驗
參考文獻