编辑推荐

适读人群:嵌入式工程师

关注理论知识结构完整性,重视实践前瞻性环节;

内容基于流行的ARMCortex-A9处理器,丰富实用的项目开发案例;

所有实验均可通过FS-JTAG仿真器;

+FS4412硬件平台验证

内容简介

作为一种32位高性能、低成本的嵌入式RISC微处理器,ARM目前已经成为应用*广泛的嵌入式处理器。目前Cortex-A系列处理器已经占据了大部分中高端产品市场。在全面介绍Cortex-A9处理器的体系结构、编程模型、指令系统及开发环境的同时,以基于Cortex-A9的应用处理器??S5PV210为核心,详细介绍了系统的设计及相关接口技术。接口技术涵盖了I/O、中断、串口、存储器、PWM、A/D、DMA、IIC、SPI、Camera、LCD等,并提供了大量的实验例程。

作者简介

秦山虎、刘洪涛

《Struts架构开发入门与实践》(人民邮电出版社)2005年

《Eclipse架构开发入门与实践》(人民邮电出版社)2006年

《征服AjaxWeb2.0开发入门与项目实践》(人民邮电出版社)2007年

《Word实用教程》(清华大学出版社)2001年

《Powerpoint实用教程》(清华大学出版社)2001年

《计算机培训中级教程》(中国石油大学出版社)1998年

《微机原理》(北京商务出版社)1999年

目录

第1章嵌入式系统基础知识
1.1嵌入式系统概述
1.1.1嵌入统简介
1.1.2嵌入式系统的特点
1.1.3嵌入式系统的发展
1.2嵌入式系统的组成
1.2.1嵌入式系统硬件组成
1.2.2嵌入式系统软件组成
1.3嵌入式操作系统举例
1.3.1商业版嵌入式操作系统
1.3.2开源版嵌入式操作系统
1.4嵌入式系统开发概述
1.5学好微处理器在嵌入式学习中的重要性
1.6本章小结
1.7练习题
第2章嵌入式ARM技术概论
2.1ARM体系结构的技术特征及发展
2.1.1ARM公司简介
2.1.2ARM技术特征
2.1.3ARM体系架构的发展
2.2ARM微处理器简介
2.2.1ARM9处理器系列
2.2.2ARM9E处理器系列
2.2.3ARM11处理器系列
2.2.4SecurCore处理器系列
2.2.5StrongARM和Xscale处理器系列VI
2.2.6MPCore处理器系列
2.2.7Cortex处理器系列
2.2.8最新ARM应用处理器发展现状
2.3ARM微处理器结构
2.3.1ARM微处理器的应用选型
2.3.2选择ARM芯片的一般原则
2.3.3选择一款适合ARM教学的CPU
2.4Cortex-A9内部功能及特点
2.5数据类型
2.5.1ARM的基本数据类型
2.5.2浮点数据类型
2.5.3存储器大/小端
2.6Cortex-A9内核工作模式
2.7Cortex-A9存储系统
2.7.1协处理器(CP15)
2.7.2存储管理单元(MMU)
2.7.3高速缓冲存储器(Cache)
2.8流水线
2.8.1流水线的概念与原理
2.8.2流水线的分类
2.8.3影响流水线性能的因素
2.9寄存器组织
2.10程序状态寄存器
2.11三星Exynos4412处理器介绍
2.12FS4412开发平台介绍
2.13本章小结
2.14练习题
第3章ARM微处理器的指令系统
3.1ARM处理器的寻址方式
3.1.1数据处理指令寻址方式
3.1.2内存访问指令寻址方式
3.2ARM处理器的指令集
3.2.1数据操作指令
3.2.2乘法指令
3.2.3Load/Store指令
3.2.4跳转指令
3.2.5状态操作指令
3.2.6协处理器指令
3.2.7异常产生指令
3.2.8其他指令介绍
3.3本章小结
3.4练习题
第4章ARM汇编语言程序设计
4.1GNUARM汇编器支持的伪操作
4.1.1伪操作概述
4.1.2数据定义(DataDefinition)伪操作
4.1.3汇编控制伪操作
4.1.4杂项伪操作
4.2ARM汇编器支持的伪指令
4.2.1ADR伪指令
4.2.2ADRL伪指令
4.2.3LDR伪指令
4.3GNUARM汇编语言的语句格式
4.4ARM汇编语言的程序结构
4.4.1汇编语言的程序格式
4.4.2汇编语言子程序调用
4.4.3过程调用标准AAPCS
4.4.4汇编语言程序设计举例
4.5汇编语言与C语言的混合编程
4.5.1GNUARM内联汇编
4.5.2混合编程调用举例
4.6本章小结
4.7练习题
第5章ARM开发及环境搭建
5.1仿真器简介
5.1.1FS-JTAG仿真器介绍
5.1.2ULINK介绍
5.2开发环境搭建
5.2.1XP环境安装FS-JTAG工具
5.2.2开发板硬件连接
5.2.3USB转串口驱动安装
5.2.4Putty串口终端配置
5.3EclipseforARM使用
5.4在开发环境中添加FS4412工程
5.5编译工程
5.6调试工程
5.6.1配置FS-JTAG调试工具
5.6.2配置调试工具
5.7本章小结
5.8练习题
第6章GPIO
6.1GPIO功能介绍
6.2Exynos4412-GPIO控制器详解
6.2.1GPIO功能描述
6.2.2GPIO特性
6.2.3GPIO分组
6.2.4GPIO常用寄存器分类
6.2.5GPIO寄存器详解
6.2.6GPIO寄存器封装
6.3GPIO的应用实例
6.3.1GPIO实例内容和原理
6.3.2GPIO实例硬件连接
6.3.3GPIO实例软件设计
6.3.4GPIO实例代码
6.3.5GPIO实例现象
6.4本章小结
6.5练习题
第7章ARM异常及中断处理
7.1ARM异常中断处理概述
7.2ARM体系异常种类
7.3ARM异常的优先级
7.4ARM处理器模式和异常
7.5ARM异常响应和处理程序返回
7.5.1中断响应的概念
7.5.2ARM异常响应流程
7.5.3从异常处理程序中返回
7.6ARM的SWI异常中断处理程序设计
7.7本章小结
7.8练习题
第8章FIQ和IRQ中断
8.1ARM中断控制器简介
8.1.1中断软件分支处理(NVIC和GIC)
8.1.2硬件支持的分支处理(VIC)
8.2通用中断控制器(GIC)
8.2.1GIC功能模块
8.2.2GIC中断控制器中断类型
8.2.3GIC中断控制器中断状态
8.2.4GIC中断处理流程
8.3Exynos4412中断源
8.4Exynos4412-GIC寄存器详解
8.5GIC中断应用实例
8.5.1GIC中断实例内容和原理
8.5.2GIC中断实例硬件连接
8.5.3GIC中断实例软件设计
8.5.4GIC中断实例代码
8.5.5GIC中断实例现象
8.6本章小结
8.7练习题
第9章通用异步收发(UART)接口
9.1通用异步收发(UART)接口简介
9.1.1串行通信与并行通信概念
9.1.2异步串行方式的特点
9.1.3异步串行方式的数据格式
9.1.4同步串行方式的特点
9.1.5同步串行方式的数据格式
9.1.6波特率、波特率因子与位周期
9.1.7RS-232C串口规范
9.1.8RS-232C接线方式
9.2Exynos4412-UART控制器详解
9.2.1UART控制器概述
9.2.2UART控制器框架图
9.2.3UART寄存器详解
9.3UART接口应用实例
9.3.1UART接口实例内容和原理
9.3.2UART实例硬件连接
9.3.3UATR实例软件编写
9.3.4UART实例调试和运行现象
9.4本章小结
9.5练习题
第10章PWM定时器
10.1定时器和PWM简介
10.1.1定时器概述
10.1.2脉冲宽度调制(PWM)概述
10.2Exynos4412-PWM定时器详解
10.2.1PWM定时器概述
10.2.2PWM定时器寄存器详解
10.2.3PWM定时器双缓冲功能
10.2.4PWM信号输出
10.3PWM定时器应用实例一:定时触发
10.3.1定时触发实例内容和原理
10.3.2定时触发实例硬件连接
10.3.3定时触发软件设计和代码
10.3.4定时触发实例现象
10.4PWM定时器应用实例二:PWM输出
10.4.1PWM输出实例内容和原理
10.4.2PWM输出实例硬件连接
10.4.3PWM输出软件设计
10.4.4PWM输出实例现象
10.5本章小结
10.6练习题
第11章看门狗定时器
11.1看门狗简介
11.2Exynos4412看门狗定时器详解
11.2.1看门狗定时器概述
11.2.2看门狗定时器寄存器详解
11.3看门狗定时器实例
11.3.1看门狗定时器实例内容和原理
11.3.2看门狗定时器实例软件设计
11.3.3看门狗定时器实例代码
11.3.4看门狗定时器实例现象
11.4本章小结
11.5练习题
第12章RTC定时器
12.1RTC定时器简介
12.2Exynos4412-RTC定时器详解
12.2.1RTC定时器概述
12.2.2RTC定时器寄存器详解
12.2.3BCD码
12.3RTC定时器实例
12.3.1RTC定时器实例内容和原理
12.3.2RTC定时器实例软件设计
12.3.3RTC定时器实例代码
12.3.4RTC定时器实例现象
12.4本章小结
12.5练习题
第13章A/D转换器
13.1A/D转换器原理
13.1.1A/D转换基础
13.1.2A/D转换的技术指标
13.1.3A/D转换器类型
13.1.4A/D转换的一般步骤
13.2Exynos4412-A/D转换器概述
13.2.1A/D转换器概述
13.2.2A/D转换器特点
13.2.3A/D转换器寄存器解析
13.3A/D转换器应用实例
13.3.1A/D转换器实例内容和原理
13.3.2A/D转换器实例硬件连接
13.3.3A/D转换器实例软件设计
13.3.4A/D转换器实例代码
13.3.5A/D转换器实例现象
13.4本章小结
13.5练习题
第14章I2C总线
14.1I2C总线协议
14.1.1I2C总线协议简介
14.1.2I2C总线协议内容
14.2Exynos4412-I2C控制器详解
14.2.1I2C控制器概述II
14.2.2I2C控制器框架图
14.2.3I2C控制器寄存器详解
14.2.4I2C控制器操作流程
14.3I2C接口应用实例
14.3.1I2C实例内容和原理
14.3.2I2C实例硬件连接
14.3.3I2C实例软件设计
14.3.4I2C实例代码
14.3.5I2C实例现象
14.4本章小结
14.5练习题
第15章SPI接口
15.1SPI总线协议
15.1.1SPI总线协议简介
15.1.2SPI总线协议内容
15.2Exynos4412-SPI控制器详解
15.2.1SPI控制器概述.
15.2.2SPI控制器时钟源控制
15.2.3SPI控制器寄存器详解
15.3SPI接口应用实例
15.3.1SPI实例内容和原理
15.3.2SPI实例硬件连接
15.3.3SPI实例软件设计
15.3.4SPI实例代码
15.3.5SPI实例现象
15.4本章小结
15.5练习题

前言/序言

前言


随着消费群体对产品要求的日益提高,嵌入式技术在机械器具制造业、电子产品制造业、信息通信业、信息服务业等领域得到了大显身手的机会,并被越来越广泛地应用。ARM作为一种高性能、低成本的嵌入式RISC微处理器,已得到最广泛的应用。目前,Cortex-A系列处理器已经占据了嵌入式处理器大部分的中高端产品市场,尤其是在移动


设备市场上,几乎占据了绝对垄断的地位。


伴随着基于Android、IOS系统的智能硬件应用发展,ARM也越来越被大家所了解和接受,企业对ARM技术人才的需求也越来越大。各高校也已经认识到了这一点,并设置了相关课程。但建立一套完整的嵌入式教学课程,是一项非常复杂的工作,尤其是如何和企业需求相结合,更是高校所面临的重大问题。目前市场上的嵌入式开发相关书籍大多是针对研发人员编写的,并不太适合高校教学使用。北京华清远见科技信息有限公司长期以来致力于嵌入式培训,为市场输送了大量的嵌入式人才。为了普及嵌入式技术,公司计划着手针对高职院校的特点编写一套嵌入式教材。教材的内容涵盖ARM体系结构、接口技术、Linux操作系统、LinuxC语言及Linux应用开发实训。《ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》重点讲解ARM体系结构及接口技术部分。


在学习《ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》之前,读者需要掌握数字电路、C语言等基础知识。通过《ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》的学习,读者可以掌握ARM体系结构和基于Cortex-A9核心的Exynos4412处理器常见硬件接口的开发方法。


ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》以Exynos4412处理器为平台,介绍了嵌入式系统开发的各个主要环节。《ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》侧重实践,辅以代码讲解,从分析的角度来学习嵌入式开发的各种技术。《ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》使用的工具是FS-JTAG仿真器。FS-JTAG是华清远见研发中心为了推进Cortex-A9ARM处理器的教学,提高合作企业及合作院校广大技术爱好者和培训学员的学习效率,研发出的低价的可以支持Cortex-A9的ARM仿真器。


ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》将嵌入式软/硬件理论讲解和嵌入式实验实践融合在一起,《ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》共15章。其中,第1章为嵌入式系统基础知识,介绍了嵌入式系统的组成及嵌入式开发概述。第2章为ARM技术概述,讲解了ARM体系结构、应用选型及编程模型等。第3章为ARM微处理器的指令系统,重点介绍了ARM指令集。第4章为ARM汇编语言程序设计,主要介绍了GUNARM汇编伪操作、GNUARM汇编支持的伪指令、汇编语言与C语言的混合编程。第5章为ARM开发环境搭建,包括Eclipse环境介绍、FS-JTAG仿真器使用等。第6章为GPIO编程,介绍了GPIO的概念及Exynos4412的GPIO操作方法。第7章为ARM异常及中断处理,介绍了ARM处理器的异常处理的先关概念和异常处理流程。第8章为FIQ和IRQ中断,着重讲解了编程中最常用的FIQ和IRQ中断,以及Exynos4412ARM处理器开发详解:基于ARMCortex-A9处理器的开发设计IV的中断控制器工作原理和编程方法。第9章为串行通信接口,介绍了串行通信的概念及Exynos4412串口的操作方法。第10章为PWM定时器,介绍了定时器的工作原理和PWM定时器的操作方法。第11章为看门狗定时器,介绍了看门狗定时器接口的操作方法。第12章为RTC定时器,介绍了RTC定时器接口的操作方法。第13章为A/D转换器,介绍了A/D转换器的工作原理及Exynos4412-A/D控制器的操作方法。第14章为I2C接口,结合MPU6050姿态传感器,讲解了I2C协议和Exynos44p12的I2C控制器开发方法。第15章为SPI接口,结合CAN控制器芯片MCP2515,介绍了SPI总线协议和Exynos4412-SPI控制器开发方法。


ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》的出版要感谢华清远见嵌入式培训中心的无私帮助。《ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》的前期组织和后期审校工作都凝聚了培训中心几位老师的心血,他们认真阅读了书稿,提出了大量中肯的建议,并帮助纠正了书稿中的很多错误。


由于作者水平所限,书中不妥之处在所难免,恳请读者批评指正。对于《ARM处理器开发详解:基于ARM Cortex-A9处理器的开发设计》的批评和建议,可以发表到www.farsight.com.cn技术论坛。


编者2016年5月



其他推荐