وبلاگ بلیان

ARM嵌入式体系结构与接口技术 : Cortex-A53版

معرفی کتاب «ARM嵌入式体系结构与接口技术 : Cortex-A53版» نوشتهٔ 刘洪涛, 周凯主编، منتشرشده توسط نشر 人民邮电出版社 در سال 2022. این کتاب در فرمت pdf، زبان zh ارائه شده است. «ARM嵌入式体系结构与接口技术 : Cortex-A53版» در دستهٔ بدون دسته‌بندی قرار دارد.

a-fy 57624-bq c-qy d-ml 01 第1章 嵌入式系统基础知识 1.1 嵌入式系统概述 1.1.1 嵌入式系统简介 1.1.2 嵌入式系统定义 1.1.3 嵌入式系统特点 1.软/硬件可裁剪 2.对功能、可靠性、成本、体积、功耗要求严格 3.代码“短小精悍”,可固化 4.实时性 5.弱交互性 6.需要专门的开发环境和开发工具 1.1.4 嵌入式操作系统发展趋势 1.定制化 2.节能化 3.人性化 4.安全化 5.网络化 6.标准化 1.2 嵌入式系统的组成 1.2.1 嵌入式系统硬件子系统 1.2.2 嵌入式系统软件子系统 1.3 嵌入式系统开发流程 1.3.1 嵌入式系统基本设计流程 1.用户需求分析 2.体系结构设计 3.软/硬件设计 4.系统集成 5.系统测试 1.3.2 嵌入式系统的开发流程 1.4 小结 1.5 练习题 02 第2章 ARM技术概述 2.1 ARM体系结构的发展及技术特征 2.1.1 ARM公司简介 2.1.2 ARM技术特征 1.嵌入式RISC微处理器 2.嵌入式CISC微处理器 2.1.3 ARM体系结构的发展 1.v1架构 2.v2架构 3.v3架构 4.v4架构 5.v5架构 6.v6架构 7.v7架构 8.v8架构 2.2 ARM微处理器简介 2.2.1 Cortex-A系列处理器 2.2.2 Cortex-R系列处理器 2.2.3 Cortex-M系列处理器 2.2.4 SecurCore系列处理器 2.3 ARM微处理器架构 2.4 ARM微处理器应用选型 1.功能 2.性能 3.价格 4.熟悉程度及开发资源 5.操作系统支持 6.升级 7.供货稳定 2.5 小结 2.6 练习题 03 第3章 Cortex-A53编程模型 3.1 Cortex-A53处理器功能及特点 3.2 Cortex-A53支持的数据类型 3.2.1 ARM的基本数据类型 3.2.2 浮点数据类型 3.2.3 存储器大/小端模式 3.3 Cortex-A53内核工作模式 3.4 Cortex-A53存储系统 3.4.1 存储管理单元(MMU) 3.4.2 高速缓冲存储器(Cache) 3.5 指令流水线 3.5.1 指令流水线的概念与原理 3.5.2 指令流水线的分类 1.3级指令流水线ARM组织 2.5级指令流水线ARM组织 3.8级指令流水线 3.5.3 影响指令流水线性能的因素 1.互锁 2.跳转指令 3.6 寄存器组织 3.6.1 通用寄存器 1.AArch32重要寄存器简介 2.A32状态下寄存器组织 3.T32状态下寄存器组织 4.AArch64重要寄存器简介 5.64位和32位寄存器映射关系 3.6.2 程序状态寄存器 1.标志位 2.控制位 3.模式控制位 4.IF-THEN标志位 5.A位、E位和GE[19-16]位 3.7 基于Cortex-A53的S5P6818处理器 3.8 FS6818开发平台简介 3.9 小结 3.10 练习题 04 第4章 ARM开发环境搭建 4.1 FS-JTAG(B)仿真器 4.2 开发环境的搭建 4.2.1 开发环境简介 4.2.2 安装VMware Player 4.2.3 解压缩虚拟机镜像 4.2.4 打开虚拟机 4.2.5 连接硬件平台 4.2.6 USB转串口驱动安装 4.2.7 PuTTY串口终端配置 4.3 新建工程 4.4 添加已有工程 4.5 编译工程 4.6 调试工程 4.6.1 配置FS-JTAG调试工具 4.6.2 配置调试工具 4.6.3 查看变量和寄存器的方法 4.6.4 断点设置方法 4.6.5 查看内存数据信息的方法 4.6.6 调试结果后的处理 4.7 小结 4.8 练习题 05 第5章 ARM微处理器的指令系统 5.1 ARM指令系统简介 5.1.1 ARM指令分类 5.1.2 ARM指令编码格式 5.1.3 ARM指令条件码域 5.2 ARM指令的寻址方式 5.2.1 数据处理指令的寻址方式 1.立即数寻址方式 2.寄存器寻址方式 3.寄存器移位寻址方式 5.2.2 内存访问指令的寻址方式 5.3 ARM指令集 5.3.1 数据处理指令 1.数据传输指令 2.算术运算指令 3.逻辑运算指令 4.比较指令 5.移位操作指令 6.整数乘法指令 7.整数除法指令 5.3.2 Load/Store指令 1.单寄存器的Load/Store指令(对齐) 2.单寄存器的Load/Store指令(未对齐偏移) 3.Load/Store Pair指令(对齐) 4.Load/Store Non-temporal(非暂存)Pair(对)指令 5.Load/Store Unprivileged(排特权)指令 6.Load/Store Exclusive指令 5.3.3 跳转指令 1.条件分支指令 2.无条件分支指令 5.3.4 程序状态寄存器访问指令 5.3.5 异常产生指令 5.4 ARM伪指令 1.ADR伪指令 2.LDR伪指令 5.5 小结 5.6 练习题 06 第6章 ARM汇编语言程序设计 6.1 GNU汇编器支持的ARM伪指令 6.1.1 符号定义伪指令 1.全局标号定义伪指令.global和.globl 2.局部标号定义伪指令.local 3.变量赋值伪指令.set 4.宏替换伪指令.equ 6.1.2 数据定义伪指令 1..byte 2..short 3..word 4..long 5..quad 6..float 7..space 8..skip 9..string/.ascii/.asciz 10..rept 6.1.3 汇编控制伪指令 1..if/.else/.endif 2..macro/.endm/.exitm 6.1.4 杂项伪指令 1..align 2..section 3..data 4..text 5..include 6..extern 7..weak 8..end 6.2 汇编语言的语句格式 6.3 汇编语言的程序结构 1.过程调用标准AAPCS64 2.汇编语言的子程序调用 3.汇编语言与C语言的混合编程 6.4 小结 6.5 练习题 07 第7章 ARMv8异常处理 7.1 ARMv8异常概述 7.2 ARMv8异常种类 7.3 ARMv8异常处理 1.中断异常 2.中止异常 3.复位异常 4.异常产生指令 7.3.1 异常处理寄存器 7.3.2 同步和异步异常 1.同步中止 2.处理同步异常 3.系统调用 4.未分配的指令 7.3.3 由异常引起的执行状态和异常级别的改变 7.3.4 AArch64异常表 7.3.5 中断处理 7.4 小结 7.5 练习题 08 第8章 通用I/O接口 8.1 GPIO功能介绍 8.2 S5P6818处理器GPIO控制器 8.2.1 GPIO功能描述 8.2.2 GPIO特性 8.2.3 GPIO分组 8.2.4 GPIO常用寄存器分类 1.GPIOxOUT(x = A~E) 2.GPIOxOUTEND(x = A~E) 3.GPIOxDETMODE[0:1](x = A~E) 4.GPIOxINTENB(x = A~E) 5.GPIOxDET(x = A~E) 6.GPIOxPAD(x = A~E) 7.GPIOxALTFN[0:1](x = A~E) 8.GPIOxDETMODEEX(x = A~E) 9.GPIOxDETENB(x = A~E) 8.2.5 GPIO寄存器详解 1.GPIO引脚功能控制寄存器—GPIOxALTFN0(x = A~E) 2.GPIO引脚功能控制寄存器—GPIOxALTFN1(x = A~E) 3.GPIO引脚输入/输出使能寄存器—GPIOxOUTENB(x = A~E) 4.GPIO引脚输出电平寄存器—GPIOxOUT(x = A~E) 8.3 GPIO接口电路与程序设计 8.3.1 电路连接 8.3.2 寄存器设置 1.配置GPIOxALTFN1寄存器 2.配置GPIOxOUTENB寄存器 3.配置GPIOxOUT寄存器 8.3.3 程序的编写 1.GPIO控制器相关寄存器封装在led.h文件中实现 2.LED灯驱动代码在led.c文件中实现 3.主函数在main.c文件中实现 8.3.4 调试与运行结果 8.4 小结 8.5 练习题 09 第9章 ARM外部中断 9.1 ARM中断控制器简介 9.1.1 中断软件分支处理 9.1.2 硬件支持的分支处理 9.2 S5P6818处理器通用中断控制器 9.2.1 GIC功能模块 1.分配器 2.CPU接口 9.2.2 GIC中断控制器中断类型 1.软件产生中断 2.专用外设中断 3.共享外设中断 9.2.3 GIC中断控制器中断状态 1.无效态 2.挂起态 3.激活态 4.激活挂起态 9.2.4 GIC中断处理流程 9.3 中断接口电路与程序设计 9.3.1 电路连接 9.3.2 寄存器设置 1.GPIOx输出使能寄存器—GPIOxOUTENB(x = A~E) 2.GPIOx事件检测模式寄存器—GPIOxDETMODEn(x = A~E,n = 0、1) 3.GPIOx中断使能寄存器—GPIOxINTENB(x = A~E) 4.GPIOx事件检测寄存器—GPIOxDET(x = A~E) 5.GPIOx多功能选择寄存器—GPIOxALTFNn(x = A~E,n = 0、1) 6.GPIOx事件检测模式扩展寄存器—GPIOxDETMODEEX(x = A~E) 7.GPIOx检测使能寄存器—GPIOxDETENB(x = A~E) 8.分配器层控制寄存器—GICD_CTRL 9.分配器层中断使能寄存器—GICD_ISENABLERn(n = 0~4) 10.分配器层清除中断挂起标志寄存器—GICD_ICPENDERn(n = 0~4) 11.分配器层中断优先级设置寄存器—GICD_IPRIORITYRn(n = 0~39) 12.分配器层中断处理器目标寄存器—GICD_ITARGETSRn(n = 0~39) 13.CPU接口层控制寄存器—GICC_CTRL 14.CPU接口层中断优先级屏蔽寄存器—GICC_PMR 15.CPU接口层中断应答寄存器—GICC_IAR 16.CPU接口层中断结束寄存器—GICC_EOIR 9.3.3 程序的编写 1.GPIO控制器相关寄存器的定义在s5p6818_gpio.h文件中实现 2.GIC控制器相关寄存器的定义在s5p6818_gic.h文件中实现 3.GIC控制器初始化程序在key_interrupt.c文件中实现 4.按键中断处理程序在s5p6818-irq.c文件中实现 5.主函数在main.c文件中实现 9.3.4 调试与运行结果 9.4 小结 9.5 练习题 10 第10章 UART串行通信接口 10.1 串行通信 10.1.1 异步串行通信原理 1.异步串行通信的特点 2.异步串行通信的数据格式 10.1.2 RS-232C串口规范 1.9针串口引脚定义 2.RS-232C电气特性 3.RS-232C的通信距离和速度 4.RS-232C电平转换芯片及电路 10.1.3 RS-232C接线方式 10.2 S5P6818处理器UART控制器 1.UART概述 2.UART特点 3.UART控制器框图 10.3 UART接口电路与程序设计 10.3.1 电路连接 10.3.2 寄存器设置 1.UART配置相关寄存器列表 2.配置引脚功能寄存器—GPIOxALTFN[0:1](x = A~E) 3.UART行控制寄存器—ULCONn(n = 0~6) 4.UART控制寄存器—UCONn(n = 0~6) 5.UART状态寄存器—UTRSTATn(n = 0~6) 6.UART发送数据寄存器—UTXHn(n = 0~6) 7.UART接收数据寄存器—URXHn(n = 0~6) 8.波特率整数部分设置寄存器—UBRDIVn(n = 0~6) 9.波特率小数部分设置寄存器—UFRACVALn(n = 0~6) 10.3.3 程序的编写 1.UART控制器相关寄存器封装在s5p6818_uart.h文件中实现 2.UART驱动代码在uart0.c文件中实现 3.主函数在main.c文件中实现 10.3.4 调试与运行结果 10.4 小结 10.5 练习题 11 第11章 PWM定时器与“看门狗”定时器 11.1 PWM定时器 1.定时器概述 2.PWM概述 11.2 S5P6818处理器PWM定时器 11.3 PWM接口电路与程序设计 11.3.1 电路连接 11.3.2 寄存器设置 1.PWM配置相关寄存器列表 2.时钟一级分频寄存器—TCFG0 3.时钟多路选择寄存器—TCFG1 4.控制寄存器—TCON 5.计数缓冲寄存器—TCNTB2 6.比较缓冲寄存器—TCMPB2 7.计数监控寄存器—TCNTO2 11.3.3 程序的编写 1.PWM控制器相关寄存器封装在s5p6818_pwm.h文件中实现 2.PWM驱动代码在pwm.c文件中实现 3.主函数在main.c文件中实现 11.3.4 调试与运行结果 11.4 “看门狗”定时器 11.5 S5P6818处理器“看门狗”定时器 11.5.1 “看门狗”定时器概述 1.S5P6818处理器“看门狗”定时器概述 2.S5P6818处理器“看门狗”定时器特点 3.S5P6818处理器“看门狗”定时器功能框图 11.5.2 寄存器设置 1.“看门狗”配置相关寄存器 2.“看门狗”定时器控制寄存器—WTCON 3.“看门狗”定时器数据寄存器—WTDAT 4.“看门狗”定时器计数寄存器—WTCNT 11.5.3 程序的编写 1.“看门狗”控制器相关寄存器封装在s5p6818_wdt.h文件中实现 2.“看门狗”驱动代码在wdt.c文件中实现 3.主函数在main.c文件中实现 11.5.4 调试与运行结果 11.6 小结 11.7 练习题 12 第12章 A/D转换器 12.1 A/D转换器原理 12.1.1 A/D转换器的类别 1.积分型A/D转换器 2.逐次逼近型A/D转换器 3.并行比较/串行比较型A/D转换器 4.电容阵列逐次比较型A/D转换器 5.压频变换型A/D转换器 12.1.2 A/D转换器的参数 1.分辨率(Resolution) 2.转换速率(Conversion Rate) 3.量化误差(Quantizing Error) 4.偏移误差(Offset Error) 5.满度误差(Full Scale Error) 6.线性度(Linearity) 12.2 S5P6818处理器的A/D转换器 12.3 A/D转换器接口电路与程序设计 12.3.1 电路连接 12.3.2 寄存器设置 1.ADC转换器配置相关寄存器列表 2.ADC控制寄存器—ADCCON 3.ADC数据寄存器—ADCDAT 4.ADC分频寄存器—PRESCALERCON 12.3.3 程序的编写 1.ADC转换器相关寄存器封装在s5p6818_adc.h文件中实现 2.ADC驱动代码在adc.c文件中实现 3.主函数在main.c文件中实现 12.3.4 调试与运行结果 12.4 小结 12.5 练习题 13 第13章 SPI总线接口 13.1 SPI总线协议 13.1.1 SPI总线协议简介 13.1.2 SPI总线协议内容 1.SPI总线引脚定义 2.SPI总线物理连接 3.SPI总线信号类型 4.SPI总线时序 5.SPI总线数据传输格式 13.2 S5P6818处理器的SPI总线控制器 13.3 SPI接口电路与程序设计 13.3.1 电路连接 13.3.2 寄存器设置 1.SPI配置相关寄存器 2.SPI传输配置寄存器—SPI/SSP_CONFIGURE 3.SPI模式配置寄存器—SPI/SSP_FIFO_CON 4.SPI从机选择信号配置寄存器—SPI/SSP_SEL_SIGNAL_CON 5.SPI状态寄存器—SPI/SSP_STATUS 6.SPI数据发送寄存器—SPI/SSP_TX_DATA 7.SPI数据接收寄存器—SPI/SSP_RX_DATA 13.3.3 程序的编写 1.SPI案例内容及原理 2.SPI案例软件设计 3.SPI案例测试代码 13.3.4 调试与运行结果 13.4 小结 13.5 练习题 14 第14章 I2C总线接口 14.1 I2C总线协议 14.1.1 I2C总线协议简介 14.1.2 I2C总线协议内容 1.I2C总线引脚定义 2.I2C总线物理连接 3.I2C总线术语 4.I2C总线信号类型 5.I2C总线时序 6.I2C总线ACK信号 7.I2C设备地址 8.I2C总线寻址 14.2 S5P6818处理器的I2C控制器 1.S5P6818的I2C控制器特征 2.S5P6818的I2C控制器操作流程 14.3 I2C接口电路和程序设计 14.3.1 电路连接 14.3.2 寄存器设置 1.I2C总线控制器相关寄存器 2.I2C总线控制寄存器—I2CCONn(n = 0~2) 3.I2C总线控制状态寄存器—I2CSTATn(n = 0~2) 4.I2C总线地址寄存器—I2CADDn(n = 0~2) 5.I2C总线发送/接收数据移位寄存器—I2CDSn(n = 0~2) 6.I2C总线线控制寄存器—I2CLCn(n = 0~2) 7.I2C总线版本寄存器—I2CVRn(n = 0~2) 14.3.3 程序的编写 1.单字节写时序(Byte Write) 2.单字节读时序(Byte Read) 3.I2C控制器相关寄存器定义 4.S5P6818芯片和MMA8451芯片实现I2C通信头文件 5.S5P6818芯片和MMA8451芯片实现I2C通信源文件 6.主函数在main.c文件中实现 14.3.4 调试与运行结果 14.4 小结 14.5 练习题 15 第15章 温度监控系统综合案例 15.1 系统功能 15.2 系统组成 15.3 接口电路设计 1.DS18B20温度传感器特性 2.硬件连接 3.工作原理 4.工作时序图 15.4 程序设计 1.DS18B20传感器头文件代码在ds18b20.h头文件中实现 2.DS18B20相关功能函数的实现在ds18b20.c文件中实现 3.项目具体逻辑实现在中断处理函数中完成,具体代码在s5p6818_irq.c文件中实现 4.主要外设初始化代码在main.c文件中实现 15.5 运行结果 15.6 小结 15.7 练习题 本书主要从ARM的体系结构和接口技术两个方面对S5P6818芯片的使用进行讲解.全书共15章,前14章分别介绍了嵌入式系统基础知识,ARM技术概述,Cortex-A53编程模型,ARM开发环境搭建,ARM微处理器的指令系统,ARMv8汇编语言程序设计,ARM异常处理,通用I/O接口,ARM外部中断,UART串行通信接口,PWM定时器与"看门狗"定时器,A/D转换器,SPI总线接口,I2C总线接口;最后一章提供了一个综合案例,通过练习和操作实践,帮助读者巩固所学的内容
دانلود کتاب ARM嵌入式体系结构与接口技术 : Cortex-A53版