前言
嵌入式系统即嵌入式计算机系统,其概念最初源于传统测控系统对计算机系统的需求。计算机系统可为通用计算机系统与嵌入式计算机系统,通用计算机已经在科学计算、通信、日常生活等各个领域产生了重要影响,在后PC时代,嵌入式系统的广阔应用是计算机发展的重要特征,包括机器人、工业控制、汽车电子、嵌入式人工智能、物联网、手机等产品开发。近年来,RISCV架构国产嵌入式芯片不断出现,如何将其纳入嵌入式技术的基础教学,是值得研究的课题。经过三年多的开发研究,苏州大学嵌入式人工智能与物联网实验室完成了硬件系统、集成开发环境、底层驱动构件、样例程序等工作。在此基础上,并依托前期 “十二五”普通高等教育本科国家级规划教材和国家级本科一流课程的积累,遵循把复杂问题简单化的基本理念,按照由浅入深的原则,撰写本书。
本书以全志科技的RSICV架构64位玄铁C906内核D1H芯片为蓝本,以知识要素为核心,遵循构件化原则,阐述嵌入式系统应用开发方法。硬件载体为基于D1H构建的通用嵌入式计算机AHLD1H,可以满足基本实践需要。
书中以嵌入式硬件构件及底层软件构件设计为主线,基于嵌入式软件工程的思想,按照“通用知识—驱动构件使用方法—测试实例—构件制作过程”的顺序,逐步阐述嵌入式技术基础。需要特别说明的是,虽然撰写图书与教学必须以某一特定芯片为蓝本,但作为嵌入式技术基础,本书试图阐述嵌入式通用知识要素。因此,本书以知识要素为基本立足点设计芯片底层驱动,使得应用程序与芯片无关,具有通用嵌入式计算机(GEC)性质。书中将大部分驱动的使用方法提前阐述,而驱动构件的设计方法后置,目的是先学会使用构件进行实际编程,再理解构件的设计方法。因构件设计方法部分有一定的难度,对于不同要求的教学场景,也可不要求学生理解全部构件的设计方法,讲解一两个即可。
本书具有以下特点。
(1) 把握通用知识与芯片相关知识之间的平衡。书中对于嵌入式“通用知识”的基本原理,以应用为立足点,进行语言简洁、逻辑清晰的阐述,同时注意芯片相关知识之间的衔接,使读者在更好地理解基本原理的基础上理解芯片应用的设计,同时反过来加深对通用知识的理解。
(2) 把握硬件与软件的关系。嵌入式系统是软件与硬件的综合体,嵌入式系统设计是一个软件、硬件协同设计的工程,不能像通用计算机那样,将软件、硬件完全分开来看。特别是对电子系统智能化嵌入式应用来说,没有对硬件的理解就不可能写好嵌入式软件,同样没有对软件的理解也不可能设计好嵌入式硬件。因此,本书注重把握硬件知识与软件知识之间的关系。
(3) 对底层驱动进行构件化封装。书中对每个模块均根据嵌入式软件工程基本原则并按照构件化封装要求编制底层驱动程序,同时给出详细、规范的注释及对外接口,为实际应用提供底层构件,方便移植与复用,从而在实际项目开发中节省大量时间。
(4) 设计合理的测试用例。书中所有源程序均经测试通过,并在本书的配套教学资源中提供测试用例,避免了例程的书写或固有错误带来的麻烦。这些测试用例为读者验证与理解带来方便。
(5) 配套教学资源提供了所有模块的完整底层驱动构件化封装程序与测试用例。需要使用PC程序的测试用例,还提供了PC的C#源程序、芯片资料、使用文档、硬件说明等,另外制作了教学课件及微课视频,并且教学资源的版本将会适时更新。
本书由王宜怀、贾俊铖、陈林、索明何、许佳捷编写,苏州大学嵌入式人工智能与物联网实验室的研究生参与了程序开发、书稿内容整理及有关资源建设,他们卓有成效的工作使得本书更加充实。阿里云计算有限公司、全志科技的技术人员提供了许多技术支持,在此一并表示诚挚的感谢。
配套资源
程序代码、硬件开发板及相关资源: 扫描目录上方的二维码下载。
教学课件、实验指导、软件工具、芯片资料、套件用户手册、硬件电路图等资源: 到清华大学出版社官方网站本书页面下载,或者扫描封底的“书圈”二维码在公众号下载。
微课视频(385分钟,24集): 扫描书中相应章节中的二维码在线学习。
注: 请先扫描封底刮刮卡中的文泉云盘防盗码进行绑定后再获取配套资源。
鉴于作者水平有限,书中难免存在不足之处,恳望读者提出宝贵意见和建议。
苏州大学王宜怀
2025年6月
