OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 10380|回复: 28

分享一个简单易用的小型RTOS,名叫KLite

[复制链接]

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-11-25
在线时间
12 小时
发表于 2016-3-14 17:33:01 | 显示全部楼层 |阅读模式
本帖最后由 446252221 于 2016-3-15 08:38 编辑

主流的RTOS很多,如ucos-ii,ucos-iii,rtx,rt thread等嵌入式操作系统内核。
这些RTOS大多功能都已经非常强大了,但是因为功能强大,所以显得有些臃肿,大部分功能都成了摆设,很少使用,而且也增加了学习和使用难度。
鉴于此我就在业余时间编写了一个简洁的多任务内核,用了一段时间感觉还不错,适合新手学习和小项目中使用
取了个名字叫:KLite(kernel lite edition 精简版内核的意思)。
现在分享库文件给大家偿偿鲜,如果大家觉得好用的话,后面考虑开放源代码给大家,维护和升级。

KLite 基于STM32F103编写,
目前在STM32F103/205/301/407上测试通过。


KLite的特性:
1.基于Cortex-M3开发,免移植即可在CM0,CM3,CM4的MCU上运行;
2.使用方便,免裁剪,只有3个文件,直接包含进工程即可;
3.API风格简洁,命令规范,简单易懂;
4.支持内存管理,自动申请线程堆栈,无需定义一大堆线程相关数据;
5.线程数量无数量限制(内存限制);
6.目前线程没有优先级,采用FCFS调度算法,抢占式(基于时间片);

KLite支持的功能:
1.内存管理(堆空间管理);
2.任务管理;
3.线程互斥锁;
4.信号量同步;

更多信息专门写了一篇博客分享给大家:
http://blog.csdn.net/liteedition/article/details/50821043

现上传附件到此:
KLite_DEMO.zip (280.77 KB, 下载次数: 857)
简洁是一种美!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

12

主题

91

帖子

0

精华

高级会员

Rank: 4

积分
529
金钱
529
注册时间
2014-10-9
在线时间
145 小时
发表于 2016-3-14 18:30:22 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

9

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2015-3-6
在线时间
18 小时
发表于 2016-3-14 19:58:50 | 显示全部楼层
看起来不错哦,简洁易用,支持基本的任务间通信,对于不是很复杂的应用还真是很方便,期待楼主开源~
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2016-3-14 20:33:31 | 显示全部楼层
可以分享到我们论坛啊
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-3-15 08:22:31 | 显示全部楼层
传上来我试试
回复 支持 反对

使用道具 举报

58

主题

6294

帖子

1

精华

资深版主

Rank: 8Rank: 8

积分
11554
金钱
11554
注册时间
2014-4-1
在线时间
1317 小时
发表于 2016-3-15 08:30:46 | 显示全部楼层

膜拜。

回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-11-25
在线时间
12 小时
 楼主| 发表于 2016-3-15 08:39:17 | 显示全部楼层
正点原子 发表于 2016-3-14 20:33
可以分享到我们论坛啊

好的,已上传附件
简洁是一种美!
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-11-25
在线时间
12 小时
 楼主| 发表于 2016-3-15 08:39:42 | 显示全部楼层

传了,你试试。
简洁是一种美!
回复 支持 反对

使用道具 举报

29

主题

311

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1530
金钱
1530
注册时间
2012-9-4
在线时间
262 小时
发表于 2016-3-15 08:46:41 | 显示全部楼层
收藏了,有空试试。。。。
回复 支持 反对

使用道具 举报

10

主题

109

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4895
金钱
4895
注册时间
2014-3-30
在线时间
500 小时
发表于 2016-3-15 09:01:15 | 显示全部楼层
看起来很牛X,顶!!!!
从不在失败面前说不,你就会成为人们眼中的大神!!
回复 支持 反对

使用道具 举报

12

主题

336

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1576
金钱
1576
注册时间
2015-8-9
在线时间
625 小时
发表于 2016-3-15 09:13:12 | 显示全部楼层
顶起来!!!
回复 支持 反对

使用道具 举报

2

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
金钱
293
注册时间
2014-11-26
在线时间
29 小时
发表于 2016-3-15 09:15:13 | 显示全部楼层
有空试试
回复 支持 反对

使用道具 举报

2

主题

47

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
293
金钱
293
注册时间
2014-11-26
在线时间
29 小时
发表于 2016-3-15 09:15:29 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

头像被屏蔽

65

主题

277

帖子

0

精华

高级会员

Rank: 4

积分
674
金钱
674
注册时间
2013-8-11
在线时间
29 小时
发表于 2016-3-15 09:33:53 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

13

主题

121

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
375
金钱
375
注册时间
2013-12-12
在线时间
13 小时
发表于 2016-3-15 11:05:22 | 显示全部楼层
尝尝鲜
回复 支持 反对

使用道具 举报

1

主题

29

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2406
金钱
2406
注册时间
2014-7-29
在线时间
148 小时
发表于 2016-3-15 11:49:34 | 显示全部楼层
这个超屌的
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2016-3-15 12:39:43 | 显示全部楼层
大致看了一下,提点小建议,比如这几个函数,刚开始还真不知道干啥的
/******************************************************************************
* OS初始化
* 初始化时需要提供内存管理的起始地址和可用内存大小
******************************************************************************/
void                 os_init(void* heap, uint32_t heap_size);
void                 os_exec(void);
void                   os_sleep(uint32_t ms);
uint32_t         os_time(void);

就看懂了两个
os_exec这个刚开始不知道干啥的,可以改成os_start什么的,这样就很好理解了
os_time这个可以改成os_gettime这样一看函数名就知道了,刚开始还真不知道不要设置还是获取设置os_settime
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-11-25
在线时间
12 小时
 楼主| 发表于 2016-3-15 14:04:04 | 显示全部楼层
八度空间 发表于 2016-3-15 12:39
大致看了一下,提点小建议,比如这几个函数,刚开始还真不知道干啥的
/********************************* ...

函数头文件注释较少,详细API说明和参考例程在我的csdn博客,你可以去看看。
简洁是一种美!
回复 支持 反对

使用道具 举报

0

主题

1

帖子

0

精华

新手上路

积分
33
金钱
33
注册时间
2014-12-17
在线时间
3 小时
发表于 2016-3-15 15:36:50 | 显示全部楼层
看起来非常不错  下次试试
回复 支持 反对

使用道具 举报

3

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
73
金钱
73
注册时间
2015-4-27
在线时间
8 小时
发表于 2016-3-15 16:37:15 | 显示全部楼层
楼主可以把代码和demo放到code.csdn.net上面, 用git方便管理代码
回复 支持 反对

使用道具 举报

16

主题

173

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2441
金钱
2441
注册时间
2014-11-5
在线时间
348 小时
发表于 2016-3-15 17:27:22 | 显示全部楼层
回复 支持 反对

使用道具 举报

头像被屏蔽

2

主题

164

帖子

1

精华

禁止访问

积分
1316
金钱
1316
注册时间
2012-5-13
在线时间
127 小时
发表于 2016-3-15 19:37:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

69

主题

978

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3772
金钱
3772
注册时间
2015-4-26
在线时间
765 小时
发表于 2016-3-15 21:58:57 | 显示全部楼层
牛!!!                                          
回复 支持 反对

使用道具 举报

5

主题

43

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
202
金钱
202
注册时间
2016-1-23
在线时间
31 小时
发表于 2016-3-15 22:25:23 | 显示全部楼层

谢谢分享
谢谢分享
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-11-25
在线时间
12 小时
 楼主| 发表于 2016-3-16 08:40:52 | 显示全部楼层
qq371833846 发表于 2016-3-15 19:37
没有IAR的啊.......................还有os_cpu.h里的NVIC_SetPriority(PendSV_IRQn, ...

我没有用IAR,都是用的Keil,用IAR编译通不过吗?
简洁是一种美!
回复 支持 反对

使用道具 举报

头像被屏蔽

2

主题

164

帖子

1

精华

禁止访问

积分
1316
金钱
1316
注册时间
2012-5-13
在线时间
127 小时
发表于 2016-3-16 20:15:51 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-11-25
在线时间
12 小时
 楼主| 发表于 2016-3-17 09:25:38 | 显示全部楼层
qq371833846 发表于 2016-3-16 20:15
os是用lib的形式当然不能通用到IAR啊
NVIC_SetPriority(SysTick_IRQn, n);
n=0x00~0x03  设置Systick为 ...

谢谢指正,欢迎探讨。
Cortex-M3(M4也一样)内核提供了8位的中断优先级,0最高,255最低。
而对于STM32,你是正确的,它只使用了其中4bit优先级,此处设置优先级为0x0F就可以了。
我这里设置255(0xFF)也没有什么问题,高4位是没有任何作用的。
但这样可以保证无论MCU使用多少位的优先级都可以确保优先级是最低,而不用关心MCU实际使用多少位优先级。
简洁是一种美!
回复 支持 反对

使用道具 举报

3

主题

261

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2075
金钱
2075
注册时间
2014-2-20
在线时间
284 小时
发表于 2016-3-17 10:58:37 | 显示全部楼层
厉害,下载来试试
回复 支持 反对

使用道具 举报

4

主题

24

帖子

0

精华

初级会员

Rank: 2

积分
118
金钱
118
注册时间
2015-11-25
在线时间
12 小时
 楼主| 发表于 2016-3-25 15:05:45 | 显示全部楼层
好像感兴趣的人不多,
后续还有升级版。
简洁是一种美!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 13:23

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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