一个新的开源RTOS.

[复制链接]
8287|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, 下载次数: 166

红豆大白兔 发表于 2012-11-5 11:10 | 显示全部楼层
必须顶~! 中文注释给像我这样的菜鸟很大的帮助
lixiang69 发表于 2012-11-5 12:04 | 显示全部楼层
OS功能可以少点,但一定要做的稳定!不能有致命的bug.
午夜霓虹 发表于 2012-11-5 12:28 | 显示全部楼层
呵呵  顶一个
figo20042005 发表于 2012-11-5 13:50 | 显示全部楼层
这个是自己写的?
 楼主| 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类似了)。
 楼主| yanjinbin 发表于 2012-11-5 17:34 | 显示全部楼层
:'(,这里没人玩操作系统啊。
清风致影 发表于 2012-11-5 17:42 | 显示全部楼层
对 系统的稳定是最重要的 其次就丰富功能
西门看雪 发表于 2012-11-5 21:52 | 显示全部楼层
LZ.还是写一个类UNIX的操作系统吧(主要是解决一些现下linux的关键缺点,能做成VxWorks这样优秀的系统更好),不然重写各种驱动程序各种库各种编译工具会累死人的。
Cortex-M0 发表于 2012-11-6 02:50 | 显示全部楼层
写的不错,顶一个
 楼主| 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));
       这样就没有体现优先级抢占特点.
看来,对于优先级查表方式+轮转调度+抢占调用看来是不能兼容了。。。
jiabin1024 发表于 2012-11-6 09:00 | 显示全部楼层
LZ强悍,自己写系统:victory:
mcu5i51 发表于 2012-11-6 09:36 | 显示全部楼层
顶LZ,标记
Ryanhsiung 发表于 2012-11-8 13:12 | 显示全部楼层
Mark,这个要顶
kpywe 发表于 2012-11-8 13:46 | 显示全部楼层
经得住考验不,汽车电子上有使用案例不,安全、可靠性能怎么样?
weikezhi 发表于 2012-11-8 15:45 | 显示全部楼层
 楼主| yanjinbin 发表于 2012-11-8 17:37 | 显示全部楼层
经得住考验不,汽车电子上有使用案例不,安全、可靠性能怎么样?
kpywe 发表于 2012-11-8 13:46
我本职就是做汽车电子的。
这个YOS设计一是在这上面应用的,任务设计方案都设想好了。
现在YOS只完成调度,还需要添加一些特性(互斥,信号量,队列),完成这个步骤。
我会提供一个任务应用案例的 。
 楼主| yanjinbin 发表于 2012-11-8 18:39 | 显示全部楼层
欢迎大家,下载试用。
也请使用过的同学,贡献一点试用心得。
 楼主| yanjinbin 发表于 2012-11-15 19:02 | 显示全部楼层
本次修改完善了定时器,信号量,互斥锁,事件,消息队列,等内核元素。
欢迎大家下载。
tianli1980 发表于 2012-11-15 21:20 | 显示全部楼层
这个有实例,不错,下载学习。感谢分享
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

50

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部