免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12345下一页
最近访问板块 发新帖
查看: 16774 | 回复: 46
打印 上一主题 下一主题

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

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-05-27 07:51 |只看该作者 |倒序浏览
本帖最后由 ifreecoding 于 2012-05-27 07:56 编辑

Wanlix&Mindows5.7.part2.rar (4.06 MB, 下载次数: 481) Wanlix&Mindows5.7.part1.rar (4.29 MB, 下载次数: 706)
工作的时候需要使用一个小型嵌入式系统,但苦于没有合适的,(ucos要收费,我们公司不许用盗版),就只能裸奔,但裸奔在实时通信时确实不方便,后来翻了几次ARM7的手册,觉得可以写一个简单的任务切换程序,由此就写出了我称之为wanlix的只有任务切换功能的软件,好听点就叫小操作系统内核。后来发现可以写的更多,就又增加了一些功能,又写了一个具有实时抢占功能的mindows小型操作系统内核。

Wanlix是一个内核非常小的嵌入式操作系统,只有几百个字节,但功能少,只提供任务切换功能,非常适合资源特别少但又需要任务切换的小项目。
Mindows可提供多种操作系统功能,是实时抢占式操作系统,任务支持多种优先级抢占调度,将实时性高的任务设置为高优先级就可以保证软件系统的实时性,用户也可根据自身需求选取需要的部分,也可在此基础上编写代码增加自己需要的功能,具有可裁剪性。
我将Wanlix和Mindows的开发过程记录下来,就形成了这本“底层工作者手册之嵌入式操作系统内核”一书,本手册不仅仅是从应用的角度介绍操作系统如何使用,更重要的是从原理的角度对操作系统的功能做了分析、设计,从无到有循序渐进一点点的增加操作系统的功能,并且每增加一个功能便配以一个例子加以演示,让读者能立刻看到代码运行的结果。 本手册记录了我从对操作系统内核不了解到写出操作系统内核的过程,这样的一个过程对你来说应该也是一个最好的学习过程。 如果你有一定的C语言基础,并且对硬件也有稍微的了解,那么我相信你一定会看明白本手册!也一定可以随心所欲的修改、扩展你需要的操作系统功能!

这两个小操作系统内核开始是在拥有ARM7内核的ADI芯片——aduc7026上编写的,使用wanlix写了一个交通红绿灯的小游戏:



下面是任务切换的打印和时序图:



然后移植到了TI的LM3S8962芯片上,后来发现大家用的更多的是TI的STM32F10X系列的,又简单的移植了一下就可以在STM32芯片上跑了。为了展示一下功能,在cortex内核的2块板子上用mindows操作系统写了个俄罗斯方块的小游戏:

论坛徽章:
12
寅虎
日期:2013-12-04 20:37:4915-16赛季CBA联赛之广东
日期:2017-08-22 19:23:1215-16赛季CBA联赛之上海
日期:2016-06-18 23:05:05操作系统版块每日发帖之星
日期:2016-06-06 06:20:00操作系统版块每日发帖之星
日期:2016-06-05 06:20:00操作系统版块每日发帖之星
日期:2016-06-03 06:20:002015年辞旧岁徽章
日期:2015-03-03 16:54:152015年亚洲杯之巴勒斯坦
日期:2015-02-10 21:38:08卯兔
日期:2014-10-31 20:42:23申猴
日期:2014-06-11 17:15:10处女座
日期:2014-05-22 09:00:1815-16赛季CBA联赛之广夏
日期:2017-09-25 23:37:46
2 [报告]
发表于 2012-05-27 13:52 |只看该作者
虽不明,但觉厉。 看看。

论坛徽章:
0
3 [报告]
发表于 2012-05-27 14:54 |只看该作者
很牛逼么?

论坛徽章:
0
4 [报告]
发表于 2012-05-27 17:19 |只看该作者
内核, 好牛哦,!

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
5 [报告]
发表于 2012-05-27 19:31 |只看该作者
upupup..

论坛徽章:
59
2015年亚洲杯之约旦
日期:2015-01-27 21:27:392015年亚洲杯之日本
日期:2015-02-06 22:09:41拜羊年徽章
日期:2015-03-03 16:15:432015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015元宵节徽章
日期:2015-03-06 15:50:392015年亚洲杯之阿联酋
日期:2015-03-19 17:39:302015年亚洲杯之中国
日期:2015-03-23 18:52:23巳蛇
日期:2014-12-14 22:44:03双子座
日期:2014-12-10 21:39:16处女座
日期:2014-12-02 08:03:17天蝎座
日期:2014-07-21 19:08:47
6 [报告]
发表于 2012-05-27 19:32 |只看该作者
  1. mindows
复制代码
  1. :funk:
复制代码

论坛徽章:
0
7 [报告]
发表于 2012-05-28 05:29 |只看该作者
walleeee 发表于 2012-05-27 14:54
很牛逼么?


不牛B,就是写个小软件拿出来和大家分享一下,里面一定会有很多错误,还请你嘴下留德

这位同学,在另一个帖子里看你连续喷,你没工作过吧,不要纯粹为了喷人而去喷人,自己多学点,不要看了几本书就去乱喷

论坛徽章:
0
8 [报告]
发表于 2012-05-28 09:45 |只看该作者
本帖最后由 Reallsc 于 2012-05-28 10:05 编辑

支持一下,东西很实用。
对了,我看到代码里有ST和TI两个大目录,不同于uboot等常见的arch或CPU下跟两个子目录的方式。
合并一下怎么样?

论坛徽章:
0
9 [报告]
发表于 2012-05-28 10:18 |只看该作者
学习帮顶...

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:48:31平安夜徽章
日期:2015-12-26 00:06:30C
日期:2016-10-25 16:26:25
10 [报告]
发表于 2012-05-28 11:18 |只看该作者
楼主强大,如果有内存管理和驱动模型就更好了。:wink:
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP