嵌入式实时操作系统:基于ARM Mbed OS的应用实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

前言

嵌入式实时操作系统是面向微控制器类应用的嵌入式人工智能与物联网终端的重要工具和运行载体,它的种类繁多。但是,其共性是一致的,就是多线程编程,内核负责调度,线程之间或线程与中断服务程序之间采用通信机制。不同实时操作系统的性能及对外接口函数等有一定差异,但均包含调度、延时函数、事件、消息队列、信号量、互斥量等基本要素。学习实时操作系统有两个可能的出发点:一是学会在实时操作系统场景下进行基本应用程序开发;二是在掌握应用编程的前提下,理解其运行原理,进行深度应用程序开发。本书基于这两种场景进行撰写。

虽然实时操作系统种类繁多,有国外的,也有国产的;有收费的,也有免费的;有开发者持续维护升级的,也有依赖爱好者更新升级的。但是无论哪一种,学习实时操作系统时都必须以一个具体的实时操作系统为蓝本。实际上,不同的实时操作系统,其应用方法及原理大同小异,掌握其共性是学习的关键,这样才能达到举一反三的效果。

本书推荐的Mbed OS是ARM公司于2014年开始推出并逐步完善的一款免费的开源嵌入式实时操作系统,Mbed OS专为基于ARM Cortex-M内核的MCU设计,主要面向物联网终端。本书以Mbed OS为蓝本,以通用嵌入式计算机(GEC)为硬件载体,阐述实时操作系统中的线程、调度、延时函数、事件、消息队列、线程信号、信号量、互斥量等基本要素,给出实时操作系统下的程序设计方法。

为了让读者更容易学习、应用实时操作系统,本书把应用与原理分开撰写,先学习应用,后学习原理。全书包括基础应用篇(第1~7章)、原理剖析篇(第8~12章)及综合实践篇(第13、14章)三大部分,如果读者只做实时操作系统下的应用开发,可只阅读基础应用篇与综合实践篇;如果希望理解实时操作系统原理,那么建议通读全书。基础应用篇将Mbed OS驻留于BIOS内部,并在此基础上进行实时操作系统下应用开发的学习实践,架构简洁明了,编译链接速度快,符合应用开发特点。原理剖析篇采用源代码级剖析,利用printf输出至工具计算机显示屏,清晰给出运行原理,达到知其然也知其所以然的目的。综合实践篇为实时操作系统在嵌入式人工智能与物联网领域的综合应用。本书若作为教材,可根据课时做适当缩减,一般情况下,在本科教学中,基础应用篇和综合实践篇是重点,若用于研究生教学,原理剖析篇则作为重点。

本书配有网上电子资源,主要包含文档及源代码等。获得途径:搜索“苏州大学嵌入式学习社区”官网,在“著作”→“mbedOS”栏目下获得电子资源。

需要特别说明的是,为了体现实时操作系统的共性技术,本书在撰写内容上最大限度地与本书第一作者的另外一部著作《嵌入式实时操作系统——基于RT-Thread的EAI&IoT系统开发》(参考文献[1])保持一致,但实时操作系统的蓝本不同。

苏州大学嵌入式人工智能与物联网实验室的研究生参与了本书的程序开发及书稿整理工作,刘纯平教授、赵雷教授、章晓芳副教授、李领治副教授、徐丽华副教授、徐文彬副教授等参与了本书讨论,苏州金蒲芦物联网技术有限公司的施连敏博士提出了建设性的建议,在此一一表示感谢。鉴于作者水平有限,书中难免存在不足之处,恳请读者批评指正。

作者

2021年9月