圖書簡介
本書是作者根據多年開發和教學實踐經驗並考察了當前
嵌入式發展的最新動向編著而成。在內容設計上,採取了循序漸進的原則,對嵌入式底層硬體知識進行精心規劃,以大量的實例說明技術難點,深入淺出,使嵌入式系統初學者能夠以“ARM體系結構→指令系統→彙編程式設計→混合編程→硬體下編程”為主線,以階梯式前進的方式,低起點、高效率地學習理論,深入實踐,從而為嵌入式系統開發打下堅實的基礎。
本書結構合理、實例豐富,具有很強的實踐性和實用性,本書可作為高等學校計算機、電子信息類本科生、研究生進行嵌入式系統學習的教材或參考書,也適合嵌入式開發的工程技術人員和廣大的嵌入式開發愛好者學習使用。
目錄
第1章緒論
1.1嵌入式系統定義
1.1.1嵌入式系統發展歷程
1.1.2嵌入式系統的定義與特點
1.2嵌入式作業系統
1.2.1嵌入式實時作業系統
1.2.2實時作業系統的典型套用
1.3嵌入式技術在工程領域的套用
1.4嵌入式技術的發展趨勢
思考與練習題
第2章ARM技術與ARM體系結構
2.1ARM體系結構版本與核心
2.1.1ARM體系結構版本
2.1.2ARM核心版本命名規則
2.1.3主流ARM處理器核心系列與套用
2.2ARM核心模組
2.3ARM處理器的工作模式
2.4內部暫存器
2.4.1通用暫存器及其分布
2.4.2程式狀態暫存器
2.5ARM異常處理
2.6存儲方式與存儲器映射機制
2.7ARM流水線技術分析
思考與練習題
第3章ARM指令集定址方式
3.1ARM指令的編碼格式
3.2數據處理指令定址方式
3.3Load/Store指令定址
3.3.1地址計算方法
3.3.2字、無符號位元組定址
3.3.3半字、有符號位元組定址
3.4批量Load/Store指令定址方式
3.5協處理器指令定址方式
思考與練習題
目錄
ARM嵌入式系統結構與編程(第2版)
第4章ARM指令集系統
4.1數據處理指令
4.1.1基本數據處理指令
4.1.2乘法指令
4.1.3雜類的數據處理指令
4.2ARM分支指令
4.3載入/存儲指令
4.3.1載入/存儲字、無符號位元組指令
4.3.2半字、有符號位元組訪問指令
4.4批量載入/存儲指令
4.4.1基本批量字數據載入/存儲指令
4.4.2用戶模式下的批量字數據載入/存儲指令
4.4.3帶PSR操作的批量字數據載入指令
4.5交換指令
4.6程式狀態暫存器PSR訪問指令
4.7協處理器操作指令
4.7.1協處理器數據操作指令
4.7.2協處理器載入/存儲指令
4.7.3ARM暫存器與協處理器暫存器數據傳輸指令
4.8異常產生指令
思考與練習題
第5章Thumb指令
5.1Thumb數據處理指令
5.1.1暫存器移位指令
5.1.2低位暫存器算術運算指令
5.1.3ALU操作指令
5.1.4帶高位暫存器操作的Thumb指令
5.1.5帶SP/PC的算術運算指令
5.2Thumb存儲器操作指令
5.2.1位元組、半字和字的載入/存儲指令
5.2.2批量載入/存儲指令
5.3Thumb分支指令
5.3.1B分支指令
5.3.2帶連結的分支指令
5.3.3帶狀態切換的分支指令
5.4Thumb軟中斷指令
5.5Thumb指令功能碼段分析
5.5.1Thumb與ARM實現功能比較
5.5.2Thumb與ARM性能比較
思考與練習題
第6章ARM彙編偽指令與偽操作
6.1彙編語言偽指令
6.1.1ARM彙編語言偽指令
6.1.2Thumb彙編語言偽指令
6.2ARM彙編語言偽操作
6.3ARM彙編偽操作
6.3.1符號定義偽操作
6.3.2數據定義偽操作
6.3.3彙編代碼控制偽操作
6.3.4彙編信息報告控制偽操作
6.3.5指令集類型標識偽操作
6.3.6檔案包含偽操作
6.3.7其他類型偽操作
6.4GNU ARM彙編偽操作
6.4.1符號定義偽操作
6.4.2數據定義偽操作
6.4.3彙編與反彙編代碼控制偽操作
6.4.4預定義控制偽操作
思考與練習題
第7章彙編語言程式設計
7.1ARM編譯環境下彙編語句
7.1.1ARM編譯環境下彙編語句格式
7.1.2ARM編譯環境下彙編語句中符號規則
7.2GNU環境下彙編語句與編譯說明
7.2.1GNU環境下ARM彙編語句格式
7.2.2GNU環境下ARM彙編程式編譯
7.3ARM彙編語言程式設計規範
7.4ARM彙編語言程式設計實例解析
思考與練習題
第8章ARM彙編語言與嵌入式C混合編程
8.1嵌入式C編程規範
8.2嵌入式C程式設計中的位運算
8.3嵌入式C程式設計中的幾點說明
8.3.1volatile限制符
8.3.2地址強制轉換與多級指針
8.3.3預處理的使用
8.4嵌入式C程式設計格式
8.5過程調用標準ATPCS與AAPCS
8.5.1暫存器使用規則
8.5.2數據棧使用規則
8.5.3參數傳遞規則
8.6ARM彙編語言與嵌入式C混合編程
8.6.1內嵌彙編
8.6.2ARM彙編語言與嵌入式C程式相互調用
思考與練習題
第9章S3C44B0/S3C2410/S3C2440硬體結構與關鍵技術分析
9.1處理器簡介
9.2S3C44B0/S3C2410/S3C2440存儲控制器
9.2.1S3C44B0存儲控制與地址空間
9.2.2S3C2410/S3C2440存儲控制與地址空間
9.2.3S3C44B0/S3C2410/S3C2440存儲位寬控制
9.2.4S3C44B0/S3C2410/S3C2440存儲器接口時序分析
9.2.5S3C44B0/S3C2410存儲控制暫存器
9.2.6SDRAM接口電路設計
9.2.7S3C44B0存儲器初始化實例
9.3S3C2410/S3C2440 NAND Flash控制器
9.4S3C44B0/S3C2410/S3C2440時鐘電源管理
9.4.1S3C44B0/S3C2410/S3C2440時鐘管理
9.4.2S3C44B0/S3C2410/S3C2440電源管理
9.4.3S3C44B0/S3C2410/S3C2440時鐘與電源管理專用暫存器
9.5S3C44B0/S3C2410/S3C2440通用 I/O連線埠
9.5.1連線埠控制描述
9.5.2連線埠暫存器
9.5.3通用I/O接口設計實例
9.6S3C44B0/S3C2410/S3C2440中斷機制
9.6.1S3C44B0中斷控制器
9.6.2S3C2410/S3C2440中斷控制器
9.6.3S3C44B0/S3C2410/S3C2440中斷控制特殊功能暫存器
9.6.4S3C44B0/S3C2410/S3C2440中斷控制器設計實例
思考與練習題
第10章S3C44B0/S3C2410/S3C2440通信與LCD接口技術
10.1S3C44B0/S3C2410/S3C2440 UART
10.1.1UART原理
10.1.2S3C44B0/S3C2410/S3C2440 UART模組
10.1.3S3C44B0/S3C2410/S3C2440 UART操作
10.1.4UART中斷與波特率的計算
10.1.5S3C44B0/S3C2410/S3C2440 UART專用功能暫存器
10.1.6S3C44B0/S3C2410 UART設計實例
10.2S3C44B0/S3C2410/S3C2440 I2C匯流排接口
10.2.1I2C匯流排原理
10.2.2S3C44B0/S3C2410/S3C2440 I2C匯流排功能模組
10.2.3S3C44B0/S3C2410/S3C2440 I2C匯流排操作
10.2.4S3C44B0/S3C2410/S3C2440 I2C專用功能暫存器
10.2.5S3C44B0/S3C2410/S3C2440 I2C匯流排設計實例
10.3S3C44B0/S3C2410/S3C2440 LCD控制器
10.3.1LCD簡介
10.3.2S3C44B0/S3C2410/S3C2440 LCD控制器模組
10.3.3S3C44B0/S3C2410/S3C2440 LCD控制器專用功能暫存器
10.3.4S3C44B0/S3C2410/S3C2440 LCD控制器設計實例
思考與練習題
附錄AS3C44B0/S3C2410/S3C2440封裝與I/O復用信息
附錄B連結定位與系統引導程式
附錄CARM嵌入式系統結構課程考核標準試題
參考文獻