ARM Cortex-M0全可编程SoC原理及实现:面向处理器、协议、外设、编程和操作系统:to processor, protocol, peripheral, programming and os
正版保障 假一赔十 可开发票
¥
49.11
6.2折
¥
79
全新
库存2件
作者何宾
出版社清华大学出版社
ISBN9787302457329
出版时间2016-09
装帧平装
开本16开
定价79元
货号8928005
上书时间2024-12-14
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
何宾,有名的嵌入式系统专家和EDA技术专家,长期从事嵌入式系统和电子设计自动化方面的教学和科研工作,与优选知名的半导体厂商租EDA工具厂商保持紧密合作,致力于推动靠前高校电子信息技术的教学改革。目前已经出版嵌入式系统和电子设计自动化方面的著作20余部,内容涵盖电路仿真、电路设计、现场可编程门阵列、单片机、嵌入式系统等。代表作有《Xilinx FPGA数字设计》、《Xilinx All Programmable Zynq-7000 SoC设计指南》、《Xilinx FPGA数字信号处理指南》、《Xilinx FPGA设计指南》、《Altium Designer 13.0电路设计、仿真与验证指南》、《STC单片机原理及应用》。
目录
目录
?
第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章CortexM0 CPU结构
?
2.1ARM处理器类型
?
2.2CortexM系列处理器概述
?
2.2.1CortexM系列处理器的特点
?
2.2.2CortexM系列处理器的性能参数
?
2.3CortexM0处理器性能和结构
?
2.3.1CortexM0处理器的性能
?
2.3.2CortexM0处理器的结构
?
2.4CortexM0处理器寄存器组
?
2.4.1通用寄存器
?
2.4.2堆栈指针
?
2.4.3程序计数器
?
2.4.4链接寄存器
?
2.4.5组合程序状态寄存器
?
2.4.6中断屏蔽特殊寄存器
?
2.4.7特殊寄存器
?
2.5CortexM0存储器空间映射
?
2.6CortexM0程序镜像原理及生成方法
?
2.7CortexM0的端及分配
?
2.8CortexM0处理器异常及处理
?
2.8.1异常原理
?
2.8.2异常优先级
?
2.8.3向量表
?
2.8.4异常类型
?
第3章CortexM0指令集
?
3.1Thumb指令集
?
3.2CortexM0汇编语言格式
?
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章CortexM0低功耗特性
?
4.1低功耗要求
?
4.2CortexM0低功耗特性及优势
?
4.2.1CortexM0低功耗特性
?
4.2.2CortexM0低功耗结构
?
4.3CortexM0休眠模式
?
4.4唤醒中断控制器
?
4.5降低功耗的其他方法
?
第5章AHBLite总线结构分析
?
5.1总线及分类
?
5.1.1总线的概念
?
5.1.2总线分类
?
5.2ARM AMBA系统总线
?
5.3AMBA3 AHBLite总线
?
5.3.1AHBLite概述
?
5.3.2AHBLite总线操作
?
5.4AHBLite总线结构
?
5.4.1全局信号
?
5.4.2AHBLite主设备接口
?
5.4.3AHBLite从设备接口
?
5.4.4地址译码器和多路复用器
?
5.5AHBLite总线时序
?
5.5.1无等待基本读传输
?
5.5.2有等待基本读传输
?
5.5.3无等待基本写传输
?
5.5.4有等待基本写传输
?
5.6硬件实现
?
第6章CortexM0汇编语言编程基础
?
6.1Keil MDK开发套件
?
6.1.1MDK开发套件
?
6.1.2安装MDK开发套件
?
6.1.3MDK程序处理流程
?
6.2CortexM0汇编语言程序设计
?
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查看CortexM0寄存器内容
?
6.6.2查看CortexM0存储器内容
?
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章CortexM0 DesignStart架构
?
7.1获取CortexM0
DesignStart
?
7.2CortexM0 DesignStart顶层符号
?
7.2.1中断
?
7.2.2状态输出
?
7.2.3事件信号
?
7.3AHBLite接口
?
7.4将CortexM0
DesignStart集成到系统的方法
?
第8章XILINX Artix7 FPGA结构
?
8.1Artix7器件逻辑资源
?
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.2Artix7中的I/O列和类型
?
8.6.3I/O电气资源
?
8.6.4I/O逻辑资源
?
8.7XADC模块
?
8.8吉比特收发器
?
8.9PCIE模块
?
8.10配置模块
?
8.11互连资源
?
第9章CortexM0嵌入式系统设计与实现
?
9.1设计目标
?
9.2CortexM0 SoC系统的构建
?
9.2.1启动Vivado 2016集成开发环境
?
9.2.2创建新的设计工程
?
9.2.3添加CortexM0处理器源文件
?
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章CortexM0 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语言编程CortexM0
?
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中断函数
?
?
内容摘要
由何宾编著的《ARMCortex-M0全可编程SoC原
理及实现(面向处理器协议外设编程和操作系统)/EDA工程技术丛书》以ARM公司免费开放的CortexM0DesignStart处理器IP核为基础,以CortexM
— 没有更多了 —
以下为对购买帮助不大的评价