嵌入式系统应用开发——基于RISC-V架构玄铁处理器
定 价:69 元
丛书名:RISC-V工程技术丛书
- 作者:王宜怀、贾俊铖、 陈林、索明何、许佳捷
- 出版时间:2025/8/1
- ISBN:9787302695509
- 出 版 社:清华大学出版社
- 中图法分类:TP332.021
- 页码:
- 纸张:胶版纸
- 版次:
- 开本:16开
-
商品库位:
《嵌入式系统应用开发——基于RISC-V架构玄铁处理器》以全志科技的RSIC-V架构64位玄铁C906内核D1-H芯片为蓝本,以知识要素为核心,遵循构件化原则,阐述嵌入式系统应用开发方法。硬件载体为基于D1-H构建的通用嵌入式计算机AHL-D1-H,可以满足基本实践需要。全书共13章,其中,第1章简要阐述嵌入式系统的知识体系、学习误区与学习建议;第2章给出指令系统与汇编语言语法;第3章给出D1-H硬件最小系统;第4章以GPIO为例给出规范的工程组织框架;第5章给出嵌入式硬件构件与底层驱动构件基本规范;第6章阐述串行通信接口UART,并给出优质个带中断的实例。第1~6章囊括了学习嵌入式系统入门环节的完整要素。第7~10章给出了定时器、PWM、Flash在线编程、ADC、DMA、SPI、I2C、系统时钟与看门狗等模块。第11章介绍实时操作系统。第12章给出嵌入式人工智能的应用。第13章给出进一步的学习导引。《嵌入式系统应用开发——基于RISC-V架构玄铁处理器》提供丰富的教学资源,适用于高等学校嵌入式系统的教学或技术培训,也可供嵌入式系统应用技术人员研发时参考。
《嵌入式系统应用开发——基于RISC-V架构玄铁处理器》以RSIC-V架构64位玄铁C906内核D1-H芯片为蓝本,以嵌入式硬件构件及底层软件构件设计为主线,以知识要素为核心,遵循构件化原则,基于嵌入式软件工程的思想阐述嵌入式系统应用开发方法。硬件载体为基于D1-H构建的通用嵌入式计算机AHL-D1-H,可以满足基本实践需要。逻辑清晰,方便理解对于嵌入式“通用知识”的基本原理,以应用为立足点进行阐述,同时注意与芯片相关知识之间的衔接,使读者在更好地熟悉基本原理的基础上理解芯片应用的设计。知识系统,层次递进《嵌入式系统应用开发——基于RISC-V架构玄铁处理器》以知识要素为基本立足点设计芯片底层驱动,使应用程序与芯片无关,具有通用嵌入式计算机性质。书中提前阐述大部分驱动的使用方法,而后置驱动构件的设计方法,目的是先学会使用构件进行实际编程,后理解构件的设计方法。程序验证,实用性强书中所有源程序均经测试通过,并保留测试用例在《嵌入式系统应用开发——基于RISC-V架构玄铁处理器》的教学资源中,避免了例程的书写或固有错误给读者带来烦恼,可以为读者进行实际项目开发节省大量时间。资源丰富,易教易学为了便于教师教学,提供全套教学资料,获取方式详见前言。
前言
嵌入式系统即嵌入式计算机系统,其概念最初源于传统测控系统对计算机系统的需求。计算机系统可为通用计算机系统与嵌入式计算机系统,通用计算机已经在科学计算、通信、日常生活等各个领域产生了重要影响,在后PC时代,嵌入式系统的广阔应用是计算机发展的重要特征,包括机器人、工业控制、汽车电子、嵌入式人工智能、物联网、手机等产品开发。近年来,RISCV架构国产嵌入式芯片不断出现,如何将其纳入嵌入式技术的基础教学,是值得研究的课题。经过三年多的开发研究,苏州大学嵌入式人工智能与物联网实验室完成了硬件系统、集成开发环境、底层驱动构件、样例程序等工作。在此基础上,并依托前期 “十二五”普通高等教育本科规划教材和本科一流课程的积累,遵循把复杂问题简单化的基本理念,按照由浅入深的原则,撰写本书。
本书以全志科技的RSICV架构64位玄铁C906内核D1H芯片为蓝本,以知识要素为核心,遵循构件化原则,阐述嵌入式系统应用开发方法。硬件载体为基于D1H构建的通用嵌入式计算机AHLD1H,可以满足基本实践需要。
书中以嵌入式硬件构件及底层软件构件设计为主线,基于嵌入式软件工程的思想,按照“通用知识—驱动构件使用方法—测试实例—构件制作过程”的顺序,逐步阐述嵌入式技术基础。需要特别说明的是,虽然撰写图书与教学必须以某一特定芯片为蓝本,但作为嵌入式技术基础,本书试图阐述嵌入式通用知识要素。因此,本书以知识要素为基本立足点设计芯片底层驱动,使得应用程序与芯片无关,具有通用嵌入式计算机(GEC)性质。书中将大部分驱动的使用方法提前阐述,而驱动构件的设计方法后置,目的是先学会使用构件进行实际编程,再理解构件的设计方法。因构件设计方法部分有一定的难度,对于不同要求的教学场景,也可不要求学生理解全部构件的设计方法,讲解一两个即可。
本书具有以下特点。
(1) 把握通用知识与芯片相关知识之间的平衡。书中对于嵌入式“通用知识”的基本原理,以应用为立足点,进行语言简洁、逻辑清晰的阐述,同时注意芯片相关知识之间的衔接,使读者在更好地理解基本原理的基础上理解芯片应用的设计,同时反过来加深对通用知识的理解。
(2) 把握硬件与软件的关系。嵌入式系统是软件与硬件的综合体,嵌入式系统设计是一个软件、硬件协同设计的工程,不能像通用计算机那样,将软件、硬件完全分开来看。特别是对电子系统智能化嵌入式应用来说,没有对硬件的理解就不可能写好嵌入式软件,同样没有对软件的理解也不可能设计好嵌入式硬件。因此,本书注重把握硬件知识与软件知识之间的关系。
(3) 对底层驱动进行构件化封装。书中对每个模块均根据嵌入式软件工程基本原则并按照构件化封装要求编制底层驱动程序,同时给出详细、规范的注释及对外接口,为实际应用提供底层构件,方便移植与复用,从而在实际项目开发中节省大量时间。
(4) 设计合理的测试用例。书中所有源程序均经测试通过,并在本书的配套教学资源中提供测试用例,避免了例程的书写或固有错误带来的麻烦。这些测试用例为读者验证与理解带来方便。
(5) 配套教学资源提供了所有模块的完整底层驱动构件化封装程序与测试用例。需要使用PC程序的测试用例,还提供了PC的C#源程序、芯片资料、使用文档、硬件说明等,另外制作了教学课件及微课视频,并且教学资源的版本将会适时更新。
本书由王宜怀、贾俊铖、陈林、索明何、许佳捷编写,苏州大学嵌入式人工智能与物联网实验室的研究生参与了程序开发、书稿内容整理及有关资源建设,他们卓有成效的工作使得本书更加充实。阿里云计算有限公司、全志科技的技术人员提供了许多技术支持,在此一并表示诚挚的感谢。
配套资源
程序代码、硬件开发板及相关资源: 扫描目录上方的二维码下载。
教学课件、实验指导、软件工具、芯片资料、套件用户手册、硬件电路图等资源: 到清华大学出版社官方网站本书页面下载,或者扫描封底的“书圈”二维码在公众号下载。
微课视频(385分钟,24集): 扫描书中相应章节中的二维码在线学习。
注: 请先扫描封底刮刮卡中的文泉云盘防盗码进行绑定后再获取配套资源。
鉴于作者水平有限,书中难免存在不足之处,恳望读者提出宝贵意见和建议。
苏州大学王宜怀
2025年6月
目录
配套资源
第1章概述
视频讲解: 26分钟,2集
1.1初识嵌入式系统
1.1.1运行硬件系统
1.1.2实践体系简介
1.2嵌入式系统的定义、发展简史、分类及特点
1.2.1嵌入式系统的定义
1.2.2嵌入式系统的由来及发展简史
1.2.3嵌入式系统的分类
1.2.4嵌入式系统的特点
1.3嵌入式系统的学习困惑、知识体系及学习建议
1.3.1嵌入式系统的学习困惑
1.3.2嵌入式系统的知识体系
1.3.3基础阶段的学习建议
1.4微控制器与应用处理器简介
1.4.1MCU简介
1.4.2以MCU为核心的嵌入式测控产品的基本组成
1.4.3MAP简介
1.5嵌入式系统常用术语
1.5.1与硬件相关的术语
1.5.2与通信相关的术语
1.5.3与功能模块相关的术语
1.6C语言概要
1.6.1运算符
1.6.2数据类型
1.6.3流程控制
1.6.4函数
1.6.5编译预处理
本章小结
习题
第2章RISCV指令系统与汇编语言语法
视频讲解: 30分钟,1集
2.1RISCV架构概述
2.1.1RISC与ISA名词解释
2.1.2RISCV简介
2.2寄存器与寻址方式
2.2.1寄存器通用基础知识
2.2.2RISCV架构主要寄存器
2.2.3指令保留字简表与寻址方式
2.2.4机器码的获取方法
2.3RISCV基本指令分类解析
2.3.1数据传送类指令
2.3.2数据操作类指令
2.3.3跳转类指令
2.3.4控制及状态寄存器类指令
2.3.5其他指令
2.4RISCV汇编语言的基本语法
2.4.1汇编语言的格式
2.4.2常用伪指令简介
本章小结
习题
第3章D1H硬件最小系统
视频讲解: 23分钟,1集
3.1D1H微处理器概述
3.1.1D1H的基本功能
3.1.2D1H的存储器映像
3.1.3D1H的中断源
3.2D1H的硬件最小系统
3.2.1硬件最小系统的概念
3.2.2D1H的引脚功能
3.2.3D1H硬件最小系统设计
3.3由D1H构建通用嵌入式计算机
3.3.1嵌入式系统应用开发方式存在的问题与解决办法
3.3.2提出GEC概念的时机、GEC定义与特点
3.3.3由D1H构成的GEC
本章小结
习题
第4章GPIO及程序框架
视频讲解: 61分钟,3集
4.1GPIO基础知识
4.1.1GPIO概念
4.1.2输出引脚的基本接法
4.1.3上拉下拉电阻与输入引脚的基本接法
4.2软件干预硬件的方法
4.2.1AHLD1H的GPIO引脚
4.2.2GPIO构件API
4.2.3GPIO构件的输出测试方法
4.3认识工程框架
4.3.1工程框架及所含文件简介
4.3.2了解机器码文件及D1H的启动流程
4.3.3D1H的实际启动过程
4.4GPIO构件的制作过程
4.4.1GPIO基本编程步骤及点亮一盏小灯
4.4.2GPIO构件的设计
4.5优质个汇编语言工程: 控制小灯闪烁
4.5.1汇编工程文件的组织
4.5.2汇编语言小灯测试工程主程序
本章小结
习题
第5章嵌入式硬件构件与底层驱动构件基本规范
视频讲解: 20分钟,1集
5.1嵌入式硬件构件
5.1.1嵌入式硬件构件概念与嵌入式硬件构件分类
5.1.2基于嵌入式硬件构件的电路原理图设计简明规则
5.2嵌入式底层驱动构件的概念与层次模型
5.2.1嵌入式底层驱动构件的概念
5.2.2嵌入式硬件构件与软件构件结合的层次模型
5.2.3嵌入式开发中的构件分类
5.2.4构件的基本特征与表现形式
5.3底层驱动构件的封装规范
5.3.1底层驱动构件设计的基本原则
5.3.2编码风格基本规范
5.3.3头文件的设计规范
5.3.4源程序文件的设计规范
5.4硬件构件及其驱动构件的重用与移植方法
5.4.1硬件构件的重用与移植
5.4.2驱动构件的移植
本章小结
习题
第6章串行通信模块及优质个中断程序结构
视频讲解: 45分钟,3集
6.1异步串行通信的通用基础知识
6.1.1串行通信的基本概念
6.1.2RS232和RS485总线标准
6.1.3TTLUSB串口转换芯片
6.1.4串行通信编程模型
6.2基于构件的串行通信编程方法
6.2.1D1H芯片UART对外引脚
6.2.2UART构件API
6.2.3UART构件API的发送测试方法
6.2.4printf()的设置方法与使用
6.3UART构件的制作过程
6.3.1UART寄存器概述
6.3.2利用直接地址操作的串口发送程序
6.3.3UART构件设计
6.4中断机制及中断编程步骤
6.4.1中断的基本概念及处理过程
6.4.2RISCV架构玄铁C906中断结构
6.4.3D1H中断编程步骤——以串口接收中断为例
本章小结
习题
第7章定时器、PWM与输入捕捉
视频讲解: 32分钟,3集
7.1定时器通用基础知识
7.2D1H中的定时器
7.2.1D1H的机器模式定时器MTIME
7.2.2D1H的实时时钟模块
7.2.3D1H的Timer
7.2.4D1H的HSTimer
7.3脉宽调制
7.3.1脉宽调制通用基础知识
7.3.2基于构件的PWM编程方法
7.4输入捕捉
7.4.1输入捕捉通用基础知识
7.4.2基于构件的输入捕捉编程方法
本章小结
习题
第8章Flash在线编程、ADC与DMA
视频讲解: 30分钟,3集
8.1Flash在线编程
8.1.1Flash在线编程的通用基础知识
8.1.2基于构件的Flash在线编程方法
8.1.3Flash构件的制作过程简介
8.2ADC
8.2.1ADC的通用基础知识
8.2.2基于构件的ADC编程方法
8.3DMA
8.3.1DMA的通用基础知识
8.3.2基于构件的DMA编程方法
本章小结
习题
第9章SPI与I2C
视频讲解: 34分钟,2集
9.1串行外设接口模块
9.1.1串行外设接口的通用基础知识
9.1.2基于构件的SPI通信编程方法
9.2集成电路互联总线I2C模块
9.2.1集成电路互联总线I2C的通用基础知识
9.2.2基于构件的I2C通信编程方法
本章小结
习题
第10章系统时钟与看门狗
视频讲解: 15分钟,1集
10.1时钟系统
10.1.1时钟控制单元概述
10.1.2时钟控制单元编程寄存器
10.1.3系统时钟编程实例
10.1.4改变CPU时钟频率及测试方法
10.2看门狗
10.2.1看门狗模块的寄存器
10.2.2看门狗构件制作方法
10.2.3基于构件的看门狗编程方法
本章小结
习题
第11章实时操作系统
视频讲解: 41分钟,2集
11.1无操作系统与实时操作系统
11.1.1无操作系统下的程序运行路线
11.1.2实时操作系统下的程序运行路线
11.1.3实时操作系统与非实时操作系统
11.2RTOS中的常用基本概念及线程的三要素
11.2.1与线程相关的基本概念
11.2.2线程的三要素及四种状态
11.2.3线程的三种基本形式
11.3RTOS下应用程序的编程框架
11.3.1RTThread下基本要素模板列表
11.3.2优质个样例程序功能及运行
11.3.3RTThread工程框架
11.4RTOS中同步与通信的应用编程方法
11.4.1RTOS中同步与通信基本概念
11.4.2事件
11.4.3消息队列
11.4.4信号量
11.4.5互斥量
本章小结
习题
第12章嵌入式人工智能: 物体认知系统
视频讲解: 18分钟,1集
12.1嵌入式人工智能概述
12.1.1人类智能与人工智能
12.1.2通用人工智能与嵌入式人工智能
12.2物体认知系统的设计目标
12.2.1基本思路
12.2.2AHLEORS的目标
12.3AHLEORSD1H的基本构成
12.3.1总体说明
12.3.2硬件系统
12.3.3相关资源下载与软件安装
12.4AHLEORSD1H的操作过程
12.4.1模型测试
12.4.2数据采集
12.4.3模型训练
12.4.4构件生成
12.4.5GEC推理
12.4.6完整流程
12.5运行AHLEORSD1H的PC源码
本章小结
第13章进一步学习导引
视频讲解: 10分钟,1集
13.1关于进一步阅读的有关资料
13.2关于嵌入式系统稳定性问题
附录A金葫芦AHLD1H用户手册
附录B实验指导
参考文献