|
mcuoser--陌生人

- UID
- 5185
- 帖子
- 7
- 精华
- 0
- 可用积分:
- 7 分
- 专家积分:
- 0 分
- 培训积分:
- 0 分
- 管理积分:
- 0 分
- 在线时间
- 10 小时
- 注册时间
- 2008-12-28
|
2#
大 中
小 发表于 2009-6-28 22:42 只看该作者
一定要顶起,下面是RT-Thread的一些介绍,如果对RT-Thread比较熟悉的话,几个小时可以完成移植工作。 - 我们只做简洁、实用、专业的嵌入式开发技术论坛。8 A. o1 G% `) C7 F5 @) l8 O
" h7 f$ y A6 Q% V+ R$ jarm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,RT-Thread RTOS,这是一款由国内RT-Thread工作室开发的开源实时操作系统。起初RT-Thread是一个实时的内核(全抢占优先级调度,调度器时间复杂度O(1)),但在发展过程中,RT-Thread实时操作系统得到了来自全国嵌入式开发工程师的鼎力支持,为RT-Thread添砖加瓦,现在它已慢慢变成一个完善的、全功能的操作系统:文件系统,网络协议栈,图形界面组件。。。只有您想不到,没有您做不到:RT-Thread是一个平台,您可以把您的创意汇聚在一起,小平台大社区,RT-Thread的开发人员就在您的身边。
8 r! J2 q* {' T+ a! L# D嵌入式开发联盟嵌入式开发联盟7 b' W9 ?3 E9 W0 m, _" t
RT-Thread与ucos比较:
% d# R9 Z+ V$ O, w# L& w7 H- 我们只做简洁、实用、专业的嵌入式开发技术论坛。任务管理及调度:
& m* ?$ C; o, z/ w# c) s& D2 r. T我们只做简洁、专业的嵌入式开发技术论坛。RT-Thread 32/256可选优先级抢占式调度,线程数不限,相同优先级线程时间片轮转调度;支持动态创建/销毁线程
+ g* |0 M1 c4 K' bwww.mcuos.comucos 256优先级抢占式调度,不允许相同优先级任务存在 www.mcuos.com( r1 X# s4 Y" _, ]( s
$ U" G. L& b: L9 A: N% C
同步/通信机制:
" p' r0 N! w' P9 M, yRT-Thread 支持semaphore, mutex, mailbox, message queue, event。mailbox可存储多条消息,任务等待可按优先级进行排队。 * y4 l2 r% D. E% _
ucos semaphore,mutex, mailbox, message queue, event。mailbox只能存放1条消息
3 s; H& P: D0 w' a0 \1 Iarm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,- 我们只做简洁、实用、专业的嵌入式开发技术论坛。3 \* h5 e7 U" j0 I; n
内存管理: arm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,& K6 V3 A8 u/ V8 r+ T
RT-Thread 固定分区内存管理,小内存系统动态内存管理,大内存系统SLAB内存管理
( ]0 e0 a! [" z5 O8 uucos 固定大小内存块管理 嵌入式开发联盟# {1 J3 B: A$ X5 ? o: d3 x
- 我们只做简洁、实用、专业的嵌入式开发技术论坛。% j' O- B- k- k. O' A' S7 Y+ Y
定时器: www.mcuos.com& T; u7 q8 C% _2 g% ], @. I+ b7 s
RT-Thread 挂接到系统OS定时器的硬定时器
) M5 h# C7 `/ _' j/ n6 Xucos 只能使用OSTimeDly进行时间间隔处理
" \, |1 m' e( C% U3 o% s( e' q0 swww.mcuos.com
5 M Y/ a# J6 y- I" t0 l! K2 x嵌入式开发联盟中断嵌套:
$ L0 ]# c' l9 Z$ H- 我们只做简洁、实用、专业的嵌入式开发技术论坛。RT-Thread 允许 嵌入式开发联盟" G( D0 R+ O9 R( {1 @, @
ucos 允许
+ w" y2 P/ ^ g% @我们只做简洁、专业的嵌入式开发技术论坛。
; V4 a1 G6 w$ w" Z; M$ i5 ?/ M& G嵌入式开发联盟源码许可证: www.mcuos.com, ^* L" [! w" n' I' c
RT-Thread GPL + 可用于商业产品(只需要注明使用了RT-Thread) arm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,' N: |# i3 U9 \. H( N
ucos 商业收费
; w, l) z9 S5 {1 `- ^arm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,arm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,: P6 M. U$ K( B: o/ a
体积(典型配置,ARM7TDMI): - 我们只做简洁、实用、专业的嵌入式开发技术论坛。. [0 w% E4 T! y [) I
RT-Thread 8k ROM, 2K RAM
$ U# B+ h, B/ j- 我们只做简洁、实用、专业的嵌入式开发技术论坛。(RT-Thread/STM32包含完整的STM32固件,体积大些)
/ m5 `! h V1 X" ^我们只做简洁、专业的嵌入式开发技术论坛。我们只做简洁、专业的嵌入式开发技术论坛。- w6 [1 h$ J4 m W# d: _: Y/ \
RT-Thread主要支持的平台: arm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,. [# L! T7 {% z. w, u
STM32F103VB/STM32F103ZE - 我们只做简洁、实用、专业的嵌入式开发技术论坛。1 C3 J3 ~4 u; F$ b: \ t+ d
AT91SAM7S/7X
0 f% a M5 v+ k- A5 a4 o: Zarm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,S3C2410 www.mcuos.com* x0 f$ ^% p3 ^* o5 Z% R( u! f# h
x86-IA32
8 \/ D$ [2 t9 U9 ]$ O& |. Bwww.mcuos.com
, v( l9 X9 w( N: B/ y u6 ?; {" [arm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,RT-Thread/STM32F103VB 0.3.0 beta3更改记录: arm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,, Q( u, s* i& y3 T' D; P
- 内核,添加IAR EWARM 5.x工程,在内核定义中做相应的平台定义;
3 x6 q# A% m9 m2 jarm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,- 添加文件系统组件DFS,DFS是一套虚拟文件系统(类似Linux的VFS,但几乎不占用空间) 我们只做简洁、专业的嵌入式开发技术论坛。' y5 s! d6 m* I: K( f' o
- 添加文件系统DFS-EFSL:把著名的FAT文件系统实现EFSL引入到DFS中,同时对它的不足进行修改:重写文件系统缓冲层;添加多扇区读写支持。(我们自己实现的DFS-FAT还在进行压力测试中,测试完毕后也会放出)
8 _7 N, U* ^4 Oarm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,- STM32固件库更新到2.0.3patch1
8 I% {0 g0 P4 |; U; ]$ {- 我们只做简洁、实用、专业的嵌入式开发技术论坛。嵌入式开发联盟+ f3 O/ s& Z+ r" q
RT-Thread/STM32F103VB 0.3.0 beta2更改记录: 2 \9 e5 u; ~) Y" h/ ]) v
- 修正message queue创建时内存分配的问题。 嵌入式开发联盟8 }/ C* @2 d) ]1 ?" C1 R, A- O3 [
- 修正pendsv异常优先级过高的问题。
7 m+ G7 _/ \4 R0 P4 z" X- 更改rt_console_puts为rt_hw_console_output,并由各个board自行实现,如果设置rt_hw_console_output为空函数,那么rt_kprintf将自动不起作用。
0 {& w2 t# a& a L$ f' X' K, A- 设备驱动框架中添加两个回调函数,设置回调函数的接口为:
, W% ^$ G% W; Z6 w. r1 Twww.mcuos.com * rt_device_set_rx_indicate,rx_indicate回调函数在设备驱动收到数据时调用,以通知上层应用有多少字节大小的数据已经接收(上层应用此时可以主动调用rt_device_read进行接收)。
( Z, r7 W0 u% c1 ?* J& j- 我们只做简洁、实用、专业的嵌入式开发技术论坛。 * rt_device_set_tx_complete,tx_complete回调函数在驱动设备完成数据写入时调用,以通知上层应用数据已经写入完成(如果数据是动态申请的,可以在此时释放)。
2 |, y; Q3 k1 M! Y) A% N- 我们只做简洁、实用、专业的嵌入式开发技术论坛。设备驱动框架内部相关调用实现: 嵌入式开发联盟. u6 z& F& K8 p# B) I0 j
* rt_device_open/close,如果驱动设备是DMA接收模式,那么调用open将打开DMA开始进行接收,close则关闭DMA。
/ e* i9 P) U& W8 Z+ w! K. M7 T ^# m嵌入式开发联盟 * rt_device_read,设备驱动从设备中读取(轮询模式),或从已经接收到的buffer中读取(接收中断模式、DMA接收模式) www.mcuos.com! O7 j, u3 e( S5 o Q
* rt_device_write,设备驱动往设备中写入数据(轮询模式),或挂接到链表中,等待DMA传输完成(如果当前DMA没使能,那么使能DMA直接进行发送)。
, }% w( A1 Q: A7 W$ Z& t/ A! z- 我们只做简洁、实用、专业的嵌入式开发技术论坛。- STM32串口设备,实现在libcpu\stm32\serial.c中,发送支持轮询,DMA发送;接收支持轮询,中断接收,DMA接收等方式。 - 我们只做简洁、实用、专业的嵌入式开发技术论坛。( T8 X- X. y' l ~6 J- t' Z2 f! O
* 串口设备的注册在bsp\stm32f103vb\usart.c中,当前默认注册为
8 h2 Z" C0 K' B: W* m9 f) v9 Lwww.mcuos.com + uart1, 轮询发送,中断接收, 中断接收通知指向finsh,rt_hw_console_output则轮询发送(不产生中断)。
?4 y" }! H) o m* B. I; j- 我们只做简洁、实用、专业的嵌入式开发技术论坛。 + uart2, DMA接收,轮询发送
! u2 R- c. i0 g* C0 G* h + uart3, 中断接收,DMA发送
( a# Y. L) Z( a' `' g% s我们只做简洁、专业的嵌入式开发技术论坛。- bsp\stm32f103vb\application.c是几个串口设备的使用例子。
* e5 E1 y! f- \5 O8 @arm,linux,winbond,nuvoton,w90p710,w90n745,开源,嵌入式,操作系统,嵌入式开发,嵌入式联盟,linux,ecos,uclinux,t-kernel,freeos,rtems,ucos,skyeye,. l6 J0 H; o _) P6 o$ u$ q
简而言之,RT-Thread/STM32F103VB 0.3.0 beta3是一个RTOS + Shell(finsh) + VFS(DFS + EFSL(FAT16/32)),并且文件系统已在万利STM32开发板SPI SDCard上验证通过(大范围的SD/MMC卡还有待验证)。 www.mcuos.com/ j# u0 c1 x' U" g
我们只做简洁、专业的嵌入式开发技术论坛。- N, C8 W7 V6 L* K9 B
有用的链接:
$ A" C1 R+ X: m; `9 r4 K6 [! S- 我们只做简洁、实用、专业的嵌入式开发技术论坛。RT-Thread官方网站: http://www.rt-thread.org嵌入式开发联盟 [& u7 u; {% o$ C- b9 L$ _/ T2 \' L5 ~6 G
RT-Thread官方论坛: http://www.rt-thread.org/phpbb/嵌入式开发联盟/ }- T( C6 l- a+ L
内核API在线文档: http://www.rt-thread.org/rt-thread/rttdoc_0_2_3
2 P5 `/ k7 Q3 Z1 d6 z2 R- 我们只做简洁、实用、专业的嵌入式开发技术论坛。RT-Thread编程指南(未完成): http://www.rt-thread.org/phpbb/viewtopic.php?f=2&t=195嵌入式开发联盟" q0 j* ~+ [$ X) W
嵌入式开发联盟- P" e0 b. S" \; ~9 X
到目前为止,不管您是使用RealView MDK还是IAR EWARM,您都可以尝试使用RT-Thread。
|