标题：RT-Thread RTOS
RT-Thread开源实时操作系统发布1.0.0正式版
RT-Thread RTOS
这是一款由国内RT-Thread工作室开发的开源实时操作系统。起初RT-Thread是一个实时的内核(全抢占优先级调度，调度器时间复杂度O(1))，但在发展过程中，RT-Thread实时操作系统得到了来自全国嵌入式开发工程师的鼎力支持，为RT-Thread添砖加瓦，现在它已慢慢变成一个完善的、全功能的操作系统：文件系统，网络协议栈，图形界面组件。。。只有您想不到，没有您做不到：RT-Thread是一个平台，您可以把您的创意汇聚在一起，小平台大社区，RT-Thread的开发人员就在您的身边。RT-Thread与ucos比较：任务管理及调度：
RT-Thread 32/256可选优先级抢占式调度，线程数不限，相同优先级线程时间片轮转调度；支持动态创建/销毁线程
ucos 256优先级抢占式调度，不允许相同优先级任务存在
同步/通信机制：
RT-Thread 支持semaphore, mutex, mailbox, message queue, event。mailbox可存储多条消息，任务等待可按优先级进行排队。
ucos semaphore,mutex, mailbox, message queue, event。mailbox只能存放1条消息
内存管理：
RT-Thread 固定分区内存管理，小内存系统动态内存管理，大内存系统SLAB内存管理
ucos 固定大小内存块管理
定时器：
RT-Thread 挂接到系统OS定时器的硬定时器
ucos 只能使用OSTimeDly进行时间间隔处理
中断嵌套：
RT-Thread 允许
ucos 允许
源码许可证：
RT-Thread GPL + 可用于商业产品（只需要注明使用了RT-Thread）
ucos 商业收费
体积（典型配置，ARM7TDMI）：
RT-Thread 8k ROM, 2K RAM（RT-Thread/STM32包含完整的STM32固件，体积大些）
RT-Thread主要支持的平台：
STM32F103VB/STM32F103ZE
AT91SAM7S/7X
S3C2410
x86-IA32
RT-Thread/STM32F103VB 0.3.0 beta3更改记录：
- 内核，添加IAR EWARM 5.x工程，在内核定义中做相应的平台定义；
- 添加文件系统组件DFS，DFS是一套虚拟文件系统(类似Linux的VFS，但几乎不占用空间)
- 添加文件系统DFS-EFSL：把著名的FAT文件系统实现EFSL引入到DFS中，同时对它的不足进行修改：重写文件系统缓冲层；添加多扇区读写支持。(我们自己实现的DFS-FAT还在进行压力测试中，测试完毕后也会放出)
- STM32固件库更新到2.0.3patch1
RT-Thread/STM32F103VB 0.3.0 beta2更改记录：
- 修正message queue创建时内存分配的问题。
- 修正pendsv异常优先级过高的问题。
- 更改rt_console_puts为rt_hw_console_output，并由各个board自行实现，如果设置rt_hw_console_output为空函数，那么rt_kprintf将自动不起作用。
- 设备驱动框架中添加两个回调函数，设置回调函数的接口为：
* rt_device_set_rx_indicate，rx_indicate回调函数在设备驱动收到数据时调用，以通知上层应用有多少字节大小的数据已经接收(上层应用此时可以主动调用rt_device_read进行接收)。
* rt_device_set_tx_complete，tx_complete回调函数在驱动设备完成数据写入时调用，以通知上层应用数据已经写入完成(如果数据是动态申请的，可以在此时释放)。
设备驱动框架内部相关调用实现：
* rt_device_open/close，如果驱动设备是DMA接收模式，那么调用open将打开DMA开始进行接收，close则关闭DMA
* rt_device_read，设备驱动从设备中读取(轮询模式)，或从已经接收到的buffer中读取(接收中断模式、DMA接收模式)
* rt_device_write，设备驱动往设备中写入数据(轮询模式)，或挂接到链表中，等待DMA传输完成(如果当前DMA没使能，那么使能DMA直接进行发送)。
- STM32串口设备，实现在libcpu\stm32\serial.c中，发送支持轮询，DMA发送；接收支持轮询，中断接收，DMA接收等方式。
* 串口设备的注册在bsp\stm32f103vb\usart.c中，当前默认注册为
+ uart1, 轮询发送，中断接收， 中断接收通知指向finsh，rt_hw_console_output则轮询发送(不产生中断)。
+ uart2, DMA接收，轮询发送
+ uart3, 中断接收，DMA发送
- bsp\stm32f103vb\application.c是几个串口设备的使用例子。
简而言之，RT-Thread/STM32F103VB 0.3.0 beta3是一个RTOS + Shell(finsh) + VFS(DFS + EFSL(FAT16/32))，并且文件系统已在万利STM32开发板SPI SDCard上验证通过(大范围的SD/MMC卡还有待验证)。
RT-Thread 0.3.0正式版本发布
相较以前的RT-Thread 0.3.0 RC版本，添加了RT-Thread/GUI图形用户界面组件，内核部分无大的修改（console调整为支持设备的模式），建议所有使用0.2.x、0.3.0 beta/rc版的用户都开始使用0.3.0正式版。当前版本支持如下移植分支： 
- ARM Cortex-M3系列：STM32（包含STM32F107），LM3S，LPC1766 
- ARM7TDMI系列：LPC2148，LPC2478，AT91SAM7X256，AT91SAM7S 
- ARM920T系列：S3C2440（mini2440） 
- IA32：QEMU及真实的x86机器
关于RT-Thread的背景和成长
记录下RT-Thread 0.3.x的成长先解释几个常见问题： 
1. RT-Thread从哪里而来？ 
RT-Thread RTOS，Kernel部分完成于2006年上半年，创始人源于国内一老牌RTOS：DOOLOO RTOS，甚至是BSP 一些结构都源于DOOLOO RTOS。但与DOOLOO RTOS明显不同的是，Kernel完全重新编写，突出的是实时性和小而灵活，并且引入了内核 的对象模型以摒弃内核对象的与动态内存管理器无关化。 
2. RT-Thread用于商业产品&工程，版权如何界定？ 
RT-Thread RTOS内核部分完全由我们编写，无其他版权问题，可以放心在商业产品 & 工程中使用。对于把RT-Thread使用于商业产品中，我们承诺永久不收费（使用人拥有使用权，使用用途责任请自行承担）。另外有两点需要注意： 
- RT-Thread RTOS代码原始版权属于RT-Thread所有。 
- 在商业产品 & 工程中使用RT-Thread RTOS，请在产品说明书上明确说明使用了RT-Thread，如有串口输出，请在系统启动显示RT-Thread的版本信息。如使用了RT-Thread RTGUI，请保留RT-Thread LOGO。 
3. RT-Thread RTOS由谁开发，由谁维护？ 
目前RT-Thread RTOS由国内RT-Thread工作室开发及维护
4. RT-Thread RTOS是否已经在产品中使用？稳定度 & BUG情况如何？ 
目前已经有数家公司使用RT-Thread RTOS做为他们的系统平台，在上面进行产品开发，稳定性表现不错。 
就如同没有100%的完美事物一样，BUG是存在的，反馈上来我们会努力尽快修正。 
5. 我能加入到RT-Thread的开发者队伍中吗？ 
能！ 
我们欢迎任何对RTOS感兴趣的人，不管你是学生或资深嵌入式系统开发工程师。RT-Thread的开发人员通常依赖于论坛、邮件、GTalk进行联系交流，由于目前上海的开发人员比较多一些，所以会不定期的在上海举行开发者聚会。 
6. RT-Thread依靠什么持续发展下去，能够盈利吗？ 
目前RT-Thread的发展主要依赖于大家的兴趣爱好，大多数都是在业余时间进行开发的。以后会通过技术支持、组件定制、组件开发、辅助工具等 方式进行盈利。从几大开源软件来看，商业支持是软件持续发展不可或缺的一部分，所以我们希望能够有更多的公司选择RT-Thread RTOS做为系统平 台，这个对于公司、对于整个RT-Thread社区都是双赢的局面。对于公司，能够获得免费的RTOS套件，同时也能够推动着这个RTOS套件不断的朝着 稳定的方向发展。对于我们，有公司支持的发展无疑会令RT-Thread的发展更上一层楼，当然也意味着以后的支持费用有着落啦。 
========= 
问题完了，开始进入0.3.x系列的主题。在对外发布上，相信大家已经看到了，RT-Thread已经进入了0.3.x的密集发布周期。RT- Thread/STM32F103VB已经发布了0.3.0系列的3个beta版本，RT-Thread/STM32F103ZE已经发布了0.3.0系 列的2个beta版本，RT-Thread/LPC2148已经发布了一个0.3.0系列的beta版本。接下来会考虑发布RT-Thread/LM3S 的第一个beta版本(汗一个，刚发过了的板子有些硬件问题，返修了)... 
这些版本，大多数上会包含：Kernel + FinSH shell + Filesystem + LwIP等。 
0.3.0系列，RT-Thread还包括两大内容： 
- 编程指南文档 
- RTGUI图形界面系统 
编程指南一直在修订，比较遗憾文笔有限，所以文档还请大家不要太挑剔，有什么建议欢迎大家提出来。关于编程指南，还要提一句的是，这份文档是一份 编程的指南，在RT-Thread上编程需要考虑的地方都会提出来。但是，它并不是一份代码分析的文档，虽然它可能会提到内部的一些大致结构框架，但它不 会对代码进行一行行分析，所以请大家多多注意。 
另外的RTGUI组件，会是以后的重点任务，目前的打算是在现有的STM32F103ZE开发板上实现一套可用的手持终端设备，当然也依然延续 RT-Thread的习惯，这套东西会以开源的形式释放出来。在s3c2410/2440上，这套GUI表现得是相当不错的，面向对象的设计，独立的控件 对象模型，留给了用户最大的可扩展性。 
其他的，caoxulong的x86分支在整理完毕后也会放到0.3.0这个分支上来，通过这个分支大家可以完全摒弃开发板，在PC或 VMWare/QEMU上体验RT-Thread。LPC系列分支，苦于目前开发板不足，所以进展慢一些，上次发布的RT-Thread /LPC2148 0.3.0 beta1也只能包含SD卡、以太网口驱动框架，这个系列会把 wyoujtg/风城少主 的LPC2106的移植合并进 来。 
文件系统这块现在代码已经发布出来了，其实里面还包括另外一个分支的：DFS-FAT，这个分支就如同DFS一样，是我们自己编写的，也能够支持NandFlash等介质上的坏块管理，写了很多个测试例子在测，等通过压力测试后会取代目前的DFS-EFSL发布出来。