图书前言

前 言

嵌入式应用几乎无所不在,物联网给嵌入式系统发展带来巨大机遇。从某种角度上说,物联网应用系统也可看作嵌入式系统的网络应用,因为物联网系统中的“物”,基本上都是指各种嵌入式设备,现在嵌入式系统进入了一个新的高速发展时期。 

如今国内高校计算机专业开设的嵌入式系统方面的课程,大多是原来的“微机原理与接口”和“单片机原理与应用”这类课程教学内容的延续和更新。华东师范大学计算机系目前“嵌入式系统原理与实践”这门课程就是原来“微机原理与接口”和“嵌入式系统引论”的延续、升级版。考虑到与计算机专业其他课程(如操作系统、编程语言、计算机网络等)的内容衔接,这门课程的教学内容重点是嵌入式系统硬件接口方面的知识,以及具有嵌入式系统特点的软件设计方法,包括嵌入式处理器、存储器、I/O、RTOS、嵌入式应用编程和物联网应用开发等。 

嵌入式系统是一种计算机应用系统。作为本科生专业基础课程,要抽象出一般嵌入式应用共性的知识和原理,这部分内容必须具有基础、普适性,不强依赖于具体的芯片。然后再选择某些有代表性的芯片作为实验载体,加强对原理的理解,且有利于掌握应用设计方法。平衡好这两个方面是嵌入式教学的一个难点,为此我们结合自己 20 多年嵌入式系统教学、科研项目开发经验,逐步抽象出符合本学科专业教学要求的嵌入式系统处理器、存储器、I/O 等相关基础知识和原理,并以目前流行的 ARM Cortex-M4 开发板作为硬件实验平台。为了能在一块开发板上完成大部分外设实验(包括 ADC、DAC、模拟比较器 AC 等),教材给出的示例代码是基于 STM32F303 和 HAL 库的,实际也适用于其他 STM32 MCU。同时,我们也准备了针对多个芯片公司(TI、ST、Microchip、平头哥等)主流开发板的实验例程供学校选用。 

嵌入式系统教学的另一个难点是动手实践。现在学校专业课总课时受限,每周 2 课时的实验只能让学生做一些肤浅的验证性实验,无法做一些复杂、系统性的实验。另一方面, 由于互联网应用的兴起,现在 IT 学科的学生普遍喜欢软件类课程和互联网应用开发,因为各种移动互联网应用,如 Web、手机 App 应用开发更方便、有趣。为突破这个难题,提高学生对嵌入式系统的学习兴趣,同时结合物联网应用趋势,把嵌入式系统和移动互联网结合起来,我们开发了嵌入式物联网“口袋”实验系统,可在 Internet 上实现“人-云-物”的互动。该实验系统具有以下特色。 

(1)简单。直接使用芯片公司的 MCU 开发板作为主控实验板,自带仿真器和虚拟串口,简单、易购。外设扩展板采用口袋板形式(名片大小),人手一套,学生可在任何时间自行进行实验。 

(2)丰富。实验内容丰富,可进行一般嵌入式系统课程要求的所有实验内容。并带有扩展接口和多种外设,可进行创新实验、应用开发。

(3)有趣。扩展板带有多种传感器和 Wi-Fi 模块,可实现物联网教学、应用方案,可用手机 App 远程操控设备。用杜邦线连接传感器、Wi-Fi 模块等,增强动手能力。 

(4)真实。实验系统均采用业界主流平台。物联网实验方案采用阿里云 IoT 平台,安全、稳定、易扩展,可用于实际 IoT 产品和项目,所学即所用。 

(5)完善。教材、课件 PPT、MOOC、作业、实验例程等配套教学资源完善,拿来即 用,快速进行嵌入式和物联网系统的教学和实验。 

随着物联网应用的发展,嵌入式软件日趋复杂,需要针对应用趋势,学习嵌入式、物联网开发技术,包括 RTOS、物联网 OS、IoT 云平台、前后端技术等。对于一般嵌入式开发,本书介绍了 FreeRTOS;对于物联网应用开发,本书简单介绍了 AliOS Things 和阿里云 IoT 平台,并介绍了两个物联网应用开发示例。 

考虑到书稿内容的完整性、不同学校教学的差异性以及读者学习参考的便利,本书还补充了指令系统、嵌入式软件设计方法、物联网技术以及低功耗设计和电磁兼容性方面的基础知识,尽量构建一个比较完整、基础、容易入门的嵌入式系统原理和物联网实践教材,学校老师可以根据各自学科专业课设置的具体情况,选择合适的内容、章节进行教学和实验。 

华东师范大学计算机系嵌入式系统实验室长期重视产学研结合,与多家全球著名的半导体厂商(如 TI、Microchip、ST 等)和互联网企业(如阿里云 IoT、微软 Azure 等)合作,在 MCU 和物联网系统开发、推广应用方面积累了丰富的经验。本书内容也是在我们实验室出版的前几本嵌入式系统教材的基础上修改完善,结合我们多年课程教学以及 MCU 和物联网应用开发的积累和经验,并经过了 3 届学生的试用编写整理而成的。 

本书的出版,得到了华东师范大学教材基金、阿里云产学协同项目和清华大学出版社的支持。参与本书编写和资料整理、代码验证等工作的,还有华东师范大学计算机学院的张皓焱、王胜志、刘长箭、李晓敏、李奕霖、穆永超、曹强、李昌龙等。在此一并向上述单位、个人表示衷心的感谢。 

由于时间仓促和水平所限,本书有些内容还不尽完善,不足之处也在所难免,恳请读者批评指正,以便我们及时修正。 

编 者