本书全面介绍了RISC-V架构及其在嵌入式系统开发中的应用。全书共分13章,主要内容包括:绪论、RISC-V技术生态与实践、RISC-V架构的中断和异常、RISC-V汇编语言程序设计、CH32嵌入式微控制器与最小系统设计、MRS集成开发环境、CH32通用输入输出接口、CH32外部中断、CH32定时器系统、CH32通用同步异步收发器、HPM6700系列高性能微控制器、HPM6750微控制器开发平台和HPM6750微控制器开发应用实例。本书内容丰富,体系先进,结构合理,理论与实践相结合,注重工程应用。
本书可作为从事RISC-V嵌入式系统开发的工程技术人员的参考书,也可作为高等院校各类自动化、机器人、机电一体化、人工智能、电子与电气工程、计算机应用、信息工程、物联网等相关专业的本、专科学生教材。
封面
前折页
书名页
版权
前言
第1章 绪论
1.1 指令集架构概述
1.1.1 指令集架构的基本概念
1.1.2 CISC与 RISC
1.1.3 32位与64位架构
1.1.4 知名指令集架构
1.1.5 CPU的领域之分
1.2 RISC-V架构概述
1.2.1 RISC-V架构的诞生
1.2.2 RISC-V的发展历程
1.2.3 RISC-V的指令集架构
1.2.4 RISC-V的应用领域
习题
第2章 RISC-V技术生态与实践
2.1 采用RISC-V架构的国内外厂商
2.1.1 采用RISC-V架构的国外厂商
2.1.2 采用RISC-V架构的国内厂商
2.2 RISC-V架构指令集的先驱——SiFive公司产品
2.2.1 微控制器
2.2.2 基于RISC-V架构微控制器的特点
2.2.3 微控制器的应用领域
2.2.4 基于RISC-V架构的开发板
2.3 国产RISC-V架构——玄铁系列微处理器
2.3.1 玄铁系列微处理器8系列和9系列、无剑600 SoC平台
2.3.2 玄铁微处理器的应用领域
2.3.3 全志D1-哪吒开发板
2.3.4 玄铁CXX系列CSI-RTOS SDK
2.4 国产RISC-V架构——HPM系列微控制器
2.4.1 RISC-V微控制器HPM6700/6400系列与HPM6300系列
2.4.2 HPM6750EVK开发板
2.4.3 HPM微控制器开发软件
2.5 国产RISC-V架构——CH系列微处理器
2.5.1 青稞RISC-V通用系列产品概览
2.5.2 32位通用增强型RISC-V微控制器CH32V103
习题
第3章 RISC-V架构的中断和异常
3.1 中断和异常
3.1.1 中断
3.1.2 异常
3.1.3 广义上的异常
3.2 RISC-V架构异常处理机制
3.2.1 概述
3.2.2 进入异常
3.2.3 退出异常
3.2.4 异常服务程序
3.3 RISC-V架构中断
3.3.1 中断类型
3.3.2 中断处理过程
3.3.3 中断委托和注入
3.3.4 中断屏蔽
3.3.5 中断等待
3.3.6 中断优先级与仲裁
3.3.7 中断嵌套
3.3.8 中断和异常比较
3.4 核心本地中断控制器
3.5 平台级中断控制器管理多个外部中断
3.5.1 特点
3.5.2 中断分配
3.5.3 寄存器
3.6 RISC-V结果预测相关控制和状态寄存器
习题
第4章 RISC-V汇编语言程序设计
4.1 RISC-V指令集架构简介
4.1.1 模块化的指令子集
4.1.2 可配置的通用寄存器组
4.1.3 规整的指令编码
4.1.4 简洁的存储器访问指令
4.1.5 高效的分支跳转指令
4.1.6 简洁的子程序调用
4.1.7 无条件码执行
4.1.8 无分支延迟槽
4.1.9 零开销硬件循环
4.1.10 简洁的运算指令
4.1.11 优雅的压缩指令子集
4.1.12 特权模式
4.1.13 控制和状态寄存器
4.1.14 中断和异常
4.1.15 向量指令子集
4.1.16 自定义指令扩展
4.1.17 RISC-V指令集架构与x86或ARM架构的比较
4.2 RISC-V寄存器
4.2.1 通用寄存器
4.2.2 系统寄存器
4.3 汇编语言简介
4.4 RISC-V汇编程序概述
4.5 RISC-V架构及程序的机器级表示
4.5.1 RISC-V指令系统概述
4.5.2 RISC-V指令参考卡和指令格式
4.5.3 RV32I指令编码格式
4.5.4 RISC-V的寻址方式
4.6 RISC-V汇编程序示例
4.6.1 定义标签
4.6.2 定义宏
4.6.3 定义常数
4.6.4 立即数赋值
4.6.5 标签地址赋值
4.6.6 设置浮点舍入模式
4.6.7 RISC-V环境下的完整实例
习题
第5章 CH32嵌入式微控制器与最小系统设计
5.1 CH32微控制器概述
5.2 CH32系列微控制器外部结构
5.2.1 CH32系列微控制器命名规则
5.2.2 CH32系列微控制器引脚功能
5.3 CH32V103微控制器内部结构
5.3.1 CH32V103微控制器内部总线结构
5.3.2 CH32V103微控制器内部时钟系统
5.3.3 CH32V103微控制器内部复位系统
5.3.4 CH32V103微控制器内部存储器结构
5.4 触摸按键检测
5.4.1 TKEY_F功能描述
5.4.2 TKEY_F操作步骤
5.5 CH32V103最小系统设计
习题
第6章 MRS集成开发环境
6.1 MRS集成开发环境的特点和安装
6.1.1 MRS集成开发环境的特点
6.1.2 MRS集成开发环境的安装
6.2 MRS集成开发环境界面
6.2.1 菜单栏
6.2.2 快捷工具栏
6.2.3 工程目录窗口
6.2.4 其他显示窗口
6.3 MRS工程
6.3.1 新建工程
6.3.2 打开工程
6.3.3 编译代码
6.4 工程调试
6.4.1 工程调试快捷工具栏
6.4.2 设置断点
6.4.3 观察变量
6.5 工程下载
6.6 CH32V103开发板的选择
6.7 CH32V103仿真器的选择
习题
第7章 CH32通用输入输出接口
7.1 CH32V103x通用输入输出接口概述
7.1.1 模块基本结构
7.1.2 输入配置
7.1.3 输出配置
7.1.4 复用功能配置
7.1.5 模拟输入配置
7.2 通用输入输出接口功能
7.2.1 工作模式
7.2.2 初始化功能
7.2.3 外部中断
7.2.4 复用功能
7.2.5 锁定机制
7.3 库函数
7.4 使用流程
7.4.1 普通引脚配置
7.4.2 引脚复用功能配置
7.5 CH32V103的通用输入输出按键输入应用实例
7.5.1 触摸按键输入硬件设计
7.5.2 触摸按键输入软件设计
7.5.3 工程下载
7.5.4 串口助手测试
7.5.5 WCH-LinkUtility独立下载软件
7.6 CH32V103的通用输入输出LED输出应用实例
7.6.1 LED输出硬件设计
7.6.2 LED输出软件设计
习题
第8章 CH32外部中断
8.1 中断的基本概念
8.1.1 中断的定义
8.1.2 中断的应用
8.2 CH32V103中断系统组成结构
8.2.1 CH32V103中断系统主要特征
8.2.2 系统定时器
8.2.3 中断向量表
8.2.4 外部中断系统结构
8.3 中断控制
8.3.1 中断屏蔽控制
8.3.2 中断优先级控制
8.4 外部中断常用库函数
8.4.1 快速可编程中断控制器库函数
8.4.2 CH32V103的外部中断库函数
8.5 外部中断使用流程
8.5.1 快速可编程中断控制器配置
8.5.2 中断端口设置
8.5.3 中断处理
8.6 CH32的外部中断设计实例
8.6.1 CH32的外部中断硬件设计
8.6.2 CH32的外部中断软件设计
习题
第9章 CH32定时器系统
9.1 CH32定时器概述
9.1.1 CH32定时器的类型
9.1.2 CH32定时器的计数模式
9.1.3 CH32定时器的主要功能
9.2 CH32V103通用定时器的结构
9.2.1 输入时钟
9.2.2 核心计数器
9.2.3 比较捕获通道
9.2.4 通用定时器的功能寄存器
9.2.5 通用定时器的外部触发及输入/输出通道
9.3 CH32V103通用定时器的功能模式
9.3.1 输入捕获模式
9.3.2 比较输出模式
9.3.3 强制输出模式
9.3.4 PWM输入模式
9.3.5 PWM输出模式
9.3.6 单脉冲模式
9.3.7 编码器模式
9.3.8 定时器同步模式
9.3.9 调试模式
9.4 通用定时器常用库函数
9.5 通用定时器使用流程
9.5.1 快速可编程中断控制器设置
9.5.2 定时器中断配置
9.5.3 定时器中断处理流程
9.6 CH32定时器应用实例
9.6.1 CH32的定时器应用硬件设计
9.6.2 CH32的定时器应用软件设计
习题
第10章 CH32通用同步异步收发器
10.1 串行通信基础
10.1.1 串行异步通信数据格式
10.1.2 连接握手
10.1.3 确认
10.1.4 中断
10.1.5 轮询
10.2 通用同步异步收发器的结构、工作模式和方式
10.2.1 内部结构
10.2.2 工作模式
10.2.3 工作方式
10.3 常用库函数
10.4 使用流程
10.5 CH32的通用同步异步收发器串行通信应用实例
10.5.1 CH32的通用同步异步收发器串行通信应用硬件设计
10.5.2 CH32的通用同步异步收发器串行通信应用软件设计
习题
第11章 HPM6700系列高性能微控制器
11.1 HPM6700概述
11.2 HPM6750的主要特性
11.2.1 内核与系统
11.2.2 内部存储器
11.2.3 电源管理
11.2.4 时钟
11.2.5 复位
11.2.6 启动
11.2.7 外部存储器
11.2.8 图形系统
11.2.9 定时器
11.2.10 通信外设
11.2.11 模拟外设
11.2.12 输入输出
11.2.13 系统调试
11.3 HPM6750处理器内核
11.3.1 中央处理器
11.3.2 双核配置
11.3.3 总线和存储器接口
11.3.4 “陷阱”
11.3.5 机器定时器
11.3.6 硬件性能监视器
11.3.7 特权模式
11.3.8 物理内存属性
11.3.9 物理内存保护
习题
第12章 HPM6750微控制器开发平台
12.1 SDK概述
12.1.1 SDK开发平台
12.1.2 HPM SDK
12.2 RISC-V微控制器跨平台开发
12.3 SDK与HPM6750开发板的连接
12.3.1 准备工作
12.3.2 SDK的基本命令
12.3.3 CMake
12.4 SEGGER Embedded Studio for RISC-V开发环境
12.4.1 SEGGER Embedded Studio for RISC-V开发环境安装
12.4.2 SEGGER Embedded Studio工程文件夹的功能解释
12.4.3 SEGGER Embedded Studio for RISC-V的使用步骤和菜单栏
12.4.4 SEGGER Embedded Studio for RISC-V的命令
12.5 HPM6750开发板
12.5.1 HPM6750核心板硬件资源
12.5.2 HPM6750IVM2_BTB开发板硬件资源
12.6 HPM6750仿真器的选择
12.6.1 CMSIS-DAP仿真器
12.6.2 微控制器调试接口
习题
第13章 HPM6750微控制器开发应用实例
13.1 HPM6750的通用输入输出的输出应用实例概述
13.2 HPM6750的通用输入输出的输出应用硬件设计
13.3 HPM6750的通用输入输出的应用软件设计
13.3.1 HPM6750的通用输入输出的应用软件设计概述
13.3.2 HPM6750的通用输入输出的源代码设计
13.3.3 HPM6750的工程构建
13.3.4 HPMProgrammer_v 0.2.0烧录程序
13.3.5 通过HPM6750的JTAG-UART接口下载程序
13.3.6 通过HPM6750开发板上的USB_OTG接口下载程序
参考文献
后折页
封底
机械工业出版社 京icp备14043556号-1 (署)网出证(京)字第214号 Copyright (C) 2001 CmpBook. All Rights Reserved