距离2019年我们出版《嵌入式实时操作系统:RT-Thread设计与实现》,已经过去三年的时间了。该书降低了RT-Thread的学习门槛,让更多的人学习和掌握了RT-Thread。该书也非常受开发者的欢迎,三年里加印了多次。
这三年,RT-Thread不忘初心,持续发展,系统版本推进到了4.1.0,软件包的数量也增加至数百款。RT-Thread广泛地应用于消费电子、医疗、汽车、能源、军工、航天等众多行业,成为国人自主开发的、最成熟稳定的、装机量最大的开源嵌入式操作系统。
深处行业中,我们深刻地感受到近年来国内芯片产业和物联网产业的快速崛起趋势。行业发展迫切需要更多人才,尤其需要掌握嵌入式操作系统等底层技术的人才。而随着RT-Thread被更广泛地应用于行业中,开发者对嵌入式驱动开发的需求越来越强烈,他们迫切地希望有一本可以指导他们在RT-Thread上开发驱动的指南。
为了解决开发者的燃眉之急,我们撰写了本书——《RT-Thread设备驱动开发指南》,希望帮助RT-Thread的开发者掌握驱动开发的知识点,让开发者能够更简单、更方便地开发驱动,加速产品上市,让RT-Thread赋能更多行业,真正做到“积识成睿,慧泽百川”。
总之,本书的初衷在于指导RT-Thread的开发者,让更多人能够了解RT-Thread设备框架,掌握RT-Thread上的设备驱动开发,从而能够一起参与开发RT-Thread,共同打造开源、开放、小而美的物联网操作系统。
❏熟悉RT-Thread并想在其上开发设备驱动的人员
❏嵌入式软硬件工程师、电子工程师、物联网开发工程师
❏高等院校的计算机、电子、自动化、通信相关专业师生
❏其他对嵌入式操作系统感兴趣的人员
本书要求读者具备RT-Thread基础知识,因此建议大家先学习《嵌入式实时操作系统:RT-Thread设计与实现》,再学习本书内容。使用过RT-Thread上的设备框架的读者的阅读体验会更佳。本书的每章都有配套示例代码,这些代码大多是仅供理解上下文参考的,不能真正运行,建议读者对照具体bsp目录下已有的驱动,并结合本书进行学习。
本书内容分为三篇:基础篇、进阶篇与高级篇。
基础篇 (第1~11章) 第1章概述RT-Thread与设备框架;第2~11章介绍一些常用的设备驱动框架,包括PIN、I2C、SPI等,适合刚接触驱动开发的读者阅读。
进阶篇 (第12~20章) 介绍稍复杂一些的外设驱动,如SDIO、触摸、显示、传感器、加解密设备等。
高级篇 (第21~27章) 介绍一些复杂的驱动,如网络、音频、USBD(H)、CAN等,开发此类设备驱动要求开发者比较熟悉相应的外设协议。
本书更像是一本工具书,读者不需要一章一章地从头读到尾,读完前面几章内容,熟悉了驱动开发的基本流程之后,就可以根据自己的需要,选择对应的章节学习。
本书是基于RT-Thread 4.1.0编写的,读者在跟随本书学习驱动开发的时候,也需要选择对应的源码版本。
由于笔者水平有限,书中难免会出现一些错误或者不准确的地方,恳请读者到论坛发帖指正。RT-Thread官方论坛地址为https://club.rt-thread.org/,发帖可带上“驱动开发指南”的标签,以便迅速筛选话题,加速问题整合。读者在学习过程中遇到任何问题都可以发帖交流。期待能够得到你们的真挚反馈。
本书由诸多RT-Thread开发者集体完成。刘贤良、邵鹏宇、李想、王宸宇参与了本书的内容整理工作,唐伟康、陈迎春、樊晓杰、李涛、刘恒等参与了本书的校对工作。感谢大家为本书出版做出的贡献。
感谢机械工业出版社的编辑帮助和引导我们顺利完成全部书稿。
郭占鑫