关于本书的内容有任何问题,请联系 武恩玉
目 录 第 1章 嵌入式系统概述 1 1.1 嵌入式系统简介 1 1.2 嵌入式系统发展趋势 1 1.3 嵌入式系统的硬件和软件特征 2 1.4 ARM系列处理器简介 4 1.4.1 ARM7处理器系列 5 1.4.2 ARM9处理器系列 5 1.4.3 ARM9E处理器系列 6 1.4.4 ARM10处理器系列 6 1.4.5 ARM10E处理器系列 7 1.4.6 ARM11处理器系列 7 1.4.7 SecureCore处理器系列 7 1.4.8 StrongARM和Xscale处理器系列 7 1.4.9 Cortex和MPCore处理器系列 8 1.4.10 各种处理器系列之间的比较 8 1.5 本章小结 9 1.6 思考题 9 第 2章 ARM体系结构与指令集 10 2.1 ARM体系结构的特点 10 2.2 ARM处理器工作模式 10 2.3 寄存器组织 11 2.3.1 通用寄存器 12 2.3.2 状态寄存器 13 2.3.3 程序计数器 15 2.4 流水线 16 2.4.1 流水线的概念与原理 16 2.4.2 流水线的分类 16 2.4.3 影响流水线性能的因素 18 2.5 ARM存储系统 18 2.5.1 协处理器(CP15) 19 2.5.2 存储管理单元(MMU) 20 2.5.3 高速缓冲存储器(Cache) 20 2.6 异常 20 2.6.1 异常的种类 21 2.6.2 异常的优先级 21 2.6.3 构建异常向量表 21 2.6.4 异常响应流程 23 2.6.5 从异常处理程序中返回 24 2.7 ARM处理器的寻址方式 26 2.7.1 数据处理指令寻址方式 26 2.7.2 内存访问指令寻址方式 27 2.8 ARM处理器的指令集 29 2.8.1 数据操作指令 29 2.8.2 乘法指令 35 2.8.3 Load/Store指令 37 2.8.4 单数据交换指令 42 2.8.5 跳转指令 43 2.8.6 状态操作指令 46 2.8.7 协处理器指令 47 2.8.8 异常产生指令 49 2.9 本章小结 51 2.10 思考题 51 第3章 ARM汇编语言程序设计 52 3.1 ARM/Thumb混合编程 52 3.1.1 Thumb指令的特点及实现 52 3.1.2 ARM/Thumb交互工作基础 53 3.1.3 ARM/Thumb交互子程序 55 3.2 ARM汇编器支持的伪操作 60 3.2.1 伪操作概述 60 3.2.2 符号定义伪操作 60 3.2.3 数据定义(Data Definition)伪操作 63 3.2.4 汇编控制伪操作 69 3.2.5 杂项伪操作 72 3.3 ARM汇编器支持的伪指令 80 3.3.1 ADR伪指令 80 3.3.2 ADRL伪指令 81 3.3.3 LDR伪指令 81 3.4 汇编语言与C/C++的混合编程 82 3.4.1 内联汇编 83 3.4.2 嵌入型汇编 85 3.4.3 汇编代码访问C全局变量 87 3.4.4 C++中使用C头文件 88 3.4.5 混合编程调用举例 89 3.5 本章小结 93 3.6 思考题 93 第4章 嵌入式软件基础实验 94 4.1 Realview MDK简介 94 4.2 ULINK2仿真器简介 95 4.3 使用Realview MDK创建一个工程 96 4.3.1 选择工具集 96 4.3.2 创建工程并选择处理器 96 4.3.3 建立一个新的源文件 97 4.3.4 工程中文件的加入 98 4.3.5 工程基本配置 98 4.3.6 工程的编译链接 105 4.4 嵌入式软件开发基础实验 105 4.4.1 ARM汇编指令实验一 105 4.4.2 ARM汇编指令实验二 111 4.4.3 Thumb汇编指令实验 113 4.4.4 ARM处理器工作模式实验 114 4.4.5 C语言实例一 117 4.4.6 C语言实验程序二 119 4.4.7 汇编语言与C语言相互调用实例 123 4.5 本章小结 125 第5章 ARM应用系统设计 126 5.1 SoC系统概述 126 5.2 S3C2410概述 126 5.3 S3C2410系统功能电路设计 128 5.3.1 概述 128 5.3.2 电源电路 129 5.3.3 时钟电路 130 5.3.4 复位电路 131 5.3.5 JTAG接口电路 131 5.3.6 Nor Flash电路 132 5.3.7 Nand Flash电路 134 5.3.8 SDRAM电路 136 5.3.9 串行接口电路 138 5.3.10 以太网接口电路 140 5.3.11 蜂鸣器电路及其PWM电路 140 5.3.12 按键电路 140 5.3.13 实时时钟 140 5.3.14 A/D转换器电路 142 5.3.15 IIS音频接口电路 142 5.3.16 SD卡接口电路 143 5.3.17 LCD电路 144 5.3.18 USB接口电路 145 5.3.19 印刷电路板设计的注意事项 145 5.4 本章小结 146 5.5 思考题 146 第6章 S3C2410系统接口操作原理及实验 147 6.1 I/O接口实验 147 6.1.1 实验目的 147 6.1.2 实验设备 147 6.1.3 实验内容 147 6.1.4 实验原理 148 6.1.5 实验操作步骤 149 6.1.6 实验参考程序 150 6.2 串口通信实验 151 6.2.1 实验目的 151 6.2.2 实验设备 151 6.2.3 实验内容 151 6.2.4 实验原理 152 6.2.5 实验操作步骤 156 6.2.6 实验参考程序 157 6.3 中断实验 158 6.3.1 实验目的 158 6.3.2 实验设备 158 6.3.3 实验内容 158 6.3.4 实验原理 158 6.3.5 实验操作步骤 163 6.3.6 实验参考程序 165 6.4 键盘控制实验 167 6.4.1 实验目的 167 6.4.2 实验设备 167 6.4.3 实验内容 167 6.4.4 实验原理 167 6.4.5 实验设计 169 6.4.6 实验操作步骤 169 6.4.7 实验参考程序 170 6.5 实时时钟实验 172 6.5.1 实验目的 172 6.5.2 实验设备 172 6.5.3 实验内容 172 6.5.4 实验原理 172 6.5.5 实验设计 174 6.5.6 实验操作步骤 175 6.5.7 实验参考程序 176 6.6 看门狗实验 177 6.6.1 实验目的 177 6.6.2 实验设备 177 6.6.3 实验内容 177 6.6.4 实验原理 177 6.6.5 实验设计 179 6.6.6 实验操作步骤 180 6.6.7 实验参考程序 181 6.7 IIC串行通信实验 182 6.7.1 实验目的 182 6.7.2 实验设备 182 6.7.3 实验内容 182 6.7.4 实验原理 182 6.7.5 实验设计 187 6.7.6 实验操作步骤 187 6.7.7 实验参考程序 189 6.8 A/D转换实验 191 6.8.1 实验目的 191 6.8.2 实验设备 191 6.8.3 实验内容 191 6.8.4 实验原理 191 6.8.5 实验设计 193 6.8.6 实验操作步骤 194 6.8.7 实验参考程序 194 6.9 Nand Flash读写实验 195 6.9.1 实验目的 195 6.9.2 实验设备 195 6.9.3 实验内容 196 6.9.4 实验原理 196 6.9.5 实验设计 199 6.9.6 实验操作步骤 199 6.9.7 实验参考程序 200 6.10 本章小结 202 第7章 嵌入式操作系统及开发简述 203 7.1 嵌入式Linux简介 203 7.2 构建嵌入式Linux开发环境 203 7.2.1 交叉开发环境介绍 204 7.2.2 安装交叉开发工具 204 7.2.3 主机交叉开发环境配置 206 7.3 Bootloader 208 7.3.1 Bootloader的种类 209 7.3.2 U-Boot工程简介 210 7.3.3 U-Boot编译 210 7.3.4 U-Boot的移植思路 213 7.3.5 U-Boot的烧写 214 7.3.6 U-Boot的常用命令 215 7.4 Linux内核与移植 221 7.4.1 Linux内核结构 221 7.4.2 Linux内核配置系统 222 7.4.3 Linux内核编译选项 228 7.5 移植Linux 2.6内核到S3C2410平台简述 232 7.5.1 移植的概念 232 7.5.2 设备驱动移植 236 7.5.3 Nand Flash移植 238 7.6 嵌入式文件系统构建 239 7.6.1 文件系统简介 239 7.6.2 嵌入式文件系统的特点和种类 240 7.6.3 文件系统的组成 246 7.6.4 利用BusyBox构建文件系统 249 7.6.5 利用NFS调试新建的文件系统 253 7.7 本章小结 255 7.8 思考题 255 第8章 嵌入式Linux实验 256 8.1 搭建嵌入式Linux开发环境 256 8.1.1 实验目的 256 8.1.2 实验环境 256 8.1.3 实验步骤 256 8.2 移植U-Boot实验 259 8.2.1 实验目的 259 8.2.2 实验环境 259 8.2.3 实验步骤 259 8.3 烧写U-Boot实验 269 8.3.1 实验目的 269 8.3.2 实验环境 269 8.3.3 实验步骤 269 8.4 Linux内核编译与下载实验 270 8.4.1 实验目的 270 8.4.2 实验环境 270 8.4.3 实验步骤 271 8.5 Linux内核移植实验 273 8.5.1 CS8900A网卡驱动移植 273 8.5.2 Nand Flash驱动移植 275 8.5.3 Yaffs2文件系统移植 277 8.6 文件系统制作实验 279 8.6.1 实验目的 279 8.6.2 实验环境 279 8.6.3 实验步骤 279 8.7 编写Linux内核模块实验 284 8.7.1 实验目的 284 8.7.2 实验环境 285 8.7.3 实验步骤 285 8.8 编写带参数的Linux内核模块实验 285 8.8.1 实验目的 285 8.8.2 实验环境 285 8.8.3 实验步骤 285 8.9 编写Linux字符驱动程序实验 286 8.9.1 实验目的 286 8.9.2 实验环境 286 8.9.3 实验步骤 286 8.10 本章小结 289 参考文献 290
全书由12 章组成,内容主要包括绪论、交互式计算机图形处理系统、基本图形生成算法、自由曲线和曲面、图形变换...
本书从结构化方法和面向对象方法两方面介绍软件工程的基本概念、原理和方法,并用一个案例贯穿每一章的实践部分,...
本书以设计策略为主线,循序渐进地介绍了经典算法设计(包括分治、动态规划、贪心、回溯、迭代改进等算法)、NP...
本书介绍SQL Server 2008数据库管理系统,主要内容包含3个部分:第一部分是数据库基础部分;第二...
本书由11章、2个附录组成,主要内容包括关系数据库基础、SQL语言、关系数据理论、数据库设计、事务与并发控...
本书系统地讲解了汇编语言程序设计的相关知识,全书共有11章,系统地论述了汇编语言基础知识,计算机基本原理,上机...
本书结合国际上传感技术及应用方面的发展趋势,梳理了新型传感技术的共性基础问题,包括传感器特性、传感器测量不确定...
本书内容结合微电子产业和计算机硬件产业的最新发展现状和技术前沿,注重基础性、高阶性、创新性和挑战性相结合,采用...
本书全面、详细地讲授51系列及兼容单片机的体系结构、工作原理、功能部件和软硬件应用开发资源。在51单片机硬件编...
本书概述了计算机基础知识及微型计算机系统组成,以8086 CPU为基础,详细介绍80x86微处理器的硬件结构、...
我要评论