序章 前言

最近在工作项目中使用了RT-Thread(下文简称RTT)嵌入式操作系统,不得不说,这个系统大大加快了开发效率,当然这很大程度上归功于RTT的软件包生态。RTT的软件包配上其设备驱动层,甚至可以说一个程序可以在不做任何应用层改动的情况下移植到RTT所支持的任意BSP上。不仅如此,RTT目前已经拥有各式各样成熟的软件包,从各种外设驱动到物联网相关应用,从简单的LED控制到复杂的机器人平台……这些软件包囊括了大部分嵌入式的开发需求,使绝大多数的项目内应用脱离从零开始设计的漫长踩坑阶段,当然,如果现有的软件包无法完全满足需求的情况下,你也可以根据相关的软件包进行修改,使其更适应自己的项目。更重要的是,由于RTT设备驱动层的存在,使绝大部分软件包无需对底层硬件进行移植或者只需修改几处微小的部分便可直接进行使用!(如果对其感兴趣,可以进入RTT官方软件包平台一探究竟:http://packages.rt-thread.org/

当然,好的东西往往不会那么容易得到,RTT之所以那么好用和其自身的多层架构有着密不可分的联系。

序章 前言

上图是RTT的架构图,从中我们可以发现,除了我们常见的嵌入式操作系统的内核层之外,其还包含组件和服务层以及软件包层,软件包的易用性很大程度上依靠组件与服务层的健壮性,正是由于这一层的存在,使RTT不是非常容易上手,很多源码都是一层套一层,如果不仔细追踪很容易在调试代码的时候陷入困境,虽然入门RTT不需要对底层有太多的了解,但是其源码的难懂性还是会使很多初学者望而却步。

前一段时间参加论坛活动获得了RTT赠送的W601开发板,正好借此机会做一个小小的demo,并且将整个制作过程与源代码与大家分享,希望大家能通过这个有趣的小项目激发对RTT的兴趣,从而加入到RTT这个大家庭来,与全世界的RTT开发者分享自己的创意与想法。