搜索
bottom↓
回复: 152

感谢Lisuwei《简易多任务OS设计》一文,我也写出了我的RaysRTOS(光芒实时系统),全抢

[复制链接]

出0入0汤圆

发表于 2010-7-14 09:50:37 | 显示全部楼层 |阅读模式
首先上51版本
keil3编译版本,89c52单片机运行,仿真proteus7.5sp3 点击此处下载 ourdev_567612UF5VUQ.rar(文件大小:59K) (原文件名:RaysRTOS-89C52keil.rar)
由于是优先级抢占式调度,建立了两个任务,占用ram稍微较大,flash占用还可以,占用情况如下:
Program Size: data=92.0 xdata=0 code=950
下面是系统函数声明
/*--------------------------------------------------------------------------------------+
|系统函数声明    |
+---------------------------------------------------------------------------------------*/
void RAYS_TaskCreate(void (*Task)(void),INT8U *Stack,INT8U t_Prio);//创建任务
void RAYS_Start(void); //系统启动函数
void RAYS_TaskResume(INT8U prio);   //任务恢复函数
void RAYS_TaskSuspend(INT8U prio); //任务挂起函数
void OSSched(void); //汇编调度函数
void RAYS_TimeDelay(INT16U ticks);  //任务延时函数
void Idle_Task(void);
void RAYS_Init(void); //系统初始化
void TickIntHook(void);  //系统节拍钩子函数



再上avr版本
用winavr20060421编译,ide选择的是Eclipse,也可以用winavr编译,仿真同样是proteus7.5sp3,调度在16兆只用10us(avrstudio软测)
avr-gcc编译器,Eclipse环境ourdev_567624QETN34.rar(文件大小:47K) (原文件名:RaysRTOS-Eclipse.rar)
avrstudio环境ourdev_567625AL5P0E.rar(文件大小:35K) (原文件名:RaysRTOS-avrstudioMega88.rar)
单片机型号分别测试了mega128 和mega8和mega88,都可以运行,但程序如果大于64k的话调度部分pc需要改动一下
由于是优先级抢占式调度,建立了3个任务,占用情况如下:

Program:    1178 bytes
(.text + .data + .bootloader)

Data:        225 bytes  
(.data + .bss + .noinit)
默认优先级0s
/*--------------------------------------------------------------------------------------+
|系统函数声明    |
+---------------------------------------------------------------------------------------*/
void RAYS_TaskCreate(void (*Task)(void),INT8U *Stack,INT8U t_Prio);//创建任务
void RAYS_Start(void); //系统启动函数
void RAYS_TaskResume(INT8U prio);   //任务恢复函数
void RAYS_TaskSuspend(INT8U prio); //任务挂起函数
void OSSched(void); //汇编调度函数
void RAYS_TimeDelay(INT16U ticks);  //任务延时函数
void Idle_Task(void);
void RAYS_Init(void); //系统初始化
void TickIntHook(void);  //系统节拍钩子函数


最后来stm8s105c6版本,本人手上只有这个小小的discovery板子,100块买的,所以先拿它做的测试,很稳定!

(原文件名:ourdev_567250APXFN6.jpg)
编译器选择的是IAR,因为它里边支持c语言是用的模拟寄存器!!!!stvd好像用的是堆栈,导致在stvd上做系统几乎不可能
stm8工程,是stm8s105c6版本,仿真是硬件仿真,因为proteus不支持stm8: 点击此处下载 ourdev_567629MGG77S.rar(文件大小:44K) (原文件名:RaysRTOS-STM8IAR.rar)

flash和ram占用情况如下:
  941 bytes of readonly  code memory  
  132 bytes of readonly  data memory  
  499 bytes of readwrite data memory  
我感觉ram占用有点大,后来我编写了个什么都没有的main函数,ram占用是272B,所以本系统ram占用应该是499-272=227B
优化级别选则balance.
/*--------------------------------------------------------------------------------------+
|系统函数声明    |
+---------------------------------------------------------------------------------------*/
void RAYS_TaskCreate(void (*Task)(void),INT8U *Stack,INT8U t_Prio);//创建任务
void RAYS_Start(void); //系统启动函数
void RAYS_TaskResume(INT8U prio);   //任务恢复函数
void RAYS_TaskSuspend(INT8U prio); //任务挂起函数
void OSSched(void); //汇编调度函数
void RAYS_TimeDelay(INT16U ticks);  //任务延时函数
void Idle_Task(void);
void RAYS_Init(void); //系统初始化
void TickIntHook(void);  //系统节拍钩子函数


欢迎大家测试,我是新手,难免有很多bug,三种版本90%代码都一样,与cpu最相关的RaysRTOS_ASM文件差异较大,不过格式也一样.
我的qq 771992497
最后还想来个版本,就是lisuwei的那个版本的修改版,2440平台,因为它的那个版本没有初始化mmu,所以导致只能在nor里运行,这个修改版是在ram或者nand里边运行的,和正常的2440_test什么的程序一样,通过boot下载到nand 0x000地址或者ram的0x30000000地址都可以运行!!!
考虑到开发2440习惯,有人熟悉ads,有人喜欢keil4,所以我修改成了两个版本,都可以跑,希望大家测试
ads1.2版本工程ourdev_567630TCEFTQ.rar(文件大小:51K) (原文件名:2440os.rar)
keil4版本工程ourdev_567631AQ74MT.rar(文件大小:324K) (原文件名:2440os-rvmdk.rar)

最后再感谢lisuwei把我带入rtos大门,还要感谢上官兄,没他的代码参考我弄不出stm8汇编来。

出0入0汤圆

发表于 2010-7-14 09:59:09 | 显示全部楼层
hao....

出0入0汤圆

发表于 2010-7-14 09:59:16 | 显示全部楼层
沙发,顶

出0入0汤圆

 楼主| 发表于 2010-7-14 10:03:14 | 显示全部楼层
希望测试的都回个帖,有其他热门的单片机也推荐一下,我做做移植
现阶段先做内核,内核稳定后再做任务间通信。
其实我做了几个课题都没怎么用信号量,消息队列啦,大都是任务间一个触发信号。

出0入0汤圆

发表于 2010-7-14 10:51:53 | 显示全部楼层
mark

出50入4汤圆

发表于 2010-7-14 12:24:18 | 显示全部楼层
简易多任务OS设计ourdev_567676O5L8Z6.pdf(文件大小:374K) (原文件名:简易多任务OS设计.pdf)

出0入0汤圆

发表于 2010-7-14 12:41:19 | 显示全部楼层

出0入0汤圆

发表于 2010-7-14 13:11:20 | 显示全部楼层
回复【楼主位】avr-arm 光芒
-----------------------------------------------------------------------

dddddddddddddddddddddddddddddddddddddddd

出0入0汤圆

发表于 2010-7-14 13:21:29 | 显示全部楼层
mark!

出0入0汤圆

发表于 2010-7-14 13:48:14 | 显示全部楼层
厉害学习了!!!

出0入0汤圆

发表于 2010-7-14 14:07:24 | 显示全部楼层
记号~~

出0入0汤圆

发表于 2010-7-14 14:10:02 | 显示全部楼层
哇,越来越多的OS了!

出0入0汤圆

发表于 2010-7-14 14:27:18 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-14 14:28:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-14 16:19:04 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-7-14 16:56:35 | 显示全部楼层
不错,帮顶

出0入0汤圆

发表于 2010-7-15 09:57:29 | 显示全部楼层
thank you very much.

出0入0汤圆

发表于 2010-7-15 18:05:00 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-7-19 10:24:36 | 显示全部楼层
自己顶!

出0入0汤圆

发表于 2010-7-20 20:12:26 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-8-16 15:02:19 | 显示全部楼层
Mark!

出0入0汤圆

发表于 2010-8-18 17:05:48 | 显示全部楼层
MARK

出0入0汤圆

发表于 2010-8-18 17:22:13 | 显示全部楼层
真不会这个,帮顶

出0入0汤圆

发表于 2010-9-2 16:29:22 | 显示全部楼层
不错,好好的学习!!!!!!!!!

出0入0汤圆

发表于 2010-9-4 18:00:12 | 显示全部楼层
good!  学习学习

出0入0汤圆

发表于 2010-9-5 18:50:24 | 显示全部楼层
顶一个

出0入0汤圆

发表于 2010-9-5 21:28:17 | 显示全部楼层
学习了~~~~~~~

出5入0汤圆

发表于 2010-9-6 17:53:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-6 20:05:53 | 显示全部楼层
学习

出5入8汤圆

发表于 2010-9-6 21:04:02 | 显示全部楼层
学习!

出0入0汤圆

发表于 2010-9-9 23:23:58 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2010-9-10 10:11:28 | 显示全部楼层
再接再厉

这两天正为USB头疼,初步方案是stm32,后来改为stm8+ch375,过后再慢慢道来原因

出0入0汤圆

发表于 2010-9-11 20:01:53 | 显示全部楼层
简易多任务OS设计
相当不错@

出0入0汤圆

发表于 2010-9-11 21:56:20 | 显示全部楼层
学习下

出0入0汤圆

发表于 2010-9-11 22:37:56 | 显示全部楼层
很好!

出0入0汤圆

发表于 2010-9-12 00:12:04 | 显示全部楼层
写OS的DX,俺都很佩服,膜拜一下!

出0入0汤圆

发表于 2010-9-18 07:16:25 | 显示全部楼层
学习下

出0入0汤圆

发表于 2010-9-18 22:23:33 | 显示全部楼层
mark学习

出0入0汤圆

发表于 2010-9-19 07:15:02 | 显示全部楼层
好东西!顶一下!

出0入0汤圆

发表于 2010-9-19 08:01:21 | 显示全部楼层
mark学习一下

出0入0汤圆

发表于 2010-9-19 08:43:15 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-9-19 15:13:22 | 显示全部楼层
mark

出0入96汤圆

发表于 2010-9-19 16:09:56 | 显示全部楼层
记号一下

出0入0汤圆

发表于 2010-9-19 16:13:09 | 显示全部楼层
Mark

出0入0汤圆

发表于 2010-10-22 15:55:35 | 显示全部楼层
很厉害啊!

出0入264汤圆

发表于 2010-10-22 18:59:41 | 显示全部楼层
谢谢。

出0入0汤圆

发表于 2011-2-3 20:35:14 | 显示全部楼层
GOOD

出0入0汤圆

发表于 2011-2-3 20:41:04 | 显示全部楼层
mark!

出0入0汤圆

发表于 2011-2-3 20:47:09 | 显示全部楼层
支持

出0入0汤圆

发表于 2011-2-3 20:53:51 | 显示全部楼层
回复【3楼】avr-arm  光芒电子
希望测试的都回个帖,有其他热门的单片机也推荐一下,我做做移植
现阶段先做内核,内核稳定后再做任务间通信。
其实我做了几个课题都没怎么用信号量,消息队列啦,大都是任务间一个触发信号。
-----------------------------------------------------------------------

谢谢分享!楼主可以考虑移植到新唐M051上,这个应该会比较热的了

出0入0汤圆

发表于 2011-2-3 23:53:05 | 显示全部楼层
记号!

出0入0汤圆

发表于 2011-2-4 08:33:28 | 显示全部楼层
先做个记号

出0入0汤圆

发表于 2011-2-4 11:31:09 | 显示全部楼层
谢谢这个以后用的上

出0入0汤圆

发表于 2011-2-4 12:16:05 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-9 15:19:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-12 23:45:04 | 显示全部楼层
MARK 好东西啊 支持楼主

出0入0汤圆

发表于 2011-2-13 10:49:37 | 显示全部楼层
回复【楼主位】avr-arm 光芒电子
-----------------------------------------------------------------------

非常感谢,好好学习下,操作系统

出0入0汤圆

发表于 2011-2-13 13:17:02 | 显示全部楼层
thx.......

出0入0汤圆

发表于 2011-2-13 13:18:28 | 显示全部楼层
mark

出0入0汤圆

 楼主| 发表于 2011-2-13 15:54:18 | 显示全部楼层
小弟最近忙于开发板设计与加工、包装等各方面打理,又天天上班,时间好紧
为了让系统再模块话一点,我抽功夫将源码动动手术,将三种平台分别写成CPU核心代码+公共C源码形式
现在变成了一下文件目录,取了个拙名0.3版本
RaySRTOS(总体文件夹)
                     |Kernel(文件夹)|RaySRTOS.c 系统平台无关主文件
                     |                |RaySRTOS.h 系统平台无关头文件
                     |
                     |CPU(文件夹)   |8051_KEIL(文件夹)|CPU.c           特定平台CPU相关c文件
                     |                |                 |CPU_ASM.asm     特定平台调度代码
                     |                |                 |CPU_CFG.h       特定平台数据定义以及系统配置
                     |                |
                     |                |AVR_GCC(文件夹)  |......
                     |
                     |
                     |
                     |DEMO(文件夹)    |各种平台演示代码工程
好了,上传完毕
0.3版本RaySRTOSourdev_615786FZ5OP7.rar(文件大小:143K) (原文件名:RaySRTOS0.3版本.rar)

出0入0汤圆

发表于 2011-2-13 21:18:29 | 显示全部楼层
我也想学习系统

出0入85汤圆

发表于 2011-2-14 09:08:02 | 显示全部楼层
不错

出0入0汤圆

发表于 2011-2-14 09:17:59 | 显示全部楼层
学习学习

出0入0汤圆

发表于 2011-2-14 09:20:44 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-2-14 09:59:25 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-3-27 08:44:21 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-24 19:21:36 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-24 19:30:22 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-24 20:08:41 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-6-24 21:22:42 | 显示全部楼层
wo。。。。。牛

出0入0汤圆

发表于 2011-6-24 21:30:17 | 显示全部楼层
但不知道怎么用啊。。不知道适不适合平时用

出0入0汤圆

发表于 2011-6-24 21:36:24 | 显示全部楼层
标记!!!!!

出0入0汤圆

发表于 2011-6-24 21:47:49 | 显示全部楼层
学习下

出0入0汤圆

发表于 2011-6-24 22:00:19 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-6-24 22:16:41 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-6-24 22:20:46 | 显示全部楼层
不错!正在学习OS

出0入0汤圆

发表于 2011-6-24 22:25:36 | 显示全部楼层
有时间学习下。

出0入0汤圆

发表于 2011-6-24 23:00:33 | 显示全部楼层
这个一定顶!

出0入0汤圆

发表于 2011-7-6 20:30:53 | 显示全部楼层
学习

出0入0汤圆

发表于 2011-7-6 20:44:44 | 显示全部楼层
标记一下

出0入0汤圆

发表于 2011-7-6 21:49:29 | 显示全部楼层
不太懂...有时间再学习下....顶

出0入4汤圆

发表于 2011-7-6 21:58:01 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-6 22:13:40 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-7 00:58:41 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-7 01:25:17 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-7 08:17:51 | 显示全部楼层
mark!好东西

出0入0汤圆

发表于 2011-7-7 08:30:00 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-7-7 08:55:56 | 显示全部楼层
好东西要顶...

出0入0汤圆

发表于 2011-7-7 10:02:34 | 显示全部楼层
mark 标记

出0入0汤圆

发表于 2011-7-7 12:42:55 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-7 13:38:56 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-7-7 21:41:09 | 显示全部楼层
MARK

出0入0汤圆

发表于 2011-7-7 22:10:17 | 显示全部楼层
mark!!

出0入0汤圆

发表于 2011-7-8 12:56:58 | 显示全部楼层
Mark

出0入0汤圆

发表于 2011-7-8 12:57:13 | 显示全部楼层
Mark

出0入0汤圆

发表于 2011-7-8 13:57:05 | 显示全部楼层
mark==

出0入0汤圆

发表于 2011-10-30 08:49:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-10-30 20:43:29 | 显示全部楼层
真好,有能耐的青年

出0入0汤圆

发表于 2011-10-30 22:45:26 | 显示全部楼层
eeee

出0入0汤圆

发表于 2011-11-1 14:22:55 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-29 10:15

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表