搜索
bottom↓
楼主: pryprypry

发一个自制的RTOS,适合学习和极简开发

  [复制链接]

出0入0汤圆

发表于 2018-4-6 18:14:04 | 显示全部楼层
很牛啊,感觉现在写个rtos好多人都会写

出0入0汤圆

 楼主| 发表于 2018-4-17 08:37:25 | 显示全部楼层
目前准备用这个系统在原子的几套板子上做几个例程,过几个星期会放出来。

出0入0汤圆

发表于 2018-4-19 14:42:26 | 显示全部楼层
好东西,学习收藏了

出0入0汤圆

发表于 2018-4-20 08:09:01 | 显示全部楼层
厉害,已star

出0入0汤圆

发表于 2018-4-20 09:54:56 | 显示全部楼层
谢谢楼主分享

出0入4汤圆

发表于 2018-4-20 10:06:38 | 显示全部楼层
pryprypry 发表于 2018-4-17 08:37
目前准备用这个系统在原子的几套板子上做几个例程,过几个星期会放出来。 ...

厉害,学习了!感谢谢楼主分享

出0入0汤圆

发表于 2018-4-20 11:04:53 | 显示全部楼层
谢谢分享

出0入0汤圆

发表于 2018-4-20 11:21:09 | 显示全部楼层
谢谢楼主分享

出0入0汤圆

发表于 2018-4-20 12:56:47 来自手机 | 显示全部楼层
谢谢分享,打算跑着试试

出0入0汤圆

发表于 2018-4-20 13:08:36 | 显示全部楼层
pryprypry 发表于 2018-4-6 04:13
外部的JS和Lua支持现在可用。这几个库不和系统本身打包,在另外的repo里面。 ...

不错,期待更详细的文档和资料

出0入0汤圆

发表于 2018-4-21 08:28:39 | 显示全部楼层
收藏。 学习~~

出0入0汤圆

发表于 2018-4-21 08:52:47 | 显示全部楼层
好东西~下来玩玩~

出0入0汤圆

发表于 2018-4-21 19:14:02 | 显示全部楼层
膜拜00000000000000

出0入0汤圆

发表于 2018-5-4 22:01:01 | 显示全部楼层
怎么样??有没有兄弟在开发板上用过,稳定性如何?

出0入0汤圆

发表于 2018-5-6 21:08:41 | 显示全部楼层
正在学习RTOS,看到楼主这个短平快感觉很好,下载详细学习。

出140入115汤圆

发表于 2018-5-7 00:13:53 来自手机 | 显示全部楼层
chewy 发表于 2018-4-3 01:55
手上有个国产51单片机,16K的flash 512的ram,外围功能很丰富的,现在做的功能比较蛋疼 想着要有操作系统 ...

可以用rtx51吧

出0入0汤圆

发表于 2018-5-7 06:30:47 | 显示全部楼层
chewy 发表于 2018-4-3 01:55
手上有个国产51单片机,16K的flash 512的ram,外围功能很丰富的,现在做的功能比较蛋疼 想着要有操作系统 ...

rtx51tny在keil的安装目录下,这个还带调试器,参考资料也很全面。

出0入0汤圆

发表于 2018-5-7 10:50:28 | 显示全部楼层
厉害,学习了!

出0入0汤圆

 楼主| 发表于 2018-5-8 03:35:50 | 显示全部楼层

51的话没事就别上系统了。51的话用那种while(1)加switch的状态机是最好的。对于51,所有的资源都要用在刀刃上,因为RAM太少了。这个系统主要针对中低端Cortex-M单片机推出,51不是重点。

出0入0汤圆

发表于 2018-5-8 07:25:03 来自手机 | 显示全部楼层
os 牛人 进展神速

出0入0汤圆

发表于 2018-5-8 16:53:37 | 显示全部楼层
pryprypry 发表于 2018-5-8 03:35
51的话没事就别上系统了。51的话用那种while(1)加switch的状态机是最好的。对于51,所有的资源都要用在刀 ...

定时器不够用啊

出0入0汤圆

发表于 2018-5-8 21:03:29 | 显示全部楼层
好项目,已经star

出140入115汤圆

发表于 2018-5-9 07:43:39 | 显示全部楼层
pryprypry 发表于 2018-5-8 03:35
51的话没事就别上系统了。51的话用那种while(1)加switch的状态机是最好的。对于51,所有的资源都要用在刀 ...

楼主,有没有新塘NUC029的例子呀

出0入0汤圆

 楼主| 发表于 2018-5-10 03:58:02 | 显示全部楼层
chewy 发表于 2018-5-8 16:53
定时器不够用啊

定时器不够用的话,自己维持一个软件定时器列表就好了。51没事千万别上系统除非你准备外扩RAM或者你在用C8051F系列。然而如果你用后两个的话,无论如何都不如Cortex-M的片子。

出0入0汤圆

 楼主| 发表于 2018-5-10 03:59:04 | 显示全部楼层
yanyanyan168 发表于 2018-5-9 07:43
楼主,有没有新塘NUC029的例子呀

Cortex-M0的例子是STM32的,其他厂商的未来也会加入。

出0入0汤圆

发表于 2018-5-10 17:38:15 | 显示全部楼层
取名叫做RMP?

出0入0汤圆

 楼主| 发表于 2018-5-10 22:58:11 | 显示全部楼层

叫 One OS

出0入0汤圆

发表于 2018-5-11 08:27:39 | 显示全部楼层
帮顶, mark

出0入0汤圆

发表于 2018-5-12 00:25:22 来自手机 | 显示全部楼层
我用那个小小调度器一两年了,很好用,就是最近用STM32F103VE加RA8875在4.3寸屏上做一个人机界面,只用调度器比较吃力,看到楼主的这个已经可以支持轻量级GUI,非常感兴趣,多谢楼主无私奉献

出0入0汤圆

发表于 2018-5-12 09:00:37 | 显示全部楼层
楼主的链接https://github.com/EDI-Systems/M5P1_MuProkaron怎么打不开?????
提示“错误 113 (net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH):未知错误。”

出0入0汤圆

发表于 2018-5-15 23:07:23 来自手机 | 显示全部楼层
mark一下

出0入0汤圆

 楼主| 发表于 2018-5-16 00:34:44 | 显示全部楼层
shaozh_new 发表于 2018-5-12 09:00
楼主的链接https://github.com/EDI-Systems/M5P1_MuProkaron怎么打不开?????
提示“错误 113 (net::ER ...

现在的应该可以了。把https的s去掉,用非加密连接就可以了。

出0入0汤圆

发表于 2018-5-22 09:41:28 来自手机 | 显示全部楼层
one os 有新版本更新吗?与CoOS比有什么优势???

出0入0汤圆

 楼主| 发表于 2018-5-23 01:24:20 | 显示全部楼层
lushanlq 发表于 2018-5-22 09:41
one os 有新版本更新吗?与CoOS比有什么优势???

1.One OS是完全可移植的,而CoOS仅适用于Cortex-M。由于可移植性也是一个很重要的指标,所以One OS胜出。也因为这一点,One OS的内核文档中包含详细的移植方法描述。
2.One OS是一个单文件操作系统。这意味着,One OS的内核仅仅包含1个c文件,在路径配置和工程构建上会比CoOS简单一个数量级(CoOS有十几个文件)。
3.One OS的内存分配器是基于较先进的TLSF算法的,在内存利用率上比CoOS的基于固定块的分配法更好。TLSF对抗碎片的能力也较一个幼稚的链表分配器好,当然代价是运行稍慢。在One OS看来,OS根本不需要提供固定块分配器。因为这种分配器很简单,用户自己手写一个往往比学习如何使用系统内建的更快。
4.One OS的GUI集成进了内核之中,就在那个单一的.c文件里面,不需要额外的GUI支持。
5.One OS的性能测试在多种处理器上都进行过(因为One OS有多处理器支持而非仅是Cortex-M),CoOS仅在Cortex-M上进行过。
   One OS的性能测试的各项测量都在说明书中有定义,而CoOS则没有,比如他说中断Latency是0究竟指的是什么?如果是指CPU的硬件中断响应时间那么大概是20周期,不是0;如果是中断发送到线程接收,那就更不可能是0。
   One OS的性能测试的单位是时钟周期。这是一个比us更好的单位,因为对不同的处理器而言1us的周期数完全不同。不过如果CoOS的测试数据是在72MHz的Cortex-M3上取得的话,那么它的速度比One OS稍快。这也是正常的,因为One OS要兼顾可移植性。
6.One OS永远不会关闭中断。CoOS在运行中的某些时候会关闭中断。这可以从其架构支持文件port.c的CPSID I看出。这进一步说明CoOS的中断响应时间不可能是0,如果它是0的话那One OS的中断响应就是负值
7.One OS提供了中英两个版本的手册。CoOS只有一个英文版。此外,CoOS的手册和代码的英文水平不是CoOS的亮点。

8.CoOS不是开源软件。它使用一个修改过的、要求保护私有部分的BSD协议,但是并非完全Copyleft。One OS的三个许可证中包括了原版LGPLv3,所以没有这个问题。

9.One OS不支持Mutex,Queue等额外的通信方式。如果你更喜欢大量的IPC模型,那么CoOS胜出。但是,OneOS之所以不支持这些,是在系统设计时就决定的,因为这些IPC方式都不是很实用。

出0入0汤圆

 楼主| 发表于 2018-5-23 01:26:17 | 显示全部楼层
lushanlq 发表于 2018-5-22 09:41
one os 有新版本更新吗?与CoOS比有什么优势???


此外,CoOS还有一个BUG,从2016年到现在似乎一直都没有修复过。详见它的github issues。

出0入0汤圆

发表于 2018-5-23 14:56:56 | 显示全部楼层
这个厉害,可以试用一下看看

出0入0汤圆

发表于 2018-5-23 15:23:22 | 显示全部楼层
支持一下楼主

出0入0汤圆

发表于 2018-5-23 15:37:22 | 显示全部楼层
下载下来学习,现在IOT市场火爆

出0入0汤圆

发表于 2018-5-23 15:49:39 来自手机 | 显示全部楼层
了解一下,留个记号

出0入0汤圆

发表于 2018-5-23 17:11:49 | 显示全部楼层
刚开始接触操作系统,学习了感谢楼主

出0入0汤圆

发表于 2018-5-24 17:23:28 | 显示全部楼层
厉害了,楼主,有想学习一下的冲动了

出0入0汤圆

 楼主| 发表于 2018-5-30 00:53:02 | 显示全部楼层
各个开发板上的例程最近会逐步放出。正点原子和野火的所有的例程,包括103小板,战舰板,407板,767板和rt1052板都会逐渐有移植

出0入0汤圆

发表于 2018-5-30 09:26:18 | 显示全部楼层
厉害,感谢分享。另外新网址怎么打不开?

出0入0汤圆

发表于 2018-5-31 09:15:39 来自手机 | 显示全部楼层
想请教一下楼主,CoOS的BUG到底是怎么回事?因为我现在正用着CoOS,希望楼主赐教

出0入0汤圆

 楼主| 发表于 2018-6-2 11:22:23 | 显示全部楼层
lushanlq 发表于 2018-5-31 09:15
想请教一下楼主,CoOS的BUG到底是怎么回事?因为我现在正用着CoOS,希望楼主赐教 ...

https://github.com/coocox/CoOS/issues/1
参见这里。

出0入0汤圆

 楼主| 发表于 2018-6-2 11:24:41 | 显示全部楼层
cchwhk 发表于 2018-5-30 09:26
厉害,感谢分享。另外新网址怎么打不开?

直接在Github搜索EDI-Systems就能看到这些项目了。
这个是我的主页的截图:

本帖子中包含更多资源

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

x

出0入0汤圆

发表于 2018-6-2 11:35:15 | 显示全部楼层
有没有适合N76E003适合这种18K ROM  1K RAM跑的操作系统,想移植一下,以后的小产品可以快速开发

出0入0汤圆

 楼主| 发表于 2018-6-4 00:40:33 | 显示全部楼层
wwkkww 发表于 2018-6-2 11:35
有没有适合N76E003适合这种18K ROM  1K RAM跑的操作系统,想移植一下,以后的小产品可以快速开发 ...

可以试试这个系统
https://github.com/EDI-Systems/M2A1_MuSimpron
陈明计也有个51的RTOS,那个也是一个选项,就是实用性比较差。

出0入0汤圆

发表于 2018-6-6 11:14:18 | 显示全部楼层
开始学习使用,感谢分享,以后看能否用上,持续关注

出0入0汤圆

发表于 2018-6-6 14:37:22 | 显示全部楼层
请问 RFEIA           SP!  这个指令是什么意思呢?

出0入0汤圆

 楼主| 发表于 2018-6-8 04:33:30 | 显示全部楼层
目前内核已经通过了100%分支的白盒测试,可以被看作是IEC 61508 SIL2预认证等级,也是唯一一个经过此项测试的开源RTOS。形式化验证工作已经开始。

出0入0汤圆

 楼主| 发表于 2018-6-8 04:34:16 | 显示全部楼层
coolhorse 发表于 2018-6-6 14:37
请问 RFEIA           SP!  这个指令是什么意思呢?

一条Cortex-R的特殊指令,用于中断上下文切换

出0入0汤圆

发表于 2018-6-8 07:38:30 | 显示全部楼层
mark,好东西,有空仔细看看

出0入0汤圆

 楼主| 发表于 2018-6-14 04:55:05 | 显示全部楼层
最近更新了数据手册和CPU支持列表,开始支持其他CPU。

出0入0汤圆

发表于 2018-6-14 07:44:24 | 显示全部楼层
foxpro2005 发表于 2018-3-3 20:14
这个看起来不错。  其实在8位,32位上,  论坛中的那个小小调度器,也是非常不错的
...

请问 是那个啊 我去学习一下

出0入0汤圆

发表于 2018-6-14 07:56:04 | 显示全部楼层
应该将最后一版  发放在这里 做个记录,GIT 很多人还不会用

出0入0汤圆

发表于 2018-6-14 12:05:56 | 显示全部楼层
atom 1.5k flash

出0入76汤圆

发表于 2018-6-14 17:43:56 | 显示全部楼层
maimaige 发表于 2018-6-14 07:44
请问 是那个啊 我去学习一下

再出个调度器,极小资源单片机值得一用  https://www.amobbs.com/thread-5508723-1-1.html



出0入0汤圆

发表于 2018-6-14 22:14:43 | 显示全部楼层
请问支持飞思卡尔8位机吗?DZ60?

出0入0汤圆

 楼主| 发表于 2018-6-15 10:46:09 | 显示全部楼层
zw_7627 发表于 2018-6-14 22:14
请问支持飞思卡尔8位机吗?DZ60?

8位机这个是不支持的。还有另外一个支持8位机的状态机框架在这里:https://github.com/EDI-Systems/M2A1_MuSimpron

出0入0汤圆

 楼主| 发表于 2018-6-15 10:49:14 | 显示全部楼层
foxpro2005 发表于 2018-6-14 17:43
再出个调度器,极小资源单片机值得一用  https://www.amobbs.com/thread-5508723-1-1.html

https://github.com/EDI-Systems/M2A1_MuSimpron 和我这个应该差不多吧。我这个源文件自带demo,可以直接VS2013编译或者gcc。

出0入0汤圆

 楼主| 发表于 2018-6-15 10:51:20 | 显示全部楼层
wind2100 发表于 2018-6-14 07:56
应该将最后一版  发放在这里 做个记录,GIT 很多人还不会用

需要的话我可以上传到百度网盘,或者加我QQ我传给你。不过github用起来还是很简单的,在项目主页只要点那个右面绿色的Clone or download下载Zip包就可以了。操作系统本身还需要一些库文件,这些库文件在另外的一个叫M0P0的库里面,这些东西都在我的主页放着。

出0入0汤圆

发表于 2018-6-15 12:25:21 | 显示全部楼层
楼主,使用起来还需要license吗?license是否是收费的?

出0入0汤圆

 楼主| 发表于 2018-6-17 03:59:00 | 显示全部楼层
zw_7627 发表于 2018-6-15 12:25
楼主,使用起来还需要license吗?license是否是收费的?

license有三个,一个是LGPLv2,一个是MIT,还有一个是商业支持的License。一般用前两个就可以了,其中LGPLv2协议有修改,就是应用程序和驱动代码可以闭源,只要保持对操作系统本身的改动开源就好。商业license只有需要全定制服务的时候才需要申请,这实际上是个服务license,不是软件本身的使用license。

出0入0汤圆

发表于 2018-6-20 17:19:45 | 显示全部楼层
好东西,谢谢楼主!

出0入0汤圆

发表于 2018-6-20 18:08:09 来自手机 | 显示全部楼层
厉害,支持一下

出0入0汤圆

发表于 2018-6-25 09:52:16 | 显示全部楼层
很久以前就Star & Fork了项目,今天又重新看了一遍帖子。给楼主点赞!

出0入0汤圆

 楼主| 发表于 2018-6-27 03:42:42 | 显示全部楼层
现在已经支持RISC-V,DSPIC33系列和PIC24系列了。RL78的移植也已经开始。

出0入25汤圆

发表于 2018-6-27 07:15:11 | 显示全部楼层
摩拜lz。

出0入0汤圆

 楼主| 发表于 2018-6-30 02:10:42 | 显示全部楼层
PIC33的支持已经完成。

出0入0汤圆

发表于 2018-7-1 10:11:12 | 显示全部楼层
牛人,膜拜学习一下。

出0入0汤圆

发表于 2018-7-1 16:30:22 来自手机 | 显示全部楼层
占位学习

出0入0汤圆

 楼主| 发表于 2018-7-9 14:11:21 来自手机 | 显示全部楼层
现在开始支持RL78。大家觉得还需要哪些轻量级功能?

出0入0汤圆

 楼主| 发表于 2018-7-18 02:10:36 | 显示全部楼层
https://www.amobbs.com/thread-5695525-1-1.html
这个OS用的白盒测试工具开源在这里。

出0入0汤圆

发表于 2018-7-18 09:53:18 | 显示全部楼层
感谢分享

出0入0汤圆

 楼主| 发表于 2018-7-19 01:23:41 来自手机 | 显示全部楼层
更新了使用手册。

出0入0汤圆

 楼主| 发表于 2018-7-20 09:49:04 | 显示全部楼层
增加了Cortex-M的gcc支持。

出0入0汤圆

 楼主| 发表于 2018-8-1 04:17:28 | 显示全部楼层
更新了用户手册

出0入0汤圆

 楼主| 发表于 2018-8-12 13:23:28 | 显示全部楼层
开始Tricore支持。

出0入0汤圆

发表于 2018-8-12 20:31:18 | 显示全部楼层
这个不错,感谢楼主分享。

出20入62汤圆

发表于 2018-8-12 20:41:39 | 显示全部楼层
厉害啊 研究的够深入 佩服~

出0入0汤圆

发表于 2018-8-12 20:42:54 | 显示全部楼层
学习一下,谢谢楼主

出0入0汤圆

发表于 2018-8-14 12:47:13 | 显示全部楼层
拜莫,学习

出0入0汤圆

 楼主| 发表于 2018-8-30 02:42:55 | 显示全部楼层
更新了用户手册和readme。

出140入115汤圆

发表于 2018-8-30 08:56:31 | 显示全部楼层
楼主一直在维护,看来可以开始了

出0入0汤圆

 楼主| 发表于 2018-8-31 23:23:37 | 显示全部楼层
新排版的手册过一段时间就会上线。原来的那个版本看起来太累。

出0入0汤圆

 楼主| 发表于 2018-9-2 11:23:13 | 显示全部楼层
这次的新版本手册应该看起来比老版本要美观和专业的多。老用户们可以下载新版本来参考,比较方便。下一次更新将包括一些GUI和内存管理方面的功能性更新和完善。一些样张如下:




本帖子中包含更多资源

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

x

出0入0汤圆

 楼主| 发表于 2018-9-2 11:25:24 | 显示全部楼层
手册下载可以在github,也可以在这里(见附件):

本帖子中包含更多资源

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

x

出0入4汤圆

发表于 2018-9-3 17:53:10 | 显示全部楼层
厉害厉害

出0入0汤圆

发表于 2018-9-4 13:23:49 | 显示全部楼层
刚刚学习OS,感谢楼主分享。

出0入0汤圆

发表于 2018-9-5 02:04:34 | 显示全部楼层
一直想学OS没有学成,抽空看看楼主的OS。

出0入0汤圆

发表于 2018-9-5 09:01:30 | 显示全部楼层
zsmbj 发表于 2018-3-3 10:03
看了一下M3 2.6k ROM,1.5k ram,也不小了。还不如用freertos,用的人多。而且成熟。
freertos只开信号量和 ...

哥们,任何RTOS使用不同的配置,以及添加不同的应用程序,ROM/RAM占用的差别都是会很大的
这些对比表的ROM/RAM占用只是参考值,不是固定值

出0入0汤圆

 楼主| 发表于 2018-9-5 15:10:44 来自手机 | 显示全部楼层
ljgchina 发表于 2018-9-4 13:23
刚刚学习OS,感谢楼主分享。

我的os的文档应该是最详细的。最近还在进行一些功能更新。基本的概念os文档里面还是都有介绍的。喜欢的话可以star一下:)

出0入0汤圆

 楼主| 发表于 2018-10-10 13:01:14 | 显示全部楼层
本帖最后由 pryprypry 于 2018-10-10 13:04 编辑

放宽了内存分配器的限制,现在可以创建上限不限的内存池了。内存池的下限也放宽到最小1024个机器字(原为2048个机器字)。
圆角矩形绘制的算法进行了优化,不再需要传入背景色。

出0入0汤圆

 楼主| 发表于 2018-10-18 04:24:17 | 显示全部楼层
更新了正点原子板子的STM32F103ZET6的例子

出0入0汤圆

发表于 2018-10-18 07:33:08 | 显示全部楼层
STM8 那个状态机 OS 有空研究一下

出0入0汤圆

发表于 2018-10-18 09:45:15 | 显示全部楼层
foxpro2005 发表于 2018-3-4 19:40
看了一下,与小小调度器原理是类似的, 都是以PT为原型的

1. “并且利用了处理器的硬件中断优先级来实现 ...

请问 PT的 全称是啥 ?

出0入76汤圆

发表于 2018-10-18 09:49:36 | 显示全部楼层
maimaige 发表于 2018-10-18 09:45
请问 PT的 全称是啥 ?

protothreads
https://www.amobbs.com/thread-5479167-1-1.html

出0入0汤圆

 楼主| 发表于 2018-11-10 15:41:12 | 显示全部楼层
更新中文手册到最新版本,修正错误以及包括对realloc的描述。英文手册正在更新中。

出0入0汤圆

 楼主| 发表于 2018-11-11 11:20:08 | 显示全部楼层
pryprypry 发表于 2018-11-10 15:41
更新中文手册到最新版本,修正错误以及包括对realloc的描述。英文手册正在更新中。 ...

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

本版积分规则

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

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

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

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