ARM Cortex-M0 全可编程SoC原理及实现——面向处理器、协议、外设、编程和操作系统

作者:何宾

出版:清华大学出版社

年代:2017 更多图书信息

电子纸书:¥51.35 定价: ¥79 纸质书最低¥54.5起,点此购买

图书简介

本书以ARM公司免费开放的Cortex-M0 DesignStart处理器 IP核为基础,以Cortex-M0处理器架构、AMBA规范、外设、汇编语言、C语言、CMSIS、驱动程序开发以及RTX操作系统为主线,详细介绍了通过Xilinx Vivado以及Keil μVision5集成开发环境构建Cortex-M0全可编程嵌入式系统的硬件和软件设计方法。 全书共分18章,主要内容包括: 全可编程SoC设计导论、Cortex-M0 CPU结构、Cortex-M0指令集、Cortex-M0低功耗特性、AHB-Lite总线结构分析、Cortex-M0汇编语言编程基础、Cortex-M0 DesignStart架构、Xilinx Artix-7 FPGA结构、Cortex-M0嵌入式系统设计与实现、7段数码管控制器设计与实现、中断系统设计与实现、定时器设计与实现、UART串口控制器设计与实现、VGA控制器设计与实现、DDR3存储器系统设计与实现、Cortex-M0 C语言编程基础、CMSIS和驱动程序开发、RTX操作系统原理及应用。本书可作为讲授ARM Cortex-M0嵌入式系统课程以及Cortex-M0可编程SoC系统设计课程的教学参考用书,也可作为学习Xilinx Vivado集成开发环境和Verilog HDL语言的参考用书。

(展开)

编辑推荐

1. 知识融合 将ARM公司开源的Cortex-M0 IP用于典型嵌入式系统设计,内容涵盖了处理器架构、指令集、汇编语言、协议、接口、C语言、操作系统等方面的知识。
2. 深入分析 在本书中,通过Xilinx 7系列现场可编程门阵列(FPGA)实现Cortex-M0嵌入式系统硬件设计;通过Keil μVision5集成开发环境,实现软件程序设计。此外,通过软件和硬件开发工具提供的仿真、调试和跟踪功能,深度分析了处理器内部架构、处理器与存储器和外设之间的通信机制,以及软件和硬件协同设计方法。
3. 知识*威 在编写本书的过程中,ARM公司课程开发团队提供了大量的教学参考资料,包括设计案例、教学课件以及技术文档等。使得本书能从硬件和软件两个方面准确反映Cortex-M0嵌入式系统的设计和实现方法。
4.实例丰富 提供了Cortex-M0典型应用的设计案例、设计代码和参考资料,便于读者自学,快速动手实践。

(展开)

目录

第1章全可编程SoC设计导论
1.1SoC基础知识
1.1.1SoC的概念
1.1.2SoC与MCU及CPU的比较
1.1.3典型的商用SoC器件
1.2SoC设计流程
1.3SoC体系架构
1.4全可编程SoC技术
1.4.1基于软核的全可编程SoC
1.4.2基于硬核的全可编程SoC
1.5全可编程SoC设计流程
第2章CortexM0 CPU结构
2.1ARM处理器类型
2.2CortexM系列处理器概述
2.2.1CortexM系列处理器的特点
2.2.2CortexM系列处理器的性能参数
2.3CortexM0处理器性能和结构
2.3.1CortexM0处理器的性能
2.3.2CortexM0处理器的结构
2.4CortexM0处理器寄存器组
2.4.1通用寄存器
2.4.2堆栈指针
2.4.3程序计数器
2.4.4链接寄存器
2.4.5组合程序状态寄存器
2.4.6中断屏蔽特殊寄存器
2.4.7特殊寄存器
2.5CortexM0存储器空间映射
2.6CortexM0程序镜像原理及生成方法
2.7CortexM0的端及分配
2.8CortexM0处理器异常及处理
2.8.1异常原理
2.8.2异常优先级
2.8.3向量表
2.8.4异常类型
第3章CortexM0指令集
3.1Thumb指令集
3.2CortexM0汇编语言格式
3.3寄存器访问指令: MOVE
3.4存储器访问指令: LOAD
3.5存储器访问指令: STORE
3.6多数据访问指令: LDM和STM
3.7堆栈访问指令: PUSH和POP
3.8算术运算指令
3.8.1加法指令
3.8.2减法指令
3.8.3乘法指令
3.8.4比较指令
3.9逻辑操作指令
3.10移位操作指令
3.10.1右移指令
3.10.2左移指令
3.11反序操作指令
3.12扩展操作指令
3.13程序流控制指令
3.14存储器屏蔽指令
3.15异常相关指令
3.16休眠相关指令
3.17其他指令
3.18数据插入和对齐操作
第4章CortexM0低功耗特性
4.1低功耗要求
4.2CortexM0低功耗特性及优势
4.2.1CortexM0低功耗特性
4.2.2CortexM0低功耗结构
4.3CortexM0休眠模式
4.4唤醒中断控制器
4.5降低功耗的其他方法
第5章AHBLite总线结构分析
5.1总线及分类
5.1.1总线的概念
5.1.2总线分类
5.2ARM AMBA系统总线
5.3AMBA3 AHBLite总线
5.3.1AHBLite概述
5.3.2AHBLite总线操作
5.4AHBLite总线结构
5.4.1全局信号
5.4.2AHBLite主设备接口
5.4.3AHBLite从设备接口
5.4.4地址译码器和多路复用器
5.5AHBLite总线时序
5.5.1无等待基本读传输
5.5.2有等待基本读传输
5.5.3无等待基本写传输
5.5.4有等待基本写传输
5.6硬件实现
第6章CortexM0汇编语言编程基础
6.1Keil MDK开发套件
6.1.1下载MDK开发套件
6.1.2安装MDK开发套件
6.1.3MDK程序处理流程
6.2CortexM0汇编语言程序设计
6.2.1建立新设计工程
6.2.2工程参数设置
6.2.3添加汇编文件
6.2.4汇编语言语法
6.3.lst文件分析
6.4.map文件分析
6.5.hex文件分析
6.6软件仿真和调试
6.6.1查看CortexM0寄存器内容
6.6.2查看CortexM0存储器内容
6.6.3查看监视窗口的内容
6.7汇编语言其他常用语法介绍
6.7.1标识符的命名规则
6.7.2变量
6.7.3常数
6.7.4EQU命令
6.7.5IMPORT/EXTERN命令
6.7.6子程序调用
6.7.7宏定义和使用
第7章CortexM0 DesignStart架构
7.1获取CortexM0 DesignStart
7.2CortexM0 DesignStart顶层符号
7.2.1中断
7.2.2状态输出
7.2.3事件信号
7.3AHBLite接口
7.4将CortexM0 DesignStart集成到系统的方法
第8章XILINX Artix7 FPGA结构
8.1Artix7器件逻辑资源
8.2可配置逻辑块
8.2.1可配置逻辑块概述
8.2.2查找表
8.2.3多路复用器
8.2.4进位逻辑
8.2.5存储元素
8.2.6分布式RAM(只有SLICEM)
8.2.7只读存储器(ROM)
8.2.8移位寄存器(只有SLICEM)
8.3时钟资源和时钟管理单元
8.3.17系列FPGA时钟资源
8.3.27系列内部时钟结构
8.3.37系列FPGA时钟管理模块
8.4块存储器资源
8.5专用的DSP模块
8.6输入/输出块
8.6.1I/O特性概述
8.6.2Artix7中的I/O列和类型
8.6.3I/O电气资源
8.6.4I/O逻辑资源
8.7XADC模块
8.8吉比特收发器
8.9PCIE模块
8.10配置模块
8.11互连资源
第9章CortexM0嵌入式系统设计与实现
9.1设计目标
9.2CortexM0 SoC系统的构建
9.2.1启动Vivado 2016集成开发环境
9.2.2创建新的设计工程
9.2.3添加CortexM0处理器源文件
9.2.4添加系统主时钟IP核
9.3设计文件修改和分析
9.3.1AHB总线地址译码器
9.3.2AHB总线从设备多路复用器
9.3.3AHB片上存储器外设
9.3.4AHB LED外设
9.3.5AHBLITE_SYS顶层文件
9.4程序代码的编写
9.4.1建立新设计工程
9.4.2工程参数设置
9.4.3添加和编译汇编文件
9.4.4分析HEX文件与汇编文件的关系
9.4.5添加HEX文件到当前工程
9.5RTL详细描述和分析
9.6仿真原理和行为级仿真
9.6.1仿真实现的不同功能
9.6.2Vivado所支持的仿真工具
9.6.3行为级仿真实现
9.6.4添加信号并仿真
9.6.5仿真结果分析
9.7设计综合和分析
9.7.1综合过程的关键问题
9.7.2设计综合选项
9.7.3Vivado支持的属性
9.7.4执行设计综合
9.7.5查看综合报告
9.8创建实现约束
9.8.1实现约束的原理
9.8.2I/O规划器功能
9.8.3引脚位置约束的实现
9.9设计实现和分析
9.9.1实现过程原理
9.9.2设计实现选项
9.9.3设计实现
9.9.4查看布局布线后的结果
9.9.5查看实现后的报告
9.9.6功耗分析
9.9.7静态时序分析
9.10实现后时序仿真
9.11生成编程文件
9.12下载比特流文件到FPGA
9.13生成并下载外部存储器文件
第10章7段数码管控制器设计与实现
10.1设计目标
10.2打开前面的设计工程
10.3添加并分析7段数码管控制器源文件
10.3.1添加7段数码管控制器源文件
10.3.2分析7段数码管控制器源文件
10.4修改并分析顶层设计文件
10.5编写程序代码
10.5.1建立新设计工程
10.5.2工程参数设置
10.5.3添加和编译汇编文件
10.5.4添加HEX文件到当前工程
10.6设计综合
10.7添加约束条件
10.8设计实现
10.9下载比特流文件
10.10系统在线调试原理
10.11系统在线调试实现
10.11.1建立新的调试工程
10.11.2添加调试网络
10.11.3在线测试分析
第11章中断系统设计与实现
11.1设计目标
11.2中断控制器原理
11.2.1NVIC特点
11.2.2NVIC映射
11.2.3NVIC寄存器
11.3进入和退出异常句柄的过程
11.3.1进入中断句柄的过程
11.3.2退出中断句柄的过程
11.4打开前面的设计工程
11.5添加并分析按键消抖模块源文件
11.5.1添加按键消抖模块源文件
11.5.2分析按键消抖模块源文件
11.6修改并分析顶层设计文件
11.7编写程序代码
11.7.1建立新设计工程
11.7.2工程参数设置
11.7.3软件初始化中断
11.7.4添加和编译汇编文件
11.7.5添加HEX文件到当前工程
11.8设计综合
11.9添加约束条件
11.10设计实现
11.11下载比特流文件
第12章定时器设计与实现
12.1设计目标
12.2打开前面的设计工程
12.3添加并分析定时器模块源文件
12.3.1定时器模块设计原理
12.3.2添加定时器源文件
12.3.3分析定时器源文件
12.4修改并分析顶层设计文件
12.5编写程序代码
12.5.1建立新设计工程
12.5.2工程参数设置
12.5.3添加和编译汇编文件
12.5.4添加HEX文件到当前工程
12.6设计综合
12.7设计实现
12.8下载比特流文件
第13章UART串口控制器设计与实现
13.1设计目标
13.2串行通信基础
13.2.1串行和并行通信之间的比较
13.2.2串行通信的类型
13.3通用异步收发数据格式和编码
13.3.1数据格式
13.3.2字符编码规则
13.4UART串口控制器的实现原理
13.4.1UART发送器
13.4.2UART接收器
13.4.3发送器/接收器FIFO
13.5打开前面的设计工程
13.6添加并分析UART模块源文件
13.6.1添加UART模块源文件
13.6.2分析UART模块源文件
13.7修改并分析顶层设计文件
13.8编写程序代码
13.8.1建立新设计工程
13.8.2工程参数设置
13.8.3添加和编译汇编文件
13.8.4添加HEX文件到当前工程
13.9设计综合
13.10添加约束条件
13.11设计实现
13.12下载比特流文件
第14章VGA控制器设计与实现
14.1设计目标
14.2VGA工作原理
14.2.1VGA连接器
14.2.2CRT原理
14.2.3VGA接口信号
14.2.4VGA时序
14.3VGA显示硬件实现原理
14.3.1VGA图像缓冲区
14.3.2VGA控制台
14.3.3VGA控制器存储器空间
14.4打开前面的设计工程
14.5添加并分析VGA模块源文件
14.5.1添加VGA模块源文件
14.5.2分析VGA模块源文件
14.6修改其他设计
14.6.1添加并分析顶层设计文件
14.6.2修改时钟生成器输出频率
14.6.3修改波特率时钟
14.7编写程序代码
14.7.1建立新设计工程
14.7.2工程参数设置
14.7.3添加和编译汇编文件
14.7.4添加HEX文件到当前工程
14.8设计综合
14.9添加约束条件
14.10设计实现
14.11下载比特流文件
第15章DDR3存储器系统设计与实现
15.1计算机搭载的存储器设备
15.2存储器类型
15.2.1易失性存储器
15.2.2非易失性存储器
15.3系统设计目标
15.3.1硬件构建目标
15.3.2软件编程目标
15.4DDR3 SDRAM控制器设计原理
15.4.1DDR3 SDRAM存储器结构
15.4.2DDR3 SDRAM控制器结构
15.4.3DDR3 SDRAM的读写访问时序
15.5DDR3 SDRAM控制器系统设计与实现
15.5.1打开前面的设计工程
15.5.2设计DDR3 SDRAM存储器控制器
15.5.3修改系统设计文件
15.5.4编写程序代码
15.5.5设计综合
15.5.6设计实现
15.5.7下载比特流文件
第16章CortexM0 C语言编程基础
16.1C语言处理流程
16.2C语言镜像文件内容和存储
16.2.1C语言镜像文件的内容
16.2.2C语言镜像文件的存储位置
16.3启动代码的分析
16.4C语言中数据的存储空间
16.5C语言数据类型及实现
16.5.1C语言支持的数据类型
16.5.2数据类型修饰符
16.6C语言编程CortexM0
16.6.1定义中断向量表
16.6.2定义堆和堆栈
16.6.3读写外设寄存器
16.6.4汇编调用C函数
16.6.5C语言调用汇编语言
16.6.6C语言嵌入汇编语言
16.7C语言驱动的设计和实现
16.7.1打开前面的设计工程
16.7.2建立新的软件设计工程
16.7.3软件工程参数设置
16.7.4创建并添加汇编文件
16.7.5创建并添加头文件
16.7.6创建并添加C文件
16.7.7添加HEX文件到当前工程
16.7.8设计综合
16.7.9设计实现
16.7.10下载比特流文件
16.8C语言重定向及实现
16.8.1打开前面的设计工程
16.8.2打开前面的软件设计工程
16.8.3修改启动引导文件
16.8.4导入并修改retarget.c文件
16.8.5修改C设计文件
16.8.6添加HEX文件到当前工程
16.8.7设计综合
16.8.8设计实现
16.8.9下载比特流文件
第17章CMSIS和驱动程序开发
17.1引入CMSIS的必要性
17.2CMSIS的优势
17.3CMSIS的框架
17.4使用CMSIS访问不同资源
17.4.1访问NVIC
17.4.2访问特殊寄存器
17.4.3访问特殊指令
17.4.4访问系统
17.5软件驱动程序的设计
17.5.1软件驱动程序的功能
17.5.2AHB外设驱动设计
17.6动态图形交互系统设计
17.6.1动态图形交互硬件平台
17.6.2触摸屏显示控制方法
17.6.3触摸屏触摸控制方法
17.6.4打开前面的设计工程
17.6.5触摸屏控制器模块的设计实现
17.6.6修改顶层设计文件
17.6.7C语言程序的设计和实现
17.6.8设计综合
17.6.9添加约束条件
17.6.10设计实现
17.6.11下载比特流文件
第18章RTX操作系统原理及应用
18.1RTOS的优势
18.2操作系统的概念
18.3操作系统支持特性
18.3.1SysTick定时器
18.3.2堆栈指针
18.3.3SVC
18.3.4PendSV
18.4RTX内核架构的特点
18.5RTX的具体实现过程
18.5.1实现目标
18.5.2打开前面的工程
18.5.3修改工程属性设置
18.5.4修改启动代码
18.5.5导入RTX_Config.c文件
18.5.6修改main.c文件
18.5.7软件调试和测试
18.6RTX内核功能
18.6.1定时器滴答中断
18.6.2系统任务管理器
18.6.3任务管理
18.6.4空闲任务
18.6.5系统资源
18.6.6任务调度策略
18.6.7优先级倒置
18.6.8堆栈管理
18.6.9用户定时器
18.6.10中断函数
(展开)

书页展示

更多图书信息
数据来源于网络,如有问题,请反馈至此邮箱:service@bookask.com

作者:何宾
出版:清华大学出版社

ISBN:9787302457329

出版日期:2017-03-01

清华大学出版社

清华大学出版社

清华大学出版社成立于1980年6月,是由教育部主管、清华大学主办的综合出版单位。植根于“清华”这座久负盛名的高等学府,秉承清华人“自强不息,厚德载物”的人文精神,清华大学出版社在短短二十多年的时间里,迅速成长起来。作为来自一流大学的出版单位,清华大学出版社始终坚持弘扬科技文化产业、服务科教兴国战略的出版方向,把出版高等学校教学用书和科技图书作为主要任务,并为促进学术交流、繁荣出版事业设立了多项出版基金,逐渐形成了以出版高水平的教材和学术专著为主的鲜明特色,在教育出版领域树立了强势品牌。目前,清华版教材已在全国一百多所院校得到广泛使用。高品质、多层次的计算机图书是清华大学出版社的一大品牌支柱。20世纪80年代末,在席卷全球的信息化浪潮中,清华大学出版社快速切入计算机图书市场,逐渐成为并一直保持这一市场的领先地位,为发展中国计算机教育做出了巨大贡献。

(展开)

作者信息

何宾

何宾,著名的嵌入式技术和EDA技术专家,长期从事电子设计自动化方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商大学计划保持紧密合作。目前已经出版嵌入式和EDA方面的著作30余部,内容涵盖电路仿真、电路设计、可编程逻辑器件、数字信号处理、单片机、嵌入式系统、片上可编程系统等。典型的代表作有《Xilinx FPGA设计权威指南》《Xilinx FPGA数字设计——从门级到行为级的双重描述》《Xilinx FPGA数字信号处理权威指南——从HDL、模型到C的描述》《Xilinx All Programmable Zynq-7000 嵌入式系统设计与实现》《模拟与数字系统协同设计*威指南——Cypress集成开发环境》《STC单片机原理及应用》《STC单片机C语言程序设计》《Altium Designer 13.0电路设计、仿真与验证权威指南》《Altium Designer 15.0电路仿真、设计、验证与工艺实现权威指南》。

(展开)
Copyright ©2021  BookAsk 书问  |  京ICP证160134号   |  

京公网安备 11010802026432号

  |  出版物经营许可证新出发京零字第海150168号   |  营业执照:91110108318038279C   |  网站地图   |  关于我们   |  合作伙伴   |  商务合作   |  友情链接