Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
RT-Thread发布
RT-Thread/STM32 0.3.0 RC1发布
发布于 2009-12-26 00:36:14 浏览:30604
订阅该版
实时线程操作系统(RT-Thread)是国内RT-Thread工作室精心打造的开源实时操作系统,历时4年的呕心沥血开发,力图突破国内没有小型开源实时操作系统的局面,它不仅仅是一款开源意义的实时操作系统,也是一款产品级别的实时操作系统,它已经被国内十多所企业所采用,被证明是一款能够长时间稳定持续运行的操作系统。 实时线程操作系统从0.2.4正式版发布以来,目前已经一年多了,0.3.0开发分支在稳步进行中,亦收到来自国内十数个缺陷反馈、补丁修正,从针对STM32的beta1版本、beta2版本到LM3S的beta1版本,它总是力求发布一个稳定的版本,向着0.3.0正式版、稳定版迈进,而现在,就是RT-Thread开发工作室献上的0.3.0第一候选版,面向ST STM32微控制器(ARM公司的最新Cortex-M3构架处理器)。 The Real-time Thread Operating System is an open source real-time operating system developed by the RT-Thread Studio based in China, after four years' fully concentrated development. It is aimed to change the current situation in China that there is no domestic owned Intellectual Patent (IP) in the small scale open source real-time operating system area. It is a real-time operating system not only on the open source level but also on the commercial standard level. Having been used by more than ten companies in China, it proved to be an operating system running stably for a long time. It has been one year since our RT-Thread official version 0.2.4 has been released. The version 0.3.0 branch is currently under development. We have received lot of feedbacks from our customers, and have been fixing bugs as well as making big progress. From the beta 1 and beta 2 versions of STM32, to the beta 1 version of LM3S, we kept developing step by step towards the stable official Release 0.3.0. Now, RT-Thread Studio is proud to announce that the first 0.3.0 release candidate edition has been released. It is developed for the ST STM32 microcontroller (the latest processor with Cortex-M3 Architecture developed by ARM). 这个版本自0.3.0 beta2版本以来的更新记录: 内核: - 添加rt_memory_info函数用于获得系统内存信息情况; - 添加rt_calloc函数声明; - 添加minilibc小型C库,仅用于GCC编译环境; - 添加GCC编译支持,采用scons构建系统; - 添加software timer的实现; - 更改semaphore和mutex值为无符号值; - 更改邮箱、消息队列超时值为0,当再次计算出下一超时点为负数时; - 更改内存池钩子函数参数; - 移除不存在的钩子函数,添加缺少的对象钩子函数声明; - 从IPC中移除fast_event; - 修正event clear的bug; - 修正memory重新分配的bug; - 修正串口初始化的问题; - 修正mutex_release bug; - 修正周期性定时器在超时时停止自身的bug; - 修正内存池初始化的bug; - 修正设备初始化函数中激活参数的bug; - 修正RT_IPC_FLAG_PRIO处理的bug; LwIP轻型TCP/IP协议栈: - 升级LwIP到1.3.1版本; - 在LwIP中添加list_if,set_if,set_dns命令; - 更改DHCP休眠时间为微秒; - 修正LwIP DHCP选项问题; - 修正lwip_select函数返回值问题; 文件系统: - 添加ELM FatFs文件系统; - 修正EFSL的编译警告; - 修正closedir中不释放fd的bug; - 修正lseek中SEEK_END处理的bug; FinSH shell: - finsh添加退格键的支持; - finsh添加历史记录、符号自动完成的支持; - 修正finsh不能使用USART2的问题; STM32相关: - 升级ST固件库到3.1.0; - STM32添加LD、MD、HD、CL设备的支持; - STM32上添加DM9000A、STM32F107以太网驱动; - 修正rt_serial_getc函数的bug; - 修正CM3上下文切换时被高优先级中断抢占的问题; - 修正rt_realloc函数中关于内存使用统计的bug; - 修正当缓冲中不存在数据时rt_serial_read的bug; - 修正serial发送中断的bug; - 修正Keil MDK 3.5以下版本编译错误的问题; 这个版本是0.3.0正式版本的候选版本,原使用beta1或beta2版本的用户,强烈建议更新的新的版本来。欢迎反馈您的信息给RT-Thread论坛。 RT-Thread开发工作室 2009.12.26 下载附件 [rt-thread stm32 0.3.0 rc1.zip](https://oss-club.rt-thread.org/uploads/53_8be85ea06a535dba0c241e3975fe5080.zip) 下载附件 [RT-Thread 0.3.0 Introduction.pdf](https://oss-club.rt-thread.org/uploads/53_999f939230e43b349ffc43ca2240b8dc.pdf) 下载附件 [RTT_STM32.pdf](https://oss-club.rt-thread.org/uploads/53_470b1214fb0962d23d4410d0de7fadc0.pdf) 下载附件 [rtthread_lwip.pdf](https://oss-club.rt-thread.org/uploads/53_40304c05af6a0b1e6a1cbb17e5d1c015.pdf) 下载附件 [rtthread finsh shell.pdf](https://oss-club.rt-thread.org/uploads/53_dbaa2f229294e4171672162d61e88115.pdf) 下载附件 [board.zip](https://oss-club.rt-thread.org/uploads/53_91205b99d0ce47060c6b7b0d763103a5.zip)
查看更多
24
个回答
默认排序
按发布时间排序
bernard
2009-12-26
这家伙很懒,什么也没写!
PDF版本的发布说明 (好多同学说这个PDF字体有问题,显示不了,这里重新做了一份)
shaolin
2009-12-26
这家伙很懒,什么也没写!
PDF文档的字体似乎有点问题,我这边打开都是空白。
bernard
2009-12-26
这家伙很懒,什么也没写!
好的,我重装个PDF转换器,重新打印一遍吧。
ljt8015
2009-12-26
这家伙很懒,什么也没写!
RT-ThreadSTM32F103ZE分支0.3.0 beta2版本 中 有 goahead 这个怎么没有了啊?
panxiaoku
2009-12-26
这家伙很懒,什么也没写!
这个要顶。。支持
bernard
2009-12-26
这家伙很懒,什么也没写!
>RT-ThreadSTM32F103ZE分支0.3.0 beta2版本 中 有 goahead > >这个怎么没有了啊? --- 这个放到netutils组件中发布吧。
bernard
2009-12-26
这家伙很懒,什么也没写!
RT-Thread/STM32 配置指南 STM32芯片类型的配置 STM32系列是包含多种型号的芯片,例如常用的STM32F103VB,STM32F103ZE等。在ST的官方分类上,STM32F103又分成了LD,MD,HD,STM32F105,STM32F107则叫做CL系列,所以当您使用RT-Thread时,请先确定您使用的芯片型号,在软件的配置上主要是两个地方(在工程的选项中):1、在工程Target中选择您相应的芯片型号;2、在C/C++定义上,根据您STM32芯片型号,设置STM32F10X_HD或STM32F10X_CL(实际上这个是配置ST的固件库) STM32开发板的配置 不同的STM32芯片其差别体现在,片内Flash容量,片内SRAM容量,外设情况等。而对于STM32F103ZE这种类型的芯片,还能通过FSMC总线扩展出板载的SRAM,Nor Flash等。其中和操作系统密切相关的一个是,可用内存的多少。RT-Thread针对STM32芯片使用的是小型的内存管理算法,它需要知道它所能够使用、所能够管理的内存区域是哪一块区域(一段连续的地址范围)。 在Keil MDK中打开RT-Thread的board.h文件,其中有涉及到RAM的配置(片内的或外扩的),具体请见附件中的PDF文档。
bernard
2009-12-26
这家伙很懒,什么也没写!
RT-Thread上的LwIP LwIP简介 LwIP 是瑞士计算机科学院(Swedish Institute of Computer Science)的Adam Dunkels等开发的一套用于嵌入式系统的开放源代码TCP/IP协议栈,它在包含完整的TCP协议实现基础上实现了小型的资源占用,因此它十分适合于使用到嵌入式设备中,占用的体积大概在几十kB RAM和40KB ROM代码左右。 由于 LwIP 出色的小巧实现,而功能也相对完善(包含相对完整的BSD风格socket编程),用户群比较广泛。实时线程操作系统(RT-Thread)采用 LwIP 做为默认的 TCP/IP 协议栈,同时根据小型设备的特点对其进行再优化,体积相对进一步减小,RAM 占用缩小到5kB附近(依据上层应用使用情况会有所浮动)。 在STM32上使用RT-Thread/LwIP 目前在STM32上内建了几种以太网驱动,可根据自己硬件情况选择相应驱动: - Microchip ENC28j60 - DM9000A (16bit模式) - STM32F107 如果使用的是前两种驱动,可以选择使用project_lwip目录中的工程,把它们都复制到bsp\stm3210目录中(重名的文件覆盖即可)。project_lwip工程的配置是: RT-Thread Kernel + LwIP,选择ENC28J60或DM9000A做为以太网接口。 如果是ENC28J60,其硬件连接是 SPI2连接ENC28J60,GPIO B Port12做为片选,GPIO B Port0做为触发中断。 DM9000A只能通过FSMC连接到STM32上,默认是STM32F103ZE芯片,16bit模式 连接到FSMC Bank1的NorSRAM4上,基地址是0x6C000000。 RT-Thread/LwIP上的TCP例程 TCP服务端 以下是如何在RT-Thread上使用BSD socket接口的一个TCP服务端例子,当把这个代码加入到RT-Thread时,它会自动向finsh 命令行添加一个tcpserv命令,在finsh上执行tcpserv()函数即可启动这个TCP服务端,它是在端口5000上进行监听。 当有TCP客户向这个服务端进行连接后,只要服务端接收到数据,它立即向客户端发送“This is TCP Server from RT-Thread.”的字符串。 如果服务端接收到q或Q字符串时,服务器将主动关闭这个TCP连接。如果服务端接收到exit字符串时,服务端将退出服务。 TCP客户端 以下是如何在RT-Thread上使用BSD socket接口的一个TCP客户端例子。当把这个代码加入到RT-Thread时,它会自动向finsh 命令行添加一个tcpclient命令,在finsh上执行tcpclient(url, port)函数即可启动这个TCP服务端,url指定了这个客户端连接到的服务端地址或域名,port是相应的端口号。 当TCP客户端连接成功时,它会接收服务端传过来的数据。当有数据接收到时,如果是以q或Q开头,它将主动断开这个连接;否则会把接收的数据在控制终端中打印出来,然后发送“This is TCP Client from RT-Thread.”的字符串。 RT-Thread/LwIP上的UDP例程 UDP服务端 以下是如何在RT-Thread上使用BSD socket接口的一个UDP服务端例子,当把这个代码加入到RT-Thread时,它会自动向finsh 命令行添加一个udpserv命令,在finsh上执行udpserv()函数即可启动这个UDP服务端,它是在端口5000上进行监听。 当服务端接收到数据时,它将把数据打印到控制终端中; 如果服务端接收到exit字符串时,服务端将退出服务。 UDP客户端 以下是如何在RT-Thread上使用BSD socket接口的一个UDP客户端例子。当把这个代码加入到RT-Thread时,它会自动向finsh 命令行添加一个udpclient命令,在finsh上执行udpclient (url, port)函数即可启动这个TCP服务端,url指定了这个客户端连接到的服务端地址或域名,port是相应的端口号。 当UDP客户端启动后,它将连续发送5次“This is UDP Client from RT-Thread.”的字符串给服务端,然后退出。 代码详细解析见PDF附件。
bernard
2009-12-26
这家伙很懒,什么也没写!
强大的finsh shell **注:输入一条命令后,后请回车执行,推荐使用PuTTY免费软件,串口调试助手默认不发送回车符。如果是list_thread这样的命令,请在后面加入(),这个和C语言代码是相同的 ** FinSH组件起因 通常,大家在接触RT-Thread时,都会以为这是一个最不重要的组件,可有可无,而且在产品中也不会用到,用了还担心是否会对系统造成不必要的开销,甚至影响到系统的稳定性、可靠性。 做为单片机系统的研发人员,可能大多使用JTAG来调试程序,出问题了就祭出仿真器的尚方宝剑,似乎宝剑一出,任何前方的艰难险阻就会因难而解。只是有一类情况(而且这种情况还是困扰系统稳定的最大的问题),问题出现的几率并不是100%的,时间上非确定,环境上非确定。例如一个系统存在内存泄漏,如何去确定它是否存在内存泄漏呢,难道等到内存全部使用完了才发觉? FinSH在STM32版本中新加特性 目前RT-Thread在google svn的版本添加了下面的新功能: - 命令历史记录 通过上、下键,浏览历史命令,并把当前命令切换成相应的命令。切换后可以继续编辑命令。 - 自动完成 & 获得帮助 在输入一部分命令时,例如list,继续输入TAB键,获得相应匹配的命令帮助,如果系统中只存在唯一的命令,将自动补全后面缺少的内容
bernard
2009-12-26
这家伙很懒,什么也没写!
第一个RC1版本补丁,板载SRAM初始化函数忘记加了,直接把补丁文件传上来,覆盖同名文件即可,同样的,直接从google svn更新也能够获得这份更新。 如果您需要使用开发板上外扩的SRAM,可以使用这份补丁,否则不需要更新。
撰写答案
登录
注册新账号
关注者
0
被浏览
30.6k
关于作者
bernard
这家伙很懒,什么也没写!
提问
414
回答
5940
被采纳
76
关注TA
发私信
相关问题
1
RT-Thread单内核v0.2.2正式版
2
[发布] RT-Thread RTOS v0.2.3版本
3
RT-Thread 0.3.0 beta
4
RT-Thread/LM3S 0.3.0 RC1版发布
5
建议弄个MIPS版本的。龙芯上用。
6
开源实时操作系统RT-Thread 0.3.0正式版发布
7
关于RT-THREAD的UDP讨论
8
这里是BUG回报板块!
9
rt-thread stm32 0.3.0 rc1 网络问题
10
[公告] 0.4.x中一个比较大的更改
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
2
RT-Thread 发布 EtherKit开源以太网硬件!
3
rt-thread使用cherryusb实现虚拟串口
4
《C++20 图形界面程序:速度与渲染效率的双重优化秘籍》
5
《原子操作:程序世界里的“最小魔法单位”解析》
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
ulog
C++_cpp
at_device
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
13
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
11
个答案
1
次被采纳
本月文章贡献
程序员阿伟
8
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
4
次点赞
ThinkCode
1
篇文章
1
次点赞
Betrayer
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部