《ARM嵌入式体系结构与接口技术》
(Cortex-A9版)(微课版)

图书作者:华清远见嵌入式学院 刘洪涛 秦山虎 丛书名称: 高等院校嵌入式人才培养规划教材 出版日期:2018年3月

编辑推荐理由

推荐评分:5.0分

国内领先的嵌入式培训机构华清远见出品

作者具有多年从业经验,真正从企业用人需求出发

教育经验丰富,实力打造课程

图书简介

作为一种32位高性能、低成本的嵌入式RISC微处理器,ARM已经成为应用最广泛的嵌入式处理器。目前Cortex-A系列处理器已经占据了大部分的中高端产品市场。
  • 本书在全面介绍Cortex-A9处理器的体系结构、编程模型、指令系统及Eclipse For ARM开发环境搭建的同时,以基于Cortex-A9为核心的应用处理器Exynos4412为核心,详细介绍了ARM系统设计及相关接口技术。接口技术涵盖了GPIO、GIC、UART、PWM、RTC、WDT、A/D、I2C、SPI等,并提供了大量的实验例程和视频讲解,通过练习和操作实践,帮助读者巩固所学的内容。 本书可以作为院校嵌入式相关专业和计算机相关专业的教材,也可以作为计算机软硬件培训班教材,还可以作为嵌入式研究方向的专业人才和广大计算机爱好者的自学教材。

图书目录

  • ※第1章 嵌入式ARM技术概论

  • 1.1 ARM体系结构的技术特征及发展
  • 1.1.1 ARM公司简介
  • 1.1.2 ARM技术特征
  • 1.1.3 ARM体系架构的发展
  • 1.2 ARM微处理器简介
  • 1.2.1 ARM9处理器系列
  • 1.2.2 ARM9E处理器系列
  • 1.2.3 ARM11处理器系列
  • 1.2.4 SecurCore处理器系列
  • 1.2.5 StrongARM和Xscale处理器系列 
  • 1.2.6 MPCore处理器系列
  • 1.2.7 Cortex处理器系列
  • 1.2.8 ARM应用处理器发展现状与趋势
  • 1.3 ARM微处理器架构
  • 1.4 ARM微处理器的应用选型
  • 1.4.1 ARM芯片选择的一般原则
  • 1.4.2 选择一款适合ARM教学的CPU
  • 1.5 Cortex-A9内部功能及特点
  • 1.6 数据类型
  • 1.6.1 ARM的基本数据类型
  • 1.6.2 浮点数据类型
  • 1.6.3 存储器大/小端
  • 1.7 Cortex-A9内核工作模式
  • 1.8 Cortex-A9存储系统
  • 1.8.1 协处理器(CP15)
  • 1.8.2 存储管理单元(MMU)
  • 1.8.3 高速缓冲存储器(Cache)
  • 1.9 流水线
  • 1.9.1 流水线的概念与原理
  • 1.9.3 影响流水线性能的因素
  • 1.10 寄存器组织
  • 1.11 程序状态寄存器
  • 1.12 三星Exynos4412处理器介绍 
  • 1.13 FS4412开发平台介绍 
  • 1.14 本章小结 
  • 1.15 练习题 
  • ※第2章 ARM开发环境搭建 

  • 2.1 仿真器简介 
  • 2.2 开发环境搭建 
  • 2.2.1 Windows XP环境安装FS-JTAG工具 
  • 2.2.2 Windows 7/Windows 8环境安装FS-JTAG工具
  • 2.2.3 Windows8.1环境安装FS-JTAG工具 
  • 2.2.4 连接硬件平台 
  • 2.2.5 USB转串口驱动安装 
  • 2.2.6 Putty串口终端配置 
  • 2.3 Eclipse for ARM使用 
  • 2.4 导入一个已有工程 
  • 2.5 调试工程 
  • 2.5.1 配置FS-JTAG调试工具 
  • 2.5.2 配置调试工具 
  • 2.5.3 查看变量及寄存器的方法
  • 2.5.4 断点设置方法
  • 2.5.5 查看内存数据信息方法 
  • 2.5.6 调试结束后的处理 
  • 2.6 创建一个新工程 
  • 2.7 编译工程 
  • 2.8 64位eclipse编译常见问题及解决 
  • 2.9 本章小结 
  • 2.10 练习题 
  • ※第3章 ARM指令 

  • 3.1 ARM指令集 
  • 3.1.1 数据处理指令寻址方式 
  • 3.1.2 乘法指令 
  • 3.1.3 跳转指令 
  • 3.1.4 Load/Store指令 
  • 3.1.5 状态寄存器传输指令 
  • 3.1.6 协处理器指令 
  • 3.1.7 异常产生指令 
  • 3.2 ARM指令的寻址方式 
  • 3.2.1 数据处理指令的操作数的寻址方式 
  • 3.2.2 字及无符号字节的Load/Store指令的寻址方式 
  • 3.2.3 批量Load/Store指令的寻址方式 
  • 3.2.4 相对寻址 
  • 3.3 本章小结 
  • 3.4 练习题 
  • ※第4章 ARM汇编程序设计 

  • 4.1 GNU ARM汇编器的伪操作
  • 4.1.1 符号定义伪操作 
  • 4.1.2 数据定义伪操作 
  • 4.1.3 汇编控制伪操作 
  • 4.1.4 杂项伪操作 
  • 4.2 ARM汇编器支持的伪指令 
  • 4.2.1 ADR伪指令 
  • 4.2.2 ADRL伪指令 
  • 4.2.3 LDR伪指令 
  • 4.3 ARM汇编语言的程序结构 
  • 4.3.1 汇编语言的程序格式 
  • 4.3.2 汇编语言的子程序调用
  • 4.3.3 汇编语言程序设计举例 
  • 4.4 汇编语言与C语言的混合编程
  • 4.4.1 GNU内联汇编 
  • 4.4.2 C和汇编的相互调用 
  • 4.4.3 过程调用标准AAPCS/ATPCS 
  • 4.5 本章小结 
  • 4.6 练习题 
  • ※第5章 GPIO编程 

  • 5.1 GPIO功能介绍 
  • 5.2 Exynos4412-GPIO控制器详解 
  • 5.2.1 GPIO功能描述 
  • 5.2.2 GPIO特性 
  • 5.2.3 GPIO分组预览 
  • 5.2.4 Exynos4412-GPIO常用寄存器分类 
  • 5.2.5 Exynos4412-GPIO接口常用寄存器详解 
  • 5.2.6 GPIO寄存器封装 
  • 5.3 GPIO控制实验 
  • 5.3.1 实验目的 
  • 5.3.2 实验原理 
  • 5.3.3 实验内容 
  • 5.3.4 实验代码 
  • 5.3.5 实验现象 
  • 5.4 本章小结 
  • 5.5 练习题 
  • ※第6章 ARM异常及中断处理 

  • 6.1 ARM异常中断处理概述 
  • 6.2 ARM体系异常种类 
  • 6.3 ARM异常的优先级 
  • 6.4 ARM处理器模式和异常 
  • 6.5 ARM异常响应和处理程序返回 
  • 6.5.1 中断响应的概念 
  • 6.5.2 ARM异常响应流程 
  • 6.5.3 从异常处理程序中返回 
  • 6.6 ARM的SWI异常中断处理程序设计
  • 6.7 ARM中断控制器简介 
  • 6.7.1 中断软件分支处理(NVIC和GIC) 
  • 6.7.2 硬件支持的分支处理(VIC) 
  • 6.8 通用中断控制器(GIC) 
  • 6.8.1 GIC功能模块 
  • 6.8.2 GIC中断控制器中断类型 
  • 6.8.3 GIC中断控制器中断状态 
  • 6.8.4 GIC中断处理流程
  • 6.9 Exynos4412中断源 
  • 6.10 Exynos4412-GIC寄存器详解 
  • 6.11 GIC中断实验 
  • 6.11.1 实验目的 
  • 6.11.2 实验原理 
  • 6.11.3 实验内容 
  • 6.11.4 实验代码 
  • 6.11.5 实验现象 
  • 6.12 本章小结 
  • 6.13 练习题 
  • ※第7章 串行通信接口 

  • 7.1 串行通信概述 
  • 7.1.1 串行通信与并行通信概念 
  • 7.1.2 异步串行方式的特点 
  • 7.1.3 异步串行方式的数据格式 
  • 7.1.4 同步串行方式的特点 
  • 7.1.5 同步串行方式的数据格式 
  • 7.1.6 波特率、波特率因子与位周期 
  • 7.1.7 RS-232C串口规范 
  • 7.1.8 RS-232C接线方式 
  • 7.2 Exynos4412异步串行通信 
  • 7.2.1 Exynos4412串口控制器概述 
  • 7.2.2 UART寄存器详解 
  • 7.3 串口通信实验 
  • 7.3.1 实验目的 
  • 7.3.2 实验原理 
  • 7.3.3 实验内容 
  • 7.3.4 实验代码 
  • 7.3.5 实验现象 
  • 7.4 本章小结 
  • 7.5 练习题 
  • ※第8章 PWM定时器 

  • 8.1 定时器和PWM简介 
  • 8.1.1 定时器概述 
  • 8.1.2 脉冲宽度调制(PWM)概述 
  • 8.2 Exynos4412-PWM定时器详解 
  • 8.2.1 PWM定时器概述 
  • 8.2.2 PWM定时器寄存器详解 
  • 8.2.3 PWM定时器双缓冲功能 
  • 8.2.4 PWM定时器PWM信号输出 
  • 8.3 PWM定时器实验—定时触发 
  • 8.3.1 实验目的 
  • 8.3.2 实验原理 
  • 8.3.3 实验代码 
  • 8.3.4 实验现象 
  • 8.4 PWM定时器实验—PWM输出 
  • 8.4.1 实验目的 
  • 8.4.2 实验原理 
  • 8.4.3 实验代码 
  • 8.4.4 实验现象 
  • 8.5 本章小结 
  • 8.6 练习题 
  • ※第9章 看门狗定时器 
  • 9.1 看门狗简介 
  • 9.2 Exynos4412看门狗定时器详解 
  • 9.2.1 看门狗定时器概述 
  • 9.2.2 看门狗定时器寄存器详解 
  • 9.3 看门狗定时器实验 
  • 9.3.1 实验目的 
  • 9.3.2 实验原理 
  • 9.3.3 实验内容 
  • 9.3.4 实验代码 
  • 9.3.5 实验现象 
  • 9.4 本章小结 
  • 9.5 练习题 
  • ※第10章 RTC定时器 

  • 10.1 RTC简介 
  • 10.2 Exynos4412-RTC定时器详解 
  • 10.2.1 RTC定时器概述 
  • 10.2.2 RTC定时器寄存器详解 
  • 10.2.3 BCD码 
  • 10.3 实时时钟RTC实验 
  • 10.3.1 实验目的 
  • 10.3.2 实验原理 
  • 10.3.3 实验内容 
  • 10.3.4 实验代码 
  • 10.3.5 实验现象 
  • 10.4 本章小结 
  • 10.5 练习题
  • ※第11章 A/D转换器 

  • 11.1 A/D 转换器原理 
  • 11.1.1 A/D转换基础 
  • 11.1.2 A/D转换的技术指标 
  • 11.1.3 A/D转换器类型 
  • 11.1.4 A/D转换的一般步骤 
  • 11.2 Exynos4412-A/D转换器详解 
  • 11.2.1 Exynos4412-A/D转换器概述 
  • 11.2.2 Exynos4412-A/D转换器寄存器详解 
  • 11.3 A/D实验 
  • 11.3.1 实验目的 
  • 11.3.2 实验原理 
  • 11.3.3 实验内容
  • 11.3.4 实验代码 
  • 11.3.5 实验现象 
  • 11.4 本章小结 
  • 11.5 练习题 
  • ※第12章 I2C接口 

  • 12.1 I2C总线协议 
  • 12.1.1 I2C总线协议简介 
  • 12.1.2 I2C总线协议内容 
  • 12.2 Exynos4412-I2C控制器详解 
  • 12.2.1 I2C总线控制器概述 
  • 12.2.2 I2C总线控制器寄存器详解 
  • 12.2.3 I2C控制器操作流程 
  • 12.3 I2C重力感应/陀螺仪实验 
  • 12.3.1 实验目的 
  • 12.3.2 实验原理 
  • 12.3.3 实验内容 
  • 12.3.4 实验代码 
  • 12.3.5 实验现象 
  • 12.4 本章小结 
  • 12.5 练习题 
  • ※第13章 SPI接口 

  • 13.1 SPI总线协议 
  • 13.1.1 协议简介 
  • 13.1.2 协议内容 
  • 13.2 Exynos4412-SPI控制器详解 
  • 13.2.1 SPI控制器简介 
  • 13.2.2 SPI控制器时钟源控制
  • 13.2.3 SPI控制器寄存器详解 
  • 13.3 SPI/CAN总线实验 
  • 13.3.1 实验目的
  • 13.3.2 实验原理 
  • 13.3.3 实验内容 
  • 13.3.4 实验代码 
  • 13.3.5 实验现象 
  • 13.4 本章小结 
  • 13.5 练习题