?
內(nèi)容簡介
ARM處理器是一種低功耗、高性能的32位RISC處理器?!禔RM體系結(jié)構(gòu)與程序設計》分兩條主線闡述了ARM的編程:一條主線是基于uC/OS-II操作系統(tǒng)的ARM編程;另一條主線是基于Linux操作系統(tǒng)的ARM編程。《ARM體系結(jié)構(gòu)與程序設計》是ARM體系結(jié)構(gòu)與程序設計的一本實用指導書籍,通過案例詳細介紹了ARM體系結(jié)構(gòu)與程序設計,案例中的程序都取自實際的項目,且對程序有詳細注解。《ARM體系結(jié)構(gòu)與程序設計》深入淺出,既可作為高等職業(yè)院校相關(guān)課程的教材,也可作為相關(guān)技術(shù)人員的技術(shù)參考書。
《ARM體系結(jié)構(gòu)與程序設計》由清華大學出版社出版。《ARM體系結(jié)構(gòu)與程序設計》詳細介紹了ARM微處理器、ARM微處理器的體系結(jié)構(gòu)、ARM920T內(nèi)核編程模型、ARM920T的運行模式、ARM微處理器的異常狀態(tài)、ARM/Thurnb指令集,指令的尋址方式、ARM匯編語言程序設計中常見的偽指令、匯編語言的基本結(jié)構(gòu)、嵌入式C語言預處理偽指令、嵌入式c語言程序設計中的常用的語句、函數(shù)及函數(shù)庫、嵌入式Linux C語言編程——文件的操作、嵌入式C語言與匯編語言的混合編程、ARM ADS集成開發(fā)工具、ARM異常中斷處理等知識。《ARM體系結(jié)構(gòu)與程序設計》分兩條主線闡述了ARM的編程:一條主線是基于uC/OS-Ⅱ操作系統(tǒng)的ARM編程;另一條主線是基于Linux操作系統(tǒng)的ARM編程。《ARM體系結(jié)構(gòu)與程序設計》是ARM體系結(jié)構(gòu)與程序設計的一本實用指導書籍,通過案例詳細介紹了ARM體系結(jié)構(gòu)與程序設計,案例中的程序都取自實際的項目,且對程序有詳細注解。
目錄
第1章 ARM技術(shù)概述
1.1 ARM體系結(jié)構(gòu)的發(fā)展及技術(shù)特征
1.1.1 ARM體系結(jié)構(gòu)的發(fā)展
1.1.2 ARM微處理器的應用領(lǐng)域
1.2 ARM微處理器簡介
1.2.1 ARM微處理器
1.2.2 ARM微處理器系列
1.3 ARM微處理器結(jié)構(gòu)
1.3.1 RISC體系結(jié)構(gòu)
1.3.2 ARM微處理器的寄存器結(jié)構(gòu)
1.3.3 ARM微處理器的指令結(jié)構(gòu)
1.4 ARM微處理器的應用選型
練習題
第2章 ARM920T內(nèi)核的編程模型
2.1 ARM920T的內(nèi)部功能及特點
2.2 ARM920T內(nèi)核編程模型
2.3 ARM體系結(jié)構(gòu)的存儲器格式
2.4 處理器模式
2.5 寄存器組織
2.5.1 ARM狀態(tài)下的寄存器組織
2.5.2 Thumb狀態(tài)下的寄存器組織
2.6 程序狀態(tài)寄存器
2.7 異常(Exceptions)
練習題
第3章 ARM微處理器的指令系統(tǒng)
3.1 ARM指令的尋址方式
3.1.1 立即尋址
3.1.2 寄存器尋址
3.1.3 寄存器偏移尋址
3.1.4 寄存器間接尋址
3.1.5 基址變址尋址
3.1.6 多寄存器尋址
3.1.7 相對尋址
3.1.8 堆棧尋址
3.1.9 塊復制尋址
3.2 ARM指令集
3.2.1 ARM微處理器指令的分類與格式
3.2.2 指令的條件域
3.2.3 ARM指令詳解
3.3 Thumb指令及應用
練習題
第4章 ARM匯編語言程序設計
4.1 ADS編譯環(huán)境下的ARM的偽操作和宏指令
4.1.1 符號定義(SymbolDefinition)偽指令
4.1.2 數(shù)據(jù)定義(DataDefinition)偽指令
4.1.3 匯編控制(AssemblyControl)偽指令
4.1.4 其他常用的偽指令
4.2 GNU編譯環(huán)境下的ARM偽操作與宏指令
4.3 ARM匯編語言偽指令
4.4 匯編語言的語句格式
4.4.1 匯編語言程序中常用的符號
4.4.2 匯編語言程序中的表達式和運算符
4.5 匯編語言的程序結(jié)構(gòu)
4.5.1 匯編語言的程序結(jié)構(gòu)
4.5.2 匯編語言的子程序調(diào)用
4.5.3 匯編語言程序示例
練習題
第5章 嵌入式C語言程序設計基礎
5.1 嵌入式C語言的預處理偽指令
5.2 嵌入式C語言的基本數(shù)據(jù)類型
5.2.1 數(shù)據(jù)類型與表達式
5.2.2 常量
5.2.3 變量
5.2.4 運算符
5.3 程序的控制結(jié)構(gòu)
5.3.1 選擇結(jié)構(gòu)
5.3.2 switch語句
5.3.3 循環(huán)結(jié)構(gòu)
5.3.4 其他控制語句
5.4 函數(shù)
5.5 數(shù)組
5.6 指針
5.7 構(gòu)造數(shù)據(jù)類型
5.8 匯編語言與C/C++的混合編程
5.8.1 內(nèi)嵌匯編指令
5.8.2 在匯編程序中訪問C程序變量
5.8.3 匯編程序與C/C++程序的相互調(diào)用規(guī)則——ARPCS
5.8.4 匯編程序與C/C++程序的相互調(diào)用
5.9 嵌入式Linux下C語言編程——一文件的操作
5.9.1 文件的創(chuàng)建和讀寫
5.9.2 移動文件的讀寫位置
5.9.3 文件的各個屬性
5.9.4 目錄文件的操作
練習題
第6章 ARMADS集成開發(fā)環(huán)境
6.1 ADS1.2 的安裝
6.1.1 ADS概述
6.1.2 ADS1.2 的安裝
6.2 ADS集成開發(fā)環(huán)境的使用
6.2.1 建立一個新下程
6.2.2 配置生成目標
6.2.3 編譯和鏈接工程
6.3 用AXD進行代碼凋試
練習題
第7章 ARM異常中斷處理及編程
7.1 ARM異常中斷處理概述
7.2 ARM體系異常中斷
7.2.1 ARM體系異常中斷種類
7.2.2 異常中斷向量表及異常中斷優(yōu)先級
7.2.3 支持中斷跳轉(zhuǎn)的解析程序
7.3 ARM應用系統(tǒng)中異常中斷處理程序的安裝
7.3.1 在系統(tǒng)復位時安裝異常中斷處理程序
7.3.2 在C程序中安裝異常中斷處理程序
7.4 ARM的SWI異常中斷處理程序設計
7.4.1 SWI異常中斷處理程序的實現(xiàn)
7.4.2 SWI異常中斷調(diào)用
7.5 FIQ和IRQ異常中斷程序設計
7.5.1 IRQ和FIQ異常中斷處理程序
7.5.2 多中斷源的IRQ異常中斷處理程序
7.6 基于ARM9芯片S3C2410異常中斷程序設計
7.6.1 異常中斷響應和返回
7.6.2 異常處理程序設計
7.6.3 外中斷初始化程序設計
練習題
第8章 基于μC/OS-II操作系統(tǒng)的ARM編程
8.1 μC/OS-II的內(nèi)核
8.1.1 μC/OS-II內(nèi)核調(diào)度特點
8.1.2 任務控制塊OS_TCB描述
8.1.3 就緒表(ReadyList)
8.1.4 任務狀態(tài)
8.1.5 任務調(diào)度分析
8.1.6 μC/OS-II的初始化
8.2 μC/OS-II內(nèi)核的API函數(shù)
8.2.1 任務類
8.2.2 消息類
8.2.3 同步信號量類
8.2.4 時間類
8.2.5 內(nèi)存操作類
8.2.6 互斥信號量管理類
8.3 μC/OS-II應用程序的基本結(jié)構(gòu)
8.4 μC/OS-II在S3C2410X上的移植
8.4.1 移植原理
8.4.2 移植實現(xiàn)
8.5 基于μC/OS-II操作系統(tǒng)的開發(fā)案例
8.5.1 繪圖API函數(shù)的應用
8.5.2 系統(tǒng)的消息循環(huán)
8.5.3 文件的使用
8.5.4 列表控件的使用
8.5.5 文本框控件的使用
練習題
第9章 基于ARM9和Linux嵌入式系統(tǒng)設計
9.1 嵌入式Linux的開發(fā)環(huán)境
9.1.1 嵌入式Linux開發(fā)環(huán)境建立
9.1.2 嵌入式Linux開發(fā)的一般過程
9.2 Linux開發(fā)工具的使用
9.2.1 Linux開發(fā)工具GNUgcc的使用
9.2.2 gdb調(diào)試器簡介
9.3 GNUmake命令和Makefile文件
9.3.1 Makefile文件的規(guī)則
9.3.2 Makefile文件中隱含規(guī)則
9.3.3 Makefile文件的命令
9.3.4 Makefile文件中的變量
9.3.5 Makefile文件的條件判斷
9.3.6 Makefile文件中的常用函數(shù)
9.3.7 子目錄Makefile
9.4 嵌入式Linux引導程序
9.4.1 BootLoader引導程序
9.4.2 VIVI簡介
9.5 嵌入式Linux下程序調(diào)試應用舉例
9.5.1 Linux宿主機下的應用程序調(diào)試
9.5.2 目標機下的應用程序調(diào)試
練習題
附錄AS3C2410X引腳及信號定義
參考文獻
序言
ARM處理器是一種低功耗、高性能的32位RISC處理器。目前,常用的ARM微處理器系列有ARM7系列、ARM9系列、ARM9E系列、ARMl0E系列、SecurCore系列、Intel的Xscale等,其中ARM7、ARM9、ARM9E和ARMlO為4個通用處理器系列,每一個系列提供一套相對獨特的性能來滿足不同應用領(lǐng)域的需求。
本書主要內(nèi)容如下:
第1章對ARM微處理器、ARM技術(shù)的基本概念做了一些簡單的介紹,從ARM體系結(jié)構(gòu)的發(fā)展及技術(shù)特征、ARM微處理器的應用領(lǐng)域及特點、ARM微處理器的體系結(jié)構(gòu)、ARM微處理器的應用選型等方面分別進行了闡述。
第2章介紹了ARM微處理器的編程模型的基礎知識以及基于ARM920T核微處理器的基礎知識。主要內(nèi)容包括AR.M920T內(nèi)核編程模型、ARM920T的運行模式、ARM體系結(jié)構(gòu)的寄存器組織、ARM微處理器的異常狀態(tài)等。
第3章介紹了ARM指令集、Thumb指令集以及各類指令對應的尋址方式,同時還闡述了ARM微處理器所支持的指令集的具體使用方法。
第4章主要介紹了ARM程序設計的一些基本概念以及在匯編語言程序設計中常見的偽指令、ARM匯編語言的基本語句格式、ARM匯編語言程序的基本結(jié)構(gòu)等,同時簡單介紹了ARM的C/C++和匯編語言的混合編程等問題。
評論