搜索
bottom↓
回复: 11

开源实时操作系统:RT-Thread/LM3S 0.3.0 RC1版发布

[复制链接]

出0入0汤圆

发表于 2010-1-4 11:17:33 | 显示全部楼层 |阅读模式
TI流明LM3S系列芯片是基于ARM Cortex M3 v7构架的32位芯片,其中LM3S S6000,S8000,S9000系列芯片携带网络功能。RT-Thread的标准内核可以运行在除LM3S S100系列外的所有系列芯片上。这次RT-Thread针对于LM3S进行移植验证并经过压力测试的是LM3S6918芯片,芯片携带64K片内静态内存,256K闪存,频率是50MHz。在这个平台上,RT-Thread支持的特性包括:

1. 完善的实时核心
- 面向对象方式的实时核心(但依然保留了C语言的优雅、小巧风格);
- 默认32线程优先级的全抢占式实时内核(亦可配置成256线程优先级);相同优先级线程时间片轮转调度;
- 相同优先级线程实施时间片可配置的分时时间片轮转调度;
- 线程间同步机制:信号量和防止优先级翻转的互斥锁;
- 完善高效的线程间通信机制,包括邮箱,消息队列和事件;
- 支持线程挂起和唤醒的固定内存块管理及线程安全的动态内存堆管理;
- 向上层提供基于名字的统一接口设备驱动模型;

2. FinSH shell命令行
- 命令即C代码的命令行方式;
- 直接在命令行中调用系统内核函数;
- 直接在命令行中访问系统全局变量;
- 历史记录及命令自动补全;

3. 面向小型设备的虚拟文件系统
- 向上层应用提供POSIX风格的API接口;
- 支持多种具体文件系统实现;
- LM3S分支内置SD卡驱动程序;

4. LwIP轻型TCP/IP协议栈
- 标准的BSD Socket接口;
- IP、ICMP、UDP、TCP标准协议支持;
- DNS,DHCP,PPP协议支持;
- TFTP、HTTP、FTP应用协议支持(见netutil组件);
- LM3S分支内置以太网驱动;

5. 开发环境支持:
- GNU GCC (scons做为构建工具)
- Keil MDK

以上是RT-Thread/LM3S 0.3.0的特性,这些特性在RT-Thread 0.3.x分支中不会有大的改变。

6. 技术指标及优势
- 看几个体积指标:
RT-Thread标准Kernel(标准Kernel指得是没经过剪裁的内核):
9.5K只读数据和执行代码占用,1.5K内存占用(通常只读数据和执行代码放置在闪存中)

包括上面说的完整组件,即标准Kernel,finsh shell,文件系统,网络协议栈:
80K只读数据和执行代码占用,13.5K内存占用,当运行时,会有5K左右的动态内存占用。即当系统运行时,大约剩余45K内存给用户使用。

和LM3S提供的无操作系统LwIP,FatFS文件系统比较:
120K只读数据和执行代码占用,35K内存占用。即当系统运行时,大约剩余20K内存给用户使用。

- 网络的一些性能指标
对比情况采用了相同的netio测试得到的数据统计
RT-Thread/LM3S
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel
TCP connection established.
Packet size 1k bytes: 704 KByte/s Tx, 5131 Byte/s Rx.
Packet size 2k bytes: 704 KByte/s Tx, 1950 KByte/s Rx.
Packet size 4k bytes: 704 KByte/s Tx, 2197 KByte/s Rx.
Packet size 8k bytes: 704 KByte/s Tx, 2200 KByte/s Rx.
Packet size 16k bytes: 706 KByte/s Tx, 2196 KByte/s Rx.
Packet size 32k bytes: 709 KByte/s Tx, 2136 KByte/s Rx.
Done.

TI/无操作系统情况下的LwIP
NETIO - Network Throughput Benchmark, Version 1.26
(C) 1997-2005 Kai Uwe Rommel
TCP connection established.
Packet size 1k bytes: 870 KByte/s Tx, 5187 Byte/s Rx.
Packet size 2k bytes: 870 KByte/s Tx, 2463 KByte/s Rx.
Packet size 4k bytes: 870 KByte/s Tx, 3322 KByte/s Rx.
Packet size 8k bytes: 870 KByte/s Tx, 3239 KByte/s Rx.

(上面的是PC端NETIO输出的结果,Tx对应LM3S开发板上的接收,Rx对应LM3S开发板上的发送)
从上面可以看出,在大数据块发送时,RT-Thread/LM3S的移植会有一些损耗,但总的来说损耗不算太大,特别是报文在1k - 2k范围时数据相差不大。如何看待这个差异:通常没有操作系统时,系统能够更专注的做一件事。而有操作系统的情况下,它能够额外的做一些事务,这些事务在进行切换时,会产生一定的系统资源开销。总的来说,体积上的改善一定程度上弥补了性能的差距(例如RT-Thread/LM3S能够支持16k、32k bytes大小的网络包发送接收,而无操作系统的LwIP则不能)。

- 一些实时性能指标
这组数据是与著名的开源实时操作系统ecos的比较。测试代码完全相同,硬件平台相同(采用的是PXA310),编译器相同(GNU GCC),编译参数相同:
基本任务测试 RTT/ecos 1.40倍
协作调度测试 RTT/ecos 1.20倍
抢占调度测试 RTT/ecos 1.33倍
同步处理测试 RTT/ecos 1.86倍
内存分配测试 RTT/ecos 2.50倍

7. 许可证
作为一套基础组件,就例如电脑中的中文输入法一样,它不应该收费,因此它能够免费的使用于商业产品中(0.3.x系统仅需要在我们这边进行产品信息备案,更换GPLv2许可证为商业许可证!0.4.x将更换产品许可证为BSD或Apache开源许可证)。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-1-4 11:36:35 | 显示全部楼层
沙发..下个项目考虑看看.就怕不会用..汗

出0入0汤圆

发表于 2010-1-4 11:49:35 | 显示全部楼层

出0入0汤圆

发表于 2010-1-4 11:52:09 | 显示全部楼层
压缩包是不是有问题?

出0入0汤圆

发表于 2010-1-4 12:12:18 | 显示全部楼层
下载文件是不是要注册用户才可以。几次尝试都没有下载呀。

出0入0汤圆

发表于 2010-1-4 12:23:07 | 显示全部楼层
压缩包是有点问题,我重新从RT-Thread论坛上http://www.rt-thread.org/phpbb/viewtopic.php?f=2&t=429下载了一个过来
点击此处下载 ourdev_522526.zip(文件大小:2.29M) (原文件名:rt-thread lm3s 0[1].3.0 rc1.zip)

出0入0汤圆

 楼主| 发表于 2010-1-4 12:42:37 | 显示全部楼层
果真,估计是我开始下载有问题,连带着google那边的下载也有问题,只有107k。正确的版本见shaolin的帖子

出0入0汤圆

发表于 2010-1-4 12:47:49 | 显示全部楼层
这个要顶啊,有空了要学习学习~

出0入0汤圆

 楼主| 发表于 2010-1-8 23:23:27 | 显示全部楼层
可惜TI的免费板子没申请到,TI看来还是挺鄙视俺这种自由职业者的。

有心人自己在LM3S8962板子上试试吧,希望能够得到网友的反馈情况。另外,也有网友问,如果是芯片中固化了LM3的驱动库应该如何处理,这种芯片还没碰到过,只能让有经验的回答吧。

出0入0汤圆

发表于 2010-1-8 23:52:26 | 显示全部楼层
顶 ffxz  太牛了

出0入0汤圆

 楼主| 发表于 2010-1-13 11:33:02 | 显示全部楼层
google svn上的LwIP已经升级到1.3.2。同时1.3.2的问题我们也会追踪,有必要的时候会从lwip cvs中导入部分代码用于修正1.3.2的bug。而RT-Thread的改动也会报到lwip那边去,至于是否更新到lwip cvs 中,当然是他们那边说得算了 ;)

新的版本,还请大家多测试。

升级到lwip 1.3.2,在RT-Thread这边需要做的改动(或注意事项):
- 引入RT_LWIP_USING_RT_MEM宏,如果需要获得更小的体积请在rtconfig.h中定义这个宏。
- memp_tiny.c文件已经不存在了,请在自己的工程中删除这个文件,并把memp.c这个文件加入到工程中进行编译。

出0入0汤圆

发表于 2010-2-22 23:52:05 | 显示全部楼层
很早就说过,看好rtt!!
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-21 01:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表