标题：ARM处理器裸机开发实战：机制而非策略
基本信息
出版社: 电子工业出版社; 第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 实验二：添加内核模块实验 
参考文献