前言 嵌入式计算机技术是21世纪计算机技术的重要发展方向之一,应用领域十分广泛且增长迅速,据估计未来十年中95%的微处理器和65%的软件被应用于各种嵌入式系统中。技术的发展和生产力的提高离不开人才的培养,目前业界对嵌入式技术人才的需求巨大,尤其在迅速发展的电子、通信、计算机等领域,这种需求更为显著。另外,企业对嵌入式系统开发从业者的工程实践能力、经验要求也越来越重视,因此目前国内外很多专业协会和高校都在致力于嵌入式相关课程体系的建设,结合嵌入式系统的特点,在课程内容设计、师资队伍建设、教学方法探索、教学条件和实验体系建设等方面取得了较好成效。 嵌入式Linux是嵌入式领域内重要的操作系统,是ARM CortexA系列微处理器上重要的操作系统之一,也是嵌入式系统领域和物联网领域内出色的操作系统之一。当前谷歌公司还针对嵌入式系统(基于嵌入式Linux、Android、iOS)推出了适用于机器学习的TensorFlow Lite开发框架,极大地增强了嵌入式人工智能的应用前景。 本书特色 (1) 深挖嵌入式Linux与桌面Linux、服务器Linux的异同,完全根据嵌入式系统的特点阐述嵌入式Linux的各方面知识,并与时俱进地介绍主线内核版本的新兴技术。 (2) 嵌入式Linux需要底层硬件支持。本书采用ARMv7版本的CortexA8处理器架构作为系统核心处理器架构,取代原有ARM7/ARM9处理器架构。ARM9架构作为国内嵌入式系统教学主要选择架构已超过十年,一方面在市场上已经难觅芯片其踪,另一方面国内高校ARM9实验平台也已经普遍超期服役,在未来两年内将迎来实验设备普遍更换的潮流。在更新设备的可选择资源中,CortexA8处理器架构的实验实训平台具有极高的性价比、良好的扩展性和众多嵌入式设备厂家支持,同时CortexA8处理器架构目前属于技术上稳定的处理器架构,有较多相关的嵌入式实验平台可供选择。因此选择CortexA8处理器架构作为教材主要介绍的处理器架构既是嵌入式市场的需求,也是理论教学和实验教学上与时俱进的需要。 (3) 与同类教材相比,增加Yocto Project开源项目、SQLite数据库和嵌入式人工智能TensorFlow Lite应用相关知识,以满足日益增长的嵌入式开源项目与人工智能数据处理需求,更符合计算机学科特点。 (4) 本书案例代码丰富,从编写小组自身从事的科研项目和实践活动出发,选择具有一定实用价值的项目实例。 本书内容 本书共9章。第1章介绍了嵌入式系统的基本概念、特点、分类、应用场景和发展趋势; 第2章介绍了ARM处理器的系统结构; 第3章介绍了Linux的基础知识; 第4章介绍了嵌入式Linux开发环境的构建要点; 第5章介绍了ARMLinux内核相关知识; 第6章介绍了Linux文件系统; 第7章介绍了嵌入式Linux系统的移植过程和调试方法; 第8章介绍了嵌入式Linux的驱动程序; 第9章介绍了嵌入式Linux高级编程技术。 本书建议的课程教学包括课堂教学、课堂研讨、课堂及课后习题、实验4部分,包括9章的理论教学和7次实验。课内理论教学58学时、实验14学时。 配套资源  程序代码、工程文件等资源: 扫描目录上方的“配套资源”二维码下载。  课件、大纲等资源: 扫描封底的“书圈”二维码在公众号下载,或者到清华大学出版社官方网站本书页面下载。  微课视频(590分钟,47集): 扫描书中相应章节中的二维码在线学习。 注: 请先扫描封底刮刮卡中的文泉云盘防盗码进行绑定后再获取配套资源。 在本书的编写过程中,王剑负责第1章、第5~8章的编写工作和全书的统稿,孙庆生负责第2~4章和第9章的编写工作。本书的编写也得到了叶玲和王子瑜小朋友的鼓励和支持,清华大学出版社的工作人员也给予了大力支持,在此表示衷心的感谢。 本书参考了国内外的许多技术资料,书末有具体的参考文献,有兴趣的读者可以查阅相关信息。 限于编者水平,书中错误或者不妥之处在所难免,敬请广大读者批评指正和提出宝贵意见。 王剑2023年3月