avr-arm 发表于 2010-7-14 09:50:37

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

首先上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块买的,所以先拿它做的测试,很稳定!
http://cache.amobbs.com/bbs_upload782111/files_30/ourdev_567627NGBB8L.jpg
(原文件名:ourdev_567250APXFN6.jpg)
编译器选择的是IAR,因为它里边支持c语言是用的模拟寄存器!!!!stvd好像用的是堆栈,导致在stvd上做系统几乎不可能
stm8工程,是stm8s105c6版本,仿真是硬件仿真,因为proteus不支持stm8: 点击此处下载 ourdev_567629MGG77S.rar(文件大小:44K) (原文件名:RaysRTOS-STM8IAR.rar)

flash和ram占用情况如下:
941 bytes of readonlycode memory
132 bytes of readonlydata 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汇编来。

Excellence 发表于 2010-7-14 09:59:09

hao....

wenfeiexe 发表于 2010-7-14 09:59:16

沙发,顶

avr-arm 发表于 2010-7-14 10:03:14

希望测试的都回个帖,有其他热门的单片机也推荐一下,我做做移植
现阶段先做内核,内核稳定后再做任务间通信。
其实我做了几个课题都没怎么用信号量,消息队列啦,大都是任务间一个触发信号。

aspenlin 发表于 2010-7-14 10:51:53

mark

zhuyi25762 发表于 2010-7-14 12:24:18

简易多任务OS设计ourdev_567676O5L8Z6.pdf(文件大小:374K) (原文件名:简易多任务OS设计.pdf)

kevintang 发表于 2010-7-14 12:41:19

hongyancl 发表于 2010-7-14 13:11:20

回复【楼主位】avr-arm 光芒
-----------------------------------------------------------------------

dddddddddddddddddddddddddddddddddddddddd

charlie2008 发表于 2010-7-14 13:21:29

mark!

zhaojun_xf 发表于 2010-7-14 13:48:14

厉害学习了!!!

zbjzxc 发表于 2010-7-14 14:07:24

记号~~

C.Ronaldo 发表于 2010-7-14 14:10:02

哇,越来越多的OS了!

xjf20072608 发表于 2010-7-14 14:27:18

mark

yusufu 发表于 2010-7-14 14:28:22

mark

farmer 发表于 2010-7-14 16:19:04

mark

Etual 发表于 2010-7-14 16:56:35

不错,帮顶

shouqiang_zhang 发表于 2010-7-15 09:57:29

thank you very much.

akuei2 发表于 2010-7-15 18:05:00

mark

avr-arm 发表于 2010-7-19 10:24:36

自己顶!

xuyqhd 发表于 2010-7-20 20:12:26

mark

Swallow 发表于 2010-8-16 15:02:19

Mark!

sn2101 发表于 2010-8-18 17:05:48

MARK

mcu2007 发表于 2010-8-18 17:22:13

真不会这个,帮顶

hpdell 发表于 2010-9-2 16:29:22

不错,好好的学习!!!!!!!!!

CHENXIAOTIAN 发表于 2010-9-4 18:00:12

good!学习学习

wohao02 发表于 2010-9-5 18:50:24

顶一个

yikewk 发表于 2010-9-5 21:28:17

学习了~~~~~~~

gnail092 发表于 2010-9-6 17:53:41

mark

yunhuisong 发表于 2010-9-6 20:05:53

学习

anning 发表于 2010-9-6 21:04:02

学习!

zhames 发表于 2010-9-9 23:23:58

mark

avr-arm 发表于 2010-9-10 10:11:28

再接再厉
./emotion/em093.gif
这两天正为USB头疼,初步方案是stm32,后来改为stm8+ch375,过后再慢慢道来原因

zzjjhh250 发表于 2010-9-11 20:01:53

简易多任务OS设计
相当不错@

shangxf 发表于 2010-9-11 21:56:20

学习下

xiaowei0588 发表于 2010-9-11 22:37:56

很好!

damoplus 发表于 2010-9-12 00:12:04

写OS的DX,俺都很佩服,膜拜一下!

myhonour 发表于 2010-9-18 07:16:25

学习下

hecb999 发表于 2010-9-18 22:23:33

mark学习

billjing 发表于 2010-9-19 07:15:02

好东西!顶一下!

liguohx 发表于 2010-9-19 08:01:21

mark学习一下

swustlx86 发表于 2010-9-19 08:43:15

mark

PXJ_520 发表于 2010-9-19 15:13:22

mark

gallle 发表于 2010-9-19 16:09:56

记号一下

kenluo 发表于 2010-9-19 16:13:09

Mark

yanrz 发表于 2010-10-22 15:55:35

很厉害啊!

mcu_lover 发表于 2010-10-22 18:59:41

谢谢。

wnstony 发表于 2011-2-3 20:35:14

GOOD

lyzhangxiang 发表于 2011-2-3 20:41:04

mark!

rafd 发表于 2011-2-3 20:47:09

支持

greatwall2 发表于 2011-2-3 20:53:51

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

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

rockgoogle 发表于 2011-2-3 23:53:05

记号!

hizzx 发表于 2011-2-4 08:33:28

先做个记号

XQGG 发表于 2011-2-4 11:31:09

谢谢这个以后用的上

williamrain 发表于 2011-2-4 12:16:05

mark

bjgongli 发表于 2011-2-9 15:19:40

mark

kihell 发表于 2011-2-12 23:45:04

MARK 好东西啊 支持楼主

expressme 发表于 2011-2-13 10:49:37

回复【楼主位】avr-arm 光芒电子
-----------------------------------------------------------------------

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

bridge_chen_26 发表于 2011-2-13 13:17:02

thx.......

kneken 发表于 2011-2-13 13:18:28

mark

avr-arm 发表于 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)

abcdzhy 发表于 2011-2-13 21:18:29

我也想学习系统

bluefeel 发表于 2011-2-14 09:08:02

不错

zy473551 发表于 2011-2-14 09:17:59

学习学习

jordonwu 发表于 2011-2-14 09:20:44

mark

yangjinke1118 发表于 2011-2-14 09:59:25

mark

zend 发表于 2011-3-27 08:44:21

mark

8s209 发表于 2011-6-24 19:21:36

mark

8s209 发表于 2011-6-24 19:30:22

mark

AG17 发表于 2011-6-24 20:08:41

学习

chushichongyu 发表于 2011-6-24 21:22:42

wo。。。。。牛

chushichongyu 发表于 2011-6-24 21:30:17

但不知道怎么用啊。。不知道适不适合平时用

bingshuihuo888 发表于 2011-6-24 21:36:24

标记!!!!!

ansai0089 发表于 2011-6-24 21:47:49

学习下

xiepengchenghn 发表于 2011-6-24 22:00:19

mark

SDbeijixing 发表于 2011-6-24 22:16:41

MARK

zhengyang 发表于 2011-6-24 22:20:46

不错!正在学习OS

abcdzhy 发表于 2011-6-24 22:25:36

有时间学习下。

outt60777 发表于 2011-6-24 23:00:33

这个一定顶!

caodemao 发表于 2011-7-6 20:30:53

学习

shunda 发表于 2011-7-6 20:44:44

标记一下

BadGuy 发表于 2011-7-6 21:49:29

不太懂...有时间再学习下....顶

MZMMZMMZM 发表于 2011-7-6 21:58:01

mark

love_zjb 发表于 2011-7-6 22:13:40

mark

avrlv 发表于 2011-7-7 00:58:41

mark

luobin_AVR 发表于 2011-7-7 01:25:17

mark

liwboy 发表于 2011-7-7 08:17:51

mark!好东西

jinbangzhou 发表于 2011-7-7 08:30:00

MARK

zhuhanliang 发表于 2011-7-7 08:55:56

好东西要顶...

stely 发表于 2011-7-7 10:02:34

mark 标记

gpfrank 发表于 2011-7-7 12:42:55

mark

ubuntuman 发表于 2011-7-7 13:38:56

mark

635656623 发表于 2011-7-7 21:41:09

MARK

safan 发表于 2011-7-7 22:10:17

mark!!

mavericklx 发表于 2011-7-8 12:56:58

Mark

mavericklx 发表于 2011-7-8 12:57:13

Mark

jyjmaster 发表于 2011-7-8 13:57:05

mark==

ouravrwoai 发表于 2011-10-30 08:49:32

mark

luvemcu 发表于 2011-10-30 20:43:29

真好,有能耐的青年

yunduanmanbu06 发表于 2011-10-30 22:45:26

eeee

jyjmaster 发表于 2011-11-1 14:22:55

mark
页: [1] 2
查看完整版本: 感谢Lisuwei《简易多任务OS设计》一文,我也写出了我的RaysRTOS(光芒实时系统),全抢