免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: ifreecoding
打印 上一主题 下一主题

有源码有图有真相,使用C语言写了2个小型嵌入式操作系统内核,支持ARM7、cortex-M3芯 [复制链接]

论坛徽章:
23
双鱼座
日期:2013-08-30 09:25:19辰龙
日期:2014-07-28 11:22:24白羊座
日期:2014-08-26 10:34:1815-16赛季CBA联赛之浙江
日期:2016-03-15 10:51:5415-16赛季CBA联赛之八一
日期:2016-05-31 09:38:3615-16赛季CBA联赛之辽宁
日期:2017-08-31 14:59:2115-16赛季CBA联赛之辽宁
日期:2017-12-06 14:12:3615-16赛季CBA联赛之天津
日期:2019-01-02 15:25:4915-16赛季CBA联赛之深圳
日期:2020-12-06 11:26:21狮子座
日期:2014-05-19 09:16:35技术图书徽章
日期:2014-03-27 13:37:39技术图书徽章
日期:2013-08-30 09:28:52
11 [报告]
发表于 2012-05-28 11:26 |只看该作者
真才实干,up

论坛徽章:
0
12 [报告]
发表于 2012-05-28 11:58 |只看该作者
很好很强大,不过这两个小型的嵌入式操作系统好编写吗,谢谢分享,先下了

论坛徽章:
0
13 [报告]
发表于 2012-05-28 14:31 |只看该作者
回复 7# ifreecoding


你从哪里拿出我没工作过?

另外工作过很牛逼么?工作了还那么喜欢犯二,这又是怎么回事?

不要纯粹为了喷人而去喷人

我在喷你么?你不说那些二话,我才没空喷你。

自己多学点,不要看了几本书就去乱喷
是不是乱喷,大家都可以看看。如果你觉得我乱喷,你可以自己反驳啊,何必在这里意淫,何必在这里无中生有?
和谭浩强什么区别?

我看过你那个手册,你里面根本就是个半成品,甚至连半成品都算不上,整个结构简单,模块单一,连基本的任务系统都不完整,文件系统更是我没看到。通篇1/2篇幅在讲一些和操作系统半毛钱关系没有的东西。你搞什么?还有,对于任务切换,你根本就没说什么真正本质性的东西,不看你这个书自己都能想个七八成,看了毛用?

我没看你代码,没空看你代码,我只看了下你书里面例子代码,你居然说你是在写操作系统,你完全是在写库,操作系统api这样,我看了那么多个操作系统,你算是奇葩一个。

论坛徽章:
0
14 [报告]
发表于 2012-05-28 18:13 |只看该作者
Reallsc 发表于 2012-05-28 09:45
支持一下,东西很实用。
对了,我看到代码里有ST和TI两个大目录,不同于uboot等常见的arch或CPU下跟两个子 ...


呵呵,我没有精力也没有能力做那么大的工程,我写这个目的是为了减少实现任务切换及一些与任务相关功能的基本原理,原理很简单,就是将不同任务的堆栈数据备份、还原的过程。

论坛徽章:
0
15 [报告]
发表于 2012-05-28 18:16 |只看该作者
fanzy1984 发表于 2012-05-28 11:58
很好很强大,不过这两个小型的嵌入式操作系统好编写吗,谢谢分享,先下了


这个调试时有些麻烦,因为违背了C语言的正常流程,在一个函数内部正执行着时很可能就切换到另一个函数里面去了,所以出问题时跟踪问题会有一些麻烦,而且是tick中断触发任务切换,单步跟踪硬件中断的效果与全速跑时也不太一样,这也会增加难度。其它的就与不同程序差不多了

论坛徽章:
0
16 [报告]
发表于 2012-05-29 08:51 |只看该作者
很牛啊~~~~~~~~

论坛徽章:
0
17 [报告]
发表于 2012-05-29 16:37 |只看该作者
比我牛,顶一个

论坛徽章:
0
18 [报告]
发表于 2012-05-29 19:15 |只看该作者
eliry 发表于 2012-05-28 11:18
楼主强大,如果有内存管理和驱动模型就更好了。


我写这两个任务切换的内核是出于好奇心,当我使用传统的C加一些汇编颠覆了C的流程,然后发现程序可以正常运行,那时刻的喜悦是无法表达的 O(∩_∩)O哈哈~,后来我也移植到了我做的产品上,跑的也很正常,而且解决了没有操作系统导致函数体不完整的问题。实现功能后发现可以进一步增加功能,因此才写了这2个分享给大家看,其实任务切换并没有多么复杂,就是将起任务的主函数使用的堆栈空间备份恢复的过程,当然,其中的一些细节还是要考虑的,要不多任务就打架了。

这两个内核只是针对任务切换部分,内存管理和驱动模型对于我来说太大了,不同的芯片,各种应用场景,是需要一个团队专门来做的,我只是在工作之余才搞下,因此我没有精力更没有能力做那么多的功能。
这两个内核主要是针对小型嵌入式设备的,几十K的rom几K的ram就可以跑,对于这种小型嵌入式设备,硬件都不支持内存管理,驱动随便挂一个库就可以用了,也没有必要做那么复杂

我写这2个内核,希望对那些感兴趣的,工作中需要的同学们能有一些帮助。功能我简单的验证过,精力问题,没有仔细验证过,不过使用wanlix写了一个交通灯,使用mindows写了一个俄罗斯方块的游戏,没出现啥问题。视频以及各节的源代码、book可以在我的博客下载,blog.sina.com.cn/ifreecoding

论坛徽章:
0
19 [报告]
发表于 2012-05-31 15:57 |只看该作者
回复 13# walleeee


    你也好像很牛掰啊,那请大牛出山,写一个操作系统出来,让大家也来观瞻吧,看看大牛到底什么水平。

论坛徽章:
4
戌狗
日期:2013-08-15 18:22:43技术图书徽章
日期:2013-08-21 13:48:45巨蟹座
日期:2013-09-26 17:06:39处女座
日期:2013-12-25 11:26:10
20 [报告]
发表于 2012-05-31 16:15 |只看该作者
walleeee 发表于 2012-05-28 14:31
连基本的任务系统都不完整,文件系统更是我没看到。通篇1/2篇幅在讲一些和操作系统半毛钱关系没有的东西。你搞什么?还有,对于任务切换,你根本就没说什么真正本质性的东西,不看你这个书自己都能想个七八成,看了毛用?

我没看你代码,没空看你代码,我只看了下你书里面例子代码,你居然说你是在写操作系统,你完全是在写库,操作系统api这样,我看了那么多个操作系统,你算是奇葩一个。


文件系统,任务切换么,看来你也知道这俩名词啊?这个我还在点行的说。

另外,你看过那些操作系统啊?我只看过linux kernel一个,向您取取经呗??
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP