创建51轻量级操作系统.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
前言 , ? , . , 想了很久要不要写这篇文章 最后觉得对操作系统感兴趣的人还是很多写吧我不一定能造出玉但我可以 抛出砖. 51 , 51 . 包括我在内的很多人都对 使用操作系统呈悲观态度因为 的片上资源太少但对于很多要求不高的系 , , , 51 . 统来说使用操作系统可以使代码变得更直观易于维护所以在 上仍有操作系统的生存机会 uCos,Tiny51 , 2051 , , , , 流行的 等其实都不适合在 这样的片子上用占资源较多唯有自已动手以不变应万变才 51 . , OS, OS . 能让 也有操作系统可用这篇贴子的目的是教会大家如何现场写一个 而不是给大家提供一个 版本 提供的所有代码也都是示例代码所以不要因为它没什么功能就说, , LAJI 之类的话如果把功能写全了一来. , 估计你也不想看了二来也失去灵活性没有价值了, . , ,OS 10 , 60 , 下面的贴一个示例出来可以清楚的看到 本身只有不到 行源代码编译后的目标代码 字节任务切 20 . ,KEIL TINY51 800 , 100~700 . 换消耗为 个机器周期相比之下 内嵌的 目标代码为 字节切换消耗 周期唯一 , , , 128B 51 , 不足之处是每个任务要占用掉十几字节的堆栈所以任务数不能太多用在 内存的 里有点难度但对 52 . 36M STC12C4052 , 2uS. 于 来说问题不大这套代码在 主频的 上实测切换任务仅需 #includereg51.h #defineMAX_TASKS2 //任务槽个数必须和实际任务数一至. #defineMAX_TASK_DEP12 // . 2 , 12. 最大栈深最低不得少于 个保守值为 unsigned charidatatask_stack[MAX_TASKS][MAX_TASK_DEP];//任务堆栈. unsigned chartask_id; //当前活动任务号 //任务切换函数任务调度器( ) void task_switch(){ task_sp[task_id]= SP; if(++task_id==MAX_TASKS) task_id= 0; SP=task_sp[task_id]; } /

文档评论(0)

mwap + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档