搜索
bottom↓
回复: 23

DIY 的RTOS,持续更新【最后更新:2012-04-25 20:29】

[复制链接]

出0入0汤圆

发表于 2012-4-25 20:44:20 | 显示全部楼层 |阅读模式
本帖最后由 xivisi 于 2012-4-25 21:52 编辑

由于不能再编辑楼主位,只好再开帖了

原帖:http://www.ourdev.cn/thread-5466966-1-1.html

2012-04-25 20:29:
前几天买了 黑金的板子,弄那个去了。
今天 又把这个东东翻出来,发觉,曾经某个版本功能正常,新的又不正常了

修正:
     1,压栈错误(原来没有的,后来又引入了这个BUG)
     2,只存在一个非无限循环TASK导致一直非正常查找可运行任务的BUG(我认为是BUG,这时候应该是间断执行IDLE任务,而不是一直在查找)
     3,修正非无限循环TASK结束时导致查找下一个任务费时间相对较长的问题。
     4,修改标识符命名规范
     5,增加IAR兼容





本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2012-4-25 23:00:49 | 显示全部楼层
下不下来,等等再下谢谢楼主

出0入0汤圆

 楼主| 发表于 2012-4-28 08:58:56 | 显示全部楼层
我目前写的这个还不是抢占式的,昨天看了一下抢占式RTOS的原理,觉得高优先级一直独占CPU时间有些不可思议,如果出现一个高优先级的线程不主动释放CPU那低优先级的完全得不到CPU时间。
或许是受通用操作系统影响吧,当然这不妨碍DIY。
另外,内存管理觉得也非常必要,目前打算是做一个内存管理,高效且面向小内存系统

出0入0汤圆

 楼主| 发表于 2012-4-29 13:54:39 | 显示全部楼层
发觉 大部分的算法都大同小异,实现细节略有差异
时间和空间不太好协调

出0入0汤圆

发表于 2012-5-4 02:06:15 | 显示全部楼层
Mark,持续帮顶。No.1

出0入0汤圆

 楼主| 发表于 2012-5-5 11:52:05 | 显示全部楼层
本帖最后由 xivisi 于 2012-5-5 13:31 编辑
無智 发表于 2012-5-4 02:06
Mark,持续帮顶。No.1


结构优化,重写中……,功能添加中……




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2012-5-5 18:46:53 | 显示全部楼层
强!楼主有没有构建源码的版本管理器?
生成第一个可用版本之后,可以尝试整一个,大家可以从你的版本库更新,充分发挥我们爱好者的能动性嘛,

出0入0汤圆

 楼主| 发表于 2012-5-5 19:58:03 | 显示全部楼层
無智 发表于 2012-5-5 18:46
强!楼主有没有构建源码的版本管理器?
生成第一个可用版本之后,可以尝试整一个,大家可以从你的版本库更 ...

会的, 但是只能业余时间做,另外也在学Verilog中

出0入0汤圆

发表于 2012-5-5 21:25:53 | 显示全部楼层
xivisi 发表于 2012-5-5 19:58
会的, 但是只能业余时间做,另外也在学Verilog中

我对stm的arm核心不熟悉,这边先学习你的代码,希望到时能为楼主提供一点可用的建议哈

出0入0汤圆

发表于 2012-5-6 14:14:44 | 显示全部楼层
先给楼主提个吹毛求疵的建议:
在system.c中定义的:
void SystemTaskSwith(void)    //任务切换的函数
函数名应该规范一下:
void SystemTaskSwitch(void)

出0入0汤圆

 楼主| 发表于 2012-5-6 14:16:36 | 显示全部楼层
本帖最后由 xivisi 于 2012-5-6 14:18 编辑
無智 发表于 2012-5-6 14:14
先给楼主提个吹毛求疵的建议:
在system.c中定义的:
void SystemTaskSwith(void)    //任务切换的函数


感谢,用eclise重构的时候少打了个字符


PS:晕,刚又去看了现在编辑的文件,没有错误,原来你说的是 附件里的

出0入0汤圆

发表于 2012-5-6 14:26:25 | 显示全部楼层
对,我是浏览附件中内容发现的。

学习原附件,等待新版本。

出0入0汤圆

发表于 2012-5-6 14:33:21 | 显示全部楼层
关注中。

出0入0汤圆

 楼主| 发表于 2012-5-6 14:36:14 | 显示全部楼层
無智 发表于 2012-5-6 14:26
对,我是浏览附件中内容发现的。

学习原附件,等待新版本。


这位仁兄  别老顶了     催更什么的   会有压力的


顺便问一个问题,怎样快速更新 每个线程的时间片能量 (256个优先级 256个链表),除了一个链表一个链表的查以外(这里太不可控了链表越长花的时间越多)

PS:是顺便 不是随便

出0入0汤圆

发表于 2012-5-6 14:47:28 | 显示全部楼层
支持强悍的帖子
支持。

出0入0汤圆

 楼主| 发表于 2012-5-6 15:01:37 | 显示全部楼层
现在 才注意到 被阿莫精华了。 非常感谢

出0入0汤圆

发表于 2012-5-7 21:29:13 | 显示全部楼层
哈哈,那我隔三岔五来一次哈。

每个线程的时间片能量 (256个优先级 256个链表),这个都与Linux OS相当了,超出了RTOS的范畴了。

出0入0汤圆

发表于 2012-5-7 21:34:59 | 显示全部楼层
STM32平台?

出0入0汤圆

 楼主| 发表于 2012-5-7 21:36:50 | 显示全部楼层
無智 发表于 2012-5-7 21:29
哈哈,那我隔三岔五来一次哈。

每个线程的时间片能量 (256个优先级 256个链表),这个都与Linux OS相当了 ...

   需要更新时间的 Object 单独弄了个链表  减少了那么一点搜索时间

出0入0汤圆

 楼主| 发表于 2012-5-7 21:37:48 | 显示全部楼层
SNOOKER 发表于 2012-5-7 21:34
STM32平台?

暂时 是的,先把内核做好

出0入0汤圆

 楼主| 发表于 2012-5-9 20:19:16 | 显示全部楼层
無智 发表于 2012-5-7 21:29
哈哈,那我隔三岔五来一次哈。

每个线程的时间片能量 (256个优先级 256个链表),这个都与Linux OS相当了 ...

这个对性能(可预测性)影响不大, 目前在看linux的东东,

出0入0汤圆

发表于 2012-5-9 20:30:39 | 显示全部楼层
linux水深。。。

出0入0汤圆

 楼主| 发表于 2012-5-9 20:50:11 | 显示全部楼层
無智 发表于 2012-5-9 20:30
linux水深。。。

所谓 DIY 最重要的就是 中间 各种查找 各种参阅

出0入0汤圆

发表于 2012-5-10 21:48:19 | 显示全部楼层
xivisi 发表于 2012-5-9 20:50
所谓 DIY 最重要的就是 中间 各种查找 各种参阅

模仿就是站在巨人的肩膀上

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

本版积分规则

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

GMT+8, 2024-4-25 12:29

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

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