查看: 1929|回复: 10
|
我想学RTOS
[复制链接]
|
|
发表于 26-4-2007 06:33 PM
|
显示全部楼层
原帖由 ychenfei 于 26-4-2007 02:16 PM 发表
何从下手??
IDE那里下载~~
你想学写rtos还是用rtos??
如果是想学用rtos,internet有很多free source可以下载. |
|
|
|
|
|
|
|
楼主 |
发表于 29-4-2007 01:10 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 29-4-2007 05:42 PM
|
显示全部楼层
回复 #3 ychenfei 的帖子
较出名的是Salvo RTOS。
我的Project不用RTOS,几复杂都尽量不要用RTOS。。。
除非你的MCU是ARM, 很够力那种。
RTOS, 如有bug,可能不是那么容易debug的。。。 |
|
|
|
|
|
|
|
发表于 30-4-2007 08:19 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 1-5-2007 09:24 AM
|
显示全部楼层
原帖由 GeMan 于 30-4-2007 08:19 PM 发表
请问, RTOS 是 什么?
RTOS = Real-Time Operating System
用在MCU的Multitask kernel。
好像手机, PDA里就有用很多。
用RTOS会吃很多MCU的RAM,MCU最少要1~2K的RAM,不然很难跑,或有限制。
CCS C也有RTOS build in, 但很少人用。
我不用RTOS,我用自己的Round-Robin Time Scheduling,小心设计,跑起来很像“多工”multitask,但不是,而且是有限制的。
比如:LED1 闪10Hz, LED2 闪3Hz, 中间又要读Input button, USART 等等
http://zh.wikipedia.org/wiki/%E5%AE%9E%E6%97%B6%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F
实时操作系统维基百科,自由的百科全书即時作業系統(Real-time operating system, RTOS)又稱實時作業系統,它會按照排序執行、管理系統資源,並為開發應用程式提供一致的基礎。
通常都會有最基礎的內核,以及外加上去的模組,像是檔案系統、網路協定堆疊和應用、裝置驅動程式…等模組。
RTOS的內核通常會有:
RTOS舉隅 開放原始碼非開放原始碼 |
|
|
|
|
|
|
|
楼主 |
发表于 1-5-2007 12:52 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 8-5-2007 06:09 PM
|
显示全部楼层
回复 #7 ychenfei 的帖子
我也还在学uCOSII,真的是看到七窍只通了六窍。 |
|
|
|
|
|
|
|
发表于 8-5-2007 07:41 PM
|
显示全部楼层
原帖由 rothmans 于 8-5-2007 06:09 PM 发表
我也还在学uCOSII,真的是看到七窍只通了六窍。
一窍不通, 哈哈。其实也是很想学rtos, 不过有时间先。
现在programming方式也是和pic斑竹的一样。Round-Robin Time Scheduling。
看起来也是很想multitasking..lol. |
|
|
|
|
|
|
|
发表于 9-5-2007 10:03 AM
|
显示全部楼层
原帖由 fritlizt 于 8-5-2007 07:41 PM 发表
一窍不通, 哈哈。其实也是很想学rtos, 不过有时间先。
现在programming方式也是和pic斑竹的一样。Round-Robin Time Scheduling。
看起来也是很想multitasking..lol.
你真棒!你说你用的是 Round-Robin Time Scheduling,类似于 Multitasking,那你有没有使用什么 OS 的协助呢?你是怎么办到的。 |
|
|
|
|
|
|
|
发表于 9-5-2007 12:17 PM
|
显示全部楼层
原帖由 rothmans 于 9-5-2007 10:03 AM 发表
你真棒!你说你用的是 Round-Robin Time Scheduling,类似于 Multitasking,那你有没有使用什么 OS 的协助呢?你是怎么办到的。
没有用os.基本上离不开timer.用一个timer来schedule你所有的task.
比如说你要flash led1 1Hz, led2 2 Hz,同时间读取input1,如果input1有反应就亮led3.要怎样办到呢?
我是用timer generate interrupt.let say 2ms一次。 如果led1要闪1hz.那就用counter算每500ms换state 一次。 如此类推。就可以做到类是multitask的结果。
比较不好的地方是, 越多task,你的program会越便越复杂。
写过一个round robin time scheduling program. flashing led,checking keypad input, interface with hyperterminal, refresh lcd, soft real time clock. 这个就有点难写。可能我level 不够。哈哈。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|