图书介绍

ARM CORTEX-M0 全可编程SOC原理及实现 面向处理器、协议、外设、编程和操作系统PDF|Epub|txt|kindle电子书版本网盘下载

ARM CORTEX-M0 全可编程SOC原理及实现 面向处理器、协议、外设、编程和操作系统
  • 何宾编著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302457329
  • 出版时间:2017
  • 标注页数:479页
  • 文件大小:117MB
  • 文件页数:497页
  • 主题词:微处理器-系统设计

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

ARM CORTEX-M0 全可编程SOC原理及实现 面向处理器、协议、外设、编程和操作系统PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 全可编程SoC设计导论1

1.1 SoC基础知识1

1.1.1 SoC的概念1

1.1.2 SoC与MCU及CPU的比较3

1.1.3 典型的商用SoC器件3

1.2 SoC设计流程6

1.3 SoC体系架构8

1.4 全可编程SoC技术9

1.4.1 基于软核的全可编程SoC9

1.4.2 基于硬核的全可编程SoC10

1.5 全可编程SoC设计流程10

第2章 Cortex-M0 CPU结构13

2.1 ARM处理器类型13

2.2 Cortex-M系列处理器概述14

2.2.1 Cortex-M系列处理器的特点14

2.2.2 Cortex-M系列处理器的性能参数15

2.3 Cortex-M0处理器性能和结构15

2.3.1 Cortex-M0处理器的性能16

2.3.2 Cortex-M0处理器的结构16

2.4 Cortex-M0处理器寄存器组18

2.4.1 通用寄存器18

2.4.2 堆栈指针18

2.4.3 程序计数器19

2.4.4 链接寄存器19

2.4.5 组合程序状态寄存器20

2.4.6 中断屏蔽特殊寄存器21

2.4.7 特殊寄存器21

2.5 Cortex-M0存储器空间映射22

2.6 Cortex-M0程序镜像原理及生成方法24

2.7 Cortex-M0的端及分配25

2.8 Cortex-M0处理器异常及处理25

2.8.1 异常原理25

2.8.2 异常优先级26

2.8.3 向量表26

2.8.4 异常类型28

第3章 Cortex-M0指令集30

3.1 Thumb指令集30

3.2 Cortex-M0汇编语言格式31

3.3 寄存器访问指令:MOVE32

3.4 存储器访问指令:LOAD33

3.5 存储器访问指令:STORE36

3.6 多数据访问指令:LDM和STM37

3.7 堆栈访问指令:PUSH和POP39

3.8 算术运算指令39

3.8.1 加法指令39

3.8.2 减法指令41

3.8.3 乘法指令42

3.8.4 比较指令42

3.9 逻辑操作指令43

3.10 移位操作指令45

3.10.1 右移指令45

3.10.2 左移指令46

3.11 反序操作指令47

3.12 扩展操作指令48

3.13 程序流控制指令49

3.14 存储器屏蔽指令51

3.15 异常相关指令51

3.16 休眠相关指令51

3.17 其他指令52

3.18 数据插入和对齐操作52

第4章 Cortex-M0低功耗特性54

4.1 低功耗要求54

4.2 Cortex-M0低功耗特性及优势54

4.2.1 Cortex-M0低功耗特性55

4.2.2 Cortex-M0低功耗结构55

4.3 Cortex-M0休眠模式56

4.4 唤醒中断控制器57

4.5 降低功耗的其他方法58

第5章 AHB-Lite总线结构分析59

5.1 总线及分类59

5.1.1 总线的概念59

5.1.2 总线分类60

5.2 ARM AMBA系统总线60

5.3 AMBA3 AHB-Lite总线61

5.3.1 AHB-Lite概述61

5.3.2 AHB-Lite总线操作62

5.4 AHB-Lite总线结构62

5.4.1 全局信号63

5.4.2 AHB-Lite主设备接口63

5.4.3 AHB-Lite从设备接口66

5.4.4 地址译码器和多路复用器67

5.5 AHB-Lite总线时序68

5.5.1 无等待基本读传输68

5.5.2 有等待基本读传输69

5.5.3 无等待基本写传输69

5.5.4 有等待基本写传输70

5.6 硬件实现71

第6章 Cortex-M0汇编语言编程基础72

6.1 Keil MDK开发套件72

6.1.1 下载MDK开发套件72

6.1.2 安装MDK开发套件75

6.1.3 MDK程序处理流程76

6.2 Cortex-M0汇编语言程序设计77

6.2.1 建立新设计工程77

6.2.2 工程参数设置78

6.2.3 添加汇编文件83

6.2.4 汇编语言语法85

6.3 .Ist文件分析90

6.4 .map文件分析92

6.5 .hex文件分析93

6.6 软件仿真和调试94

6.6.1 查看Cortex-M0寄存器内容95

6.6.2 查看Cortex-M0存储器内容95

6.6.3 查看监视窗口的内容97

6.7 汇编语言其他常用语法介绍97

6.7.1 标识符的命名规则98

6.7.2 变量98

6.7.3 常数99

6.7.4 EQU命令99

6.7.5 IMPORT/EXTERN命令100

6.7.6 子程序调用101

6.7.7 宏定义和使用101

第7章 Cortex-M0 DesignStart架构103

7.1 获取Cortex-M0 DesignStart103

7.2 Cortex-M0 DesignStart顶层符号104

7.2.1 中断107

7.2.2 状态输出107

7.2.3 事件信号107

7.3 AHB-Lite接口108

7.4 将Cortex-M0 DesignStart集成到系统的方法109

第8章 XILINX Artix-7 FPGA结构111

8.1 Artix-7器件逻辑资源111

8.2 可配置逻辑块112

8.2.1 可配置逻辑块概述112

8.2.2 查找表115

8.2.3 多路复用器116

8.2.4 进位逻辑117

8.2.5 存储元素118

8.2.6 分布式RAM(只有SLICEM)120

8.2.7 只读存储器(ROM)121

8.2.8 移位寄存器(只有SLICEM)121

8.3 时钟资源和时钟管理单元122

8.3.1 7系列FPGA时钟资源123

8.3.2 7系列内部时钟结构124

8.3.3 7系列FPGA时钟管理模块125

8.4 块存储器资源127

8.5 专用的DSP模块129

8.6 输入/输出块131

8.6.1 I/O特性概述131

8.6.2 Artix-7中的I/O列和类型132

8.6.3 I/O电气资源133

8.6.4 I/O逻辑资源134

8.7 XADC模块137

8.8 吉比特收发器139

8.9 PCI-E模块139

8.10 配置模块140

8.11 互连资源141

第9章 Cortex-M0嵌入式系统设计与实现143

9.1 设计目标143

9.2 Cortex-M0 SoC系统的构建144

9.2.1 启动Vivado 2016集成开发环境144

9.2.2 创建新的设计工程145

9.2.3 添加Cortex-M0处理器源文件148

9.2.4 添加系统主时钟IP核151

9.3 设计文件修改和分析152

9.3.1 AHB总线地址译码器152

9.3.2 AHB总线从设备多路复用器154

9.3.3 AHB片上存储器外设157

9.3.4 AHB LED外设161

9.3.5 AHBLITE SYS顶层文件162

9.4 程序代码的编写167

9.4.1 建立新设计工程168

9.4.2 工程参数设置168

9.4.3 添加和编译汇编文件170

9.4.4 分析HEX文件与汇编文件的关系173

9.4.5 添加HEX文件到当前工程176

9.5 RTL详细描述和分析177

9.6 仿真原理和行为级仿真180

9.6.1 仿真实现的不同功能180

9.6.2 Vivado所支持的仿真工具181

9.6.3 行为级仿真实现181

9.6.4 添加信号并仿真183

9.6.5 仿真结果分析184

9.7 设计综合和分析189

9.7.1 综合过程的关键问题189

9.7.2 设计综合选项189

9.7.3 Vivado支持的属性192

9.7.4 执行设计综合197

9.7.5 查看综合报告198

9.8 创建实现约束199

9.8.1 实现约束的原理199

9.8.2 I/O规划器功能200

9.8.3 引脚位置约束的实现201

9.9 设计实现和分析206

9.9.1 实现过程原理206

9.9.2 设计实现选项206

9.9.3 设计实现211

9.9.4 查看布局布线后的结果211

9.9.5 查看实现后的报告214

9.9.6 功耗分析218

9.9.7 静态时序分析220

9.10 实现后时序仿真223

9.11 生成编程文件224

9.12 下载比特流文件到FPGA224

9.13 生成并下载外部存储器文件226

第10章 7段数码管控制器设计与实现229

10.1 设计目标229

10.2 打开前面的设计工程230

10.3 添加并分析7段数码管控制器源文件230

10.3.1 添加7段数码管控制器源文件230

10.3.2 分析7段数码管控制器源文件234

10.4 修改并分析顶层设计文件234

10.5 编写程序代码237

10.5.1 建立新设计工程237

10.5.2 工程参数设置237

10.5.3 添加和编译汇编文件238

10.5.4 添加HEX文件到当前工程240

10.6 设计综合241

10.7 添加约束条件241

10.8 设计实现242

10.9 下载比特流文件242

10.10 系统在线调试原理243

10.11 系统在线调试实现244

10.11.1 建立新的调试工程244

10.11.2 添加调试网络245

10.11.3 在线测试分析247

第11章 中断系统设计与实现250

11.1 设计目标250

11.2 中断控制器原理251

11.2.1 NVIC特点251

11.2.2 NVIC映射251

11.2.3 NVIC寄存器252

11.3 进入和退出异常句柄的过程254

11.3.1 进入中断句柄的过程254

11.3.2 退出中断句柄的过程254

11.4 打开前面的设计工程255

11.5 添加并分析按键消抖模块源文件255

11.5.1 添加按键消抖模块源文件255

11.5.2 分析按键消抖模块源文件256

11.6 修改并分析顶层设计文件258

11.7 编写程序代码260

11.7.1 建立新设计工程260

11.7.2 工程参数设置260

11.7.3 软件初始化中断261

11.7.4 添加和编译汇编文件262

11.7.5 添加HEX文件到当前工程264

11.8 设计综合264

11.9 添加约束条件265

11.10 设计实现265

11.11 下载比特流文件265

第12章 定时器设计与实现267

12.1 设计目标267

12.2 打开前面的设计工程268

12.3 添加并分析定时器模块源文件268

12.3.1 定时器模块设计原理268

12.3.2 添加定时器源文件269

12.3.3 分析定时器源文件270

12.4 修改并分析顶层设计文件274

12.5 编写程序代码277

12.5.1 建立新设计工程277

12.5.2 工程参数设置277

12.5.3 添加和编译汇编文件278

12.5.4 添加HEX文件到当前工程280

12.6 设计综合281

12.7 设计实现281

12.8 下载比特流文件282

第13章 UART串口控制器设计与实现283

13.1 设计目标283

13.2 串行通信基础284

13.2.1 串行和并行通信之间的比较284

13.2.2 串行通信的类型285

13.3 通用异步收发数据格式和编码285

13.3.1 数据格式285

13.3.2 字符编码规则286

13.4 UART串口控制器的实现原理286

13.4.1 UART发送器287

13.4.2 UART接收器287

13.4.3 发送器/接收器FIFO287

13.5 打开前面的设计工程289

13.6 添加并分析UART模块源文件289

13.6.1 添加UART模块源文件289

13.6.2 分析UART模块源文件290

13.7 修改并分析顶层设计文件303

13.8 编写程序代码304

13.8.1 建立新设计工程304

13.8.2 工程参数设置306

13.8.3 添加和编译汇编文件307

13.8.4 添加HEX文件到当前工程309

13.9 设计综合310

13.10 添加约束条件310

13.11 设计实现311

13.12 下载比特流文件311

第14章 VGA控制器设计与实现313

14.1 设计目标313

14.2 VGA工作原理314

14.2.1 VGA连接器314

14.2.2 CRT原理315

14.2.3 VGA接口信号315

14.2.4 VGA时序316

14.3 VGA显示硬件实现原理317

14.3.1 VGA图像缓冲区318

14.3.2 VGA控制台319

14.3.3 VGA控制器存储器空间319

14.4 打开前面的设计工程319

14.5 添加并分析VGA模块源文件320

14.5.1 添加VGA模块源文件320

14.5.2 分析VGA模块源文件320

14.6 修改其他设计334

14.6.1 添加并分析顶层设计文件334

14.6.2 修改时钟生成器输出频率335

14.6.3 修改波特率时钟335

14.7 编写程序代码337

14.7.1 建立新设计工程337

14.7.2 工程参数设置337

14.7.3 添加和编译汇编文件338

14.7.4 添加HEX文件到当前工程341

14.8 设计综合342

14.9 添加约束条件342

14.10 设计实现343

14.11 下载比特流文件343

第15章 DDR3存储器系统设计与实现345

15.1 计算机搭载的存储器设备345

15.2 存储器类型347

15.2.1 易失性存储器347

15.2.2 非易失性存储器349

15.3 系统设计目标349

15.3.1 硬件构建目标350

15.3.2 软件编程目标350

15.4 DDR3 SDRAM控制器设计原理351

15.4.1 DDR3 SDRAM存储器结构351

15.4.2 DDR3 SDRAM控制器结构354

15.4.3 DDR3 SDRAM的读写访问时序354

15.5 DDR3 SDRAM控制器系统设计与实现357

15.5.1 打开前面的设计工程357

15.5.2 设计DDR3 SDRAM存储器控制器357

15.5.3 修改系统设计文件369

15.5.4 编写程序代码374

15.5.5 设计综合378

15.5.6 设计实现378

15.5.7 下载比特流文件379

第16章 Cortex-M0 C语言编程基础380

16.1 C语言处理流程380

16.2 C语言镜像文件内容和存储381

16.2.1 C语言镜像文件的内容382

16.2.2 C语言镜像文件的存储位置382

16.3 启动代码的分析383

16.4 C语言中数据的存储空间385

16.5 C语言数据类型及实现386

16.5.1 C语言支持的数据类型386

16.5.2 数据类型修饰符386

16.6 C语言编程Cortex-M0389

16.6.1 定义中断向量表389

16.6.2 定义堆和堆栈389

16.6.3 读写外设寄存器390

16.6.4 汇编调用C函数390

16.6.5 C语言调用汇编语言391

16.6.6 C语言嵌入汇编语言391

16.7 C语言驱动的设计和实现392

16.7.1 打开前面的设计工程392

16.7.2 建立新的软件设计工程392

16.7.3 软件工程参数设置393

16.7.4 创建并添加汇编文件394

16.7.5 创建并添加头文件397

16.7.6 创建并添加C文件397

16.7.7 添加HEX文件到当前工程399

16.7.8 设计综合399

16.7.9 设计实现400

16.7.10 下载比特流文件400

16.8 C语言重定向及实现401

16.8.1 打开前面的设计工程401

16.8.2 打开前面的软件设计工程402

16.8.3 修改启动引导文件402

16.8.4 导入并修改retarget.c文件404

16.8.5 修改C设计文件406

16.8.6 添加HEX文件到当前工程406

16.8.7 设计综合407

16.8.8 设计实现408

16.8.9 下载比特流文件408

第17章 CMSIS和驱动程序开发410

17.1 引入CMSIS的必要性410

17.2 CMSIS的优势411

17.3 CMSIS的框架412

17.4 使用CMSIS访问不同资源414

17.4.1 访问NVIC414

17.4.2 访问特殊寄存器414

17.4.3 访问特殊指令415

17.4.4 访问系统415

17.5 软件驱动程序的设计415

17.5.1 软件驱动程序的功能415

17.5.2 AHB外设驱动设计416

17.6 动态图形交互系统设计419

17.6.1 动态图形交互硬件平台419

17.6.2 触摸屏显示控制方法421

17.6.3 触摸屏触摸控制方法423

17.6.4 打开前面的设计工程425

17.6.5 触摸屏控制器模块的设计实现426

17.6.6 修改顶层设计文件429

17.6.7 C语言程序的设计和实现432

17.6.8 设计综合449

17.6.9 添加约束条件450

17.6.10 设计实现450

17.6.11 下载比特流文件451

第18章 RTX操作系统原理及应用452

18.1 RTOS的优势452

18.2 操作系统的概念453

18.3 操作系统支持特性453

18.3.1 SysTick定时器453

18.3.2 堆栈指针454

18.3.3 SVC455

18.3.4 PendSV456

18.4 RTX内核架构的特点456

18.5 RTX的具体实现过程457

18.5.1 实现目标458

18.5.2 打开前面的工程459

18.5.3 修改工程属性设置459

18.5.4 修改启动代码460

18.5.5 导入RTX_Config.c文件462

18.5.6 修改main.c文件466

18.5.7 软件调试和测试467

18.6 RTX内核功能470

18.6.1 定时器滴答中断470

18.6.2 系统任务管理器470

18.6.3 任务管理471

18.6.4 空闲任务472

18.6.5 系统资源472

18.6.6 任务调度策略473

18.6.7 优先级倒置476

18.6.8 堆栈管理477

18.6.9 用户定时器478

18.6.10 中断函数478

热门推荐