下载

下载


  • RT-Thread 0.3.1正式版本

这个版本支持的硬件平台数量与0.3.0正式版本的一致:
  * ARM Cortex-M3系列:STM32,LM3S以及LPC1766,STM32中新添加STM32F100系列芯片支持。
  * ARM7TDMI系列:LPC2148,LPC2478,AT91SAM7X256,AT91SAM7S
  * ARM920T系列:S3C2440(mini2440)
  * IA32:QEMU及真实的x86机器

修正的问题包括:
  * 修正OS Tick溢出的问题。
  * 修正定时器有时会被延期操作的问题。
  * 修正heap分配器尾部数据浪费的问题。
  * 修正rt_realloc时内存可能被浪费使用的问题。
  * 调整各内核对象结构使得内存布局更合理。

  * 修正ELM FatFs接口中rename的问题。
  * 修正LwIP中IGMP的问题。
  * 完善当发送mail失败时LwIP的处理。
  * 增强、完善RT-Thread/GUI的功能。

RT-Thread在Google SVN服务器上的开发分支亦做了相应调整:
原来的branches/rtt_0_3_1分支更改为branches/rtt_0_3_2。

代码:

RT-Thread-0.3.1.zip

文档:
RT-Thread实时操作系统编程指南与0.3.0正式版的相同,以后会逐渐由API说明文档替代,朝着正规化的方向发展。

STM32分支
请注意STM32分支的工程文件组织方式和0.3.0版本中的不一样,原来的几个目录是不相独立的工程,而0.3.1中为了避免混淆,把它们变成了独立的工程(注:因为0.3.1与0.3.0是完全兼容的,所以不一定要更新BSP目录)。

project_107是针对STM32F107芯片的工程,project_valueline是针对STM32F100芯片 STM32 Discovery开发版的工程,其余的芯片默认是STM32F103ZE。如果要修改成自己所需要的芯片,请遵循一下步骤:
  * 在board.h文件中修改STM32_SRAM_SIZE宏定义,它的单位是KB,所以针对于STM32F103VB类型的芯片,只需要把它定义成20即可。
  * 在使用Keil MDK打开board.h文件时,也能够使用Keil MDK带的界面配置方式进行配置。
  * 在工程选项的C编译器预定义上,修改成和芯片匹配的类型,例如STM32F10X_HD、STM32F10X_MD等。

另外,STM32分支支持IAR编译器,在使用IAR ARM时,如果你使用了finsh,请注意,最好在链接配置文件中加入
keep { section FSymTab };
keep { section VSymTab };
它的作用是为了保留finsh中使用到的符号表,因为这些符号表仅在命令行被调用,所以他们可能在最后生成目标文件时被优化掉。

具体请看stm32f10x_flash.icf文件。

LM3S分支
LM3S分支默认采用LM3S8962芯片,针对的是TI这次发的48¥ 8962开发板。

LPC176x分支
工程默认包括finsh shell,文件系统,网络协议栈的支持。

(*) 希望使用新特性的开发人员请关注后续0.4.0版本的发布情况,0.4.0版本添加了很多的新特性,例如:16位的瑞萨M16分支,大端模式的AVR32分支,以及MIPS分支等。

  • 开发工具下载

RT-Thread是一款开源的实时操作系统,其开发工具也尽量使用开源的软件,以下是使用到的一些开发工具:

Yagarto 在Windows下的ARM GCC工具链(注:对ARM Cortex-M3支持不太好):yagarto-bu-2.20_gcc-4.4.2-c-c++_nl-1.18.0_gdb-7.0.1_20091223.exe

Python 2.5.2: python-2.5.2.msi


 

  • RT-Thread 0.4.0系列测试版本

自RT-Thread 0.3.0正式版发布以来,经过开发人员密集的整8个月开发,大众用户的积极反馈、测试,终于完成了RT-Thread 0.4.x系列的第一个测试版本。这个测试版本,依然更多的面向测试目的,不建议直接应用到实际的产品中。RT-Thread 0.4.0的非正式版本依然沿用GPL v2许可证进行发布。

RT-Thread 0.4.0版本初始提出的几个功能亦基本达到,提供了相对完善的POSIX thread接口,动态库载入接口libdl以及应用模块支持。这些新功能的加入使得RT-Thread能够初步的兼容于POSIX标准。

自RT-Thread 0.3.0版本以来的更改:
内核:

  • 添加应用模块支持;支持两者应用方式:.mo 符号预解析应用;.so 符号未解析应用。.so应用需要在加载时动态解析符号。能够执行本地文件系统的应用模块,也能够执行网络文件系统上的应用模块。
  • 修正在rt_realloc参数中传入一个NULL指针时,分配失败的问题。修正slab管理器中对0xffffffff尺寸内存分配的问题;
  • 修正OS节拍数溢出的问题。(charlie weng提供相应的patch)
  • 块设备中读写偏移、大小等都更改成按块为单位;
  • 更改rt_device中成员private名为user_data;
  • 线程TCB中添加cleanup域,它将在线程运行结束时回调。

组件:

  • 添加newlib移植,当前仅能够支持GNU GCC编译环境;
    • 添加POSIX thread兼容接口(支持barrier,cond,mutex,rwlock,spin,tls等),采用IEEE Std 1003.1, 2004 Edition为参考进行实现;
  • 添加libdl兼容接口,能够使用dlopen,dlsym,dlclose等接口动态加载库;
  • 文件系统完善
    • 对设备虚拟文件系统代码部分进行调整,精简;
    • 修正device file system中struct stat的问题(能够兼容于newlib、minilibc、Keil MDK)
    • 修正dfs_filesystem_lookup函数中空项操作的问题;
    • 增加fstat接口;文件系统实现中增加mkfs,statfs接口以获得文件系统相关的信息。
    • 添加romfs文件系统,可以采用mkromfs.py脚本生成相应的ROM文件系统;
    • 添加devfs文件系统,增加/dev/console设备,它是一个虚拟设备,用于标准输入、输出、错误等;
    • 添加NFS v3客户端文件系统,可以配合FreeNFS/Linux NFS使用,以访问主机上的目录和文件;
    • elm fat文件系统
      • 添加非512扇区的宏定义;
      • 添加卸载的功能。
      • 修正重命名的问题;
  • RT-Thread/GUI
    • 增加bmp图像格式支持;
    • 原来的hardware dc更改为client dc;重写新的hardware dc,新的hardware dc绘图速度会更快。
    • 加入了非等宽字体支持。
    • 加入TTF字体支持,但内存空间占用估计比较大,对于unicode的问题还存在些问题。
    • 修正filelist_view控件析构的问题。
    • 对DC操作进行调整完善 (由richard lion完成)

分支:

  • STM3210
    • 完善SDIO驱动,并提供超过4G卡的支持;
  • mini2440
    • 能够使用0.4.0分支上所有的特性,能够开启newlib支持,能够开启POSIX thread支持,能够开启libdl支持。
  • 增加LPC的ARM Cortex-M0/3系列移植分支;
  • 增加新唐的ARM Cortex-M0 NU1xx分支;
  • 增加龙芯I SoC3210分支(MIPS 32位体系结构)

<其他分支,例如avr32,瑞萨m16,SEP4020等分支,由于分支维护人来不及准备,此次发布未包括在内,可以自行从RT-Thread的google svn中获取>

移植的组件:

  •   wyoujtg完成国内知名的开源项目FTK移植。FTK是一套极为绚丽,完整的GUI系统。

 

RT-Thread 0.4.0 在线API文档

RT-Thread 0.4.0 Beta1下载:rt-thread-0.4.0 beta1