打印

一个新的开源RTOS.

[复制链接]
7149|40
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yanjinbin|  楼主 | 2012-11-5 10:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yanjinbin 于 2012-11-23 00:40 编辑

嵌入式实时操作系统YOS.
系统特点如下:
YOS是专为嵌入式实时系统设计,其具有高效率、小尺寸、以及高适应性等特点。
功能特点:
  a.支持抢占式和轮转调度内核。
  b.高效的上下文切换方式。
  c.支持各种不同的CPU架构。
  d.静态结构,一切都在编译时静态确定。
  e.丰富的资源,支持系统定时器,信号量,互斥锁,事件,消息队列。

二.典型应用方案
   a.汽车电子,例如:仪表,控制器,GPS设备。
   b.工业控制.
   c.消费类电子产品。
   d.机器人应用。
   e.学习研究操作系统技术.


本系统使用中文注释,任何产生异议的地方都写好注释.希望对大家有所帮助。使用说明:
我自己有两块开发板,一块是STM32F107芯片的一块是STM32F205芯片的。
所以手头STM32F1xx的芯片开发板,可参考:
YOS_STM32\STM32F10x\STM32F107\STM32F107_PKT\Project\test1\EWARMv6.3 工程.
所以手头STM32F2xx的芯片,可参考:
YOS_STM32\STM32F2xx\STM32F205\STM32F205_ESG\Project\test1\EWARMv6.3工程.
编译器使用的是IAR6.3.

2012-11-21 新增加:
1.通用的中断处理,参考目录下的[中断处理]项目。
2.通用的外设驱动处理,参考目录下的[串口驱动]项目。

2012-11-23 新增加:
1.任务使用率计算,参考目录下的[CPU使用率]项目。

YOS.rar

1.28 MB

沙发
红豆大白兔| | 2012-11-5 11:10 | 只看该作者
必须顶~! 中文注释给像我这样的菜鸟很大的帮助

使用特权

评论回复
板凳
lixiang69| | 2012-11-5 12:04 | 只看该作者
OS功能可以少点,但一定要做的稳定!不能有致命的bug.

使用特权

评论回复
地板
午夜霓虹| | 2012-11-5 12:28 | 只看该作者
呵呵  顶一个

使用特权

评论回复
5
figo20042005| | 2012-11-5 13:50 | 只看该作者
这个是自己写的?

使用特权

评论回复
6
yanjinbin|  楼主 | 2012-11-5 14:13 | 只看该作者
是自己写的。
我自己有两块开发板,一块是STM32F107芯片的一块是STM32F205芯片的。
所以手头STM32F1xx的芯片开发板,可参考:
YOS_STM32\STM32F10x\STM32F107\STM32F107_PKT\Project\test1\EWARMv6.3 工程.
所以手头STM32F2xx的芯片,可参考:
YOS_STM32\STM32F2xx\STM32F205\STM32F205_ESG\Project\test1\EWARMv6.3工程.
编译器使用的是IAR6.3.

欢迎各位下载测试,现在只是初步完成了调度部分。
优先级调度算法:现在是简单的循环方式,下步将改成查表的方式(这样调度部分就和RT-Thread类似了)。

使用特权

评论回复
7
yanjinbin|  楼主 | 2012-11-5 17:34 | 只看该作者
:'(,这里没人玩操作系统啊。

使用特权

评论回复
8
清风致影| | 2012-11-5 17:42 | 只看该作者
对 系统的稳定是最重要的 其次就丰富功能

使用特权

评论回复
9
西门看雪| | 2012-11-5 21:52 | 只看该作者
LZ.还是写一个类UNIX的操作系统吧(主要是解决一些现下linux的关键缺点,能做成VxWorks这样优秀的系统更好),不然重写各种驱动程序各种库各种编译工具会累死人的。

使用特权

评论回复
10
Cortex-M0| | 2012-11-6 02:50 | 只看该作者
写的不错,顶一个

使用特权

评论回复
11
yanjinbin|  楼主 | 2012-11-6 08:52 | 只看该作者
本帖最后由 yanjinbin 于 2012-11-8 18:58 编辑

发现Rt-Thread抢占调度支持并不好。
比如:使用多个线程等待一个信号,它只是简单的添加到链表,代入下:
       rt_ipc_list_suspend(&(sem->parent.suspend_thread),
                                thread, sem->parent.parent.flag);
        获取信号后,唤醒等待信号,则只是从链表中取一项:
       rt_ipc_list_resume(&(sem->parent.suspend_thread));
       这样就没有体现优先级抢占特点.
看来,对于优先级查表方式+轮转调度+抢占调用看来是不能兼容了。。。

使用特权

评论回复
12
jiabin1024| | 2012-11-6 09:00 | 只看该作者
LZ强悍,自己写系统:victory:

使用特权

评论回复
13
mcu5i51| | 2012-11-6 09:36 | 只看该作者
顶LZ,标记

使用特权

评论回复
14
Ryanhsiung| | 2012-11-8 13:12 | 只看该作者
Mark,这个要顶

使用特权

评论回复
15
kpywe| | 2012-11-8 13:46 | 只看该作者
经得住考验不,汽车电子上有使用案例不,安全、可靠性能怎么样?

使用特权

评论回复
16
weikezhi| | 2012-11-8 15:45 | 只看该作者
强悍

使用特权

评论回复
17
yanjinbin|  楼主 | 2012-11-8 17:37 | 只看该作者
经得住考验不,汽车电子上有使用案例不,安全、可靠性能怎么样?
kpywe 发表于 2012-11-8 13:46
我本职就是做汽车电子的。
这个YOS设计一是在这上面应用的,任务设计方案都设想好了。
现在YOS只完成调度,还需要添加一些特性(互斥,信号量,队列),完成这个步骤。
我会提供一个任务应用案例的 。

使用特权

评论回复
18
yanjinbin|  楼主 | 2012-11-8 18:39 | 只看该作者
欢迎大家,下载试用。
也请使用过的同学,贡献一点试用心得。

使用特权

评论回复
19
yanjinbin|  楼主 | 2012-11-15 19:02 | 只看该作者
本次修改完善了定时器,信号量,互斥锁,事件,消息队列,等内核元素。
欢迎大家下载。

使用特权

评论回复
20
tianli1980| | 2012-11-15 21:20 | 只看该作者
这个有实例,不错,下载学习。感谢分享

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

50

帖子

0

粉丝