uCOS51 移植心得.docVIP

  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文档。上传文档
查看更多
引言  uCOS51 移植心得 巨龙公司系统集成开发部 杨屹 asdjf@163.com 2002/10/03 自从发表 uCOS51 移植心得 以来 我收到了很多朋友们的来信 大家对公开源码表 示鼓励 谢谢大家的支持 很多人对于编写自己的操作系统很感兴趣 uCOS51 是个不错的 选择 它的优点是简单易懂 学习成本低 有利于向 32 位 CPU 过渡 目前 嵌入式 BBS 上的热点是 嵌入式实时多任务操作系统 单片机上网 32bitCPU 如 ARM 等 其实通 过 uCOS51 学习完全可以掌握这些热门技术的精髓 而且学习成本低廉 为此我会陆续将我 在研发过程中的经验体会写出来与大家交流 共同进步 我准备讨论以下内容 uCOS51 高效内核 OS 人机界面 SHELL 的编写 51 机开发板 的硬件设计 RTL8019AS 网卡驱动程序 51TCP/IP 协议栈设计 应用协议 FTP PPP HTTP SMTP SNMP 在 51 上的实现技术 51OS 任务划分和应用程序实例 由 51 软件系统向 ARM 的移植以及其他想到的题目 欢迎大家积极参与 注 开发板原理图 PCB 图 GAL 烧录文件 芯片手册 全部源程序可以来信索取 在整理好后会共享在网上 讨论 1----uCOS51 高效内核 前一段时间 我参与了一个 SNMP 网管板的项目 我负责硬件设计和单板软件开发 该板的硬件由 MCS51+RTL8019AS 组成 有 64K FLASH 和 64K SRAM 软件部分有操作 系统和 TCPIP 协议栈 硬件比较简单 用了一个月就搞定了 协议栈我参考了老古开发板 的部分程序又上网找了 SNMP 源代码也很快完成了 但是测试时发现当使用较低时钟频率 的 CPU 时 为了降低成本 由于 ASN.1 编解码部分过于庞大 而我的程序又是一个大循 环 AGENT 的响应速度受到严重影响 用户界面也反应迟钝 更坏的消息是公司为了适应 市场需求 还要在上面跑 PPP 和 HTTP 那样的话 我就得用 40MHz 的 AT89C51RD2 或者 人为的把程序断成几部分然后用状态机的方法在运行时再把它们连接起来 不过 我不想增 加成本 也不想把程序搞乱 迫不得已 只好使用操作系统 说实在的 一开始我也不是很有把握 一来我不清楚 51 的 FLASH 是否装得下这么多 代码 二来我只做过 OS 应用开发 对于它的移植想都不敢想 不过 我在 BBS 上搜索了 一阵儿后还是有了一些头绪 我找到了几个 OS 的源代码 我喜欢用现成的 按照代码大 小 实时性 使用人数 众人口碑等标准 最后选定了 uCOS2 我感觉它的实时性有保障 延时可预测 代码据说可小到 2K 网上讨论这个话题的人也比较多 而且它的网站上有针 对 KEIL C51 的移植实例 经过一番查找 我得到了 5 个版本 其中 3 个是用 KEIL 编译的 本来我想直接把 OS 代码嵌到应用程序中 但后来发现没有一个可以直接使用 有的无法用 KEIL 直接编译 有 的需要修改 DLL 在软件仿真下使用 而我需要的是能在串口输入输出 不需要修改任何无 关软件 能在软件仿真和硬件上运行的实时多任务操作系统 没有办法 我只好硬着头皮去 改编 我分析了自己的劣势 1 KEIL 刚开始使用 不太熟悉 2 混合编程以前从没有作过 3 时间紧迫 要在 1 个月内搞定 而我的优势就是有 5 个移植实例可供参考 可以上网查 资料 一开始 我用 堆栈 混合编程 汇编  ucos 等关键字在 C51BBS 和老古论 坛上检索相关信息并逐条阅读 读过之后 头脑中的思路逐渐清晰了 我了解到在 KEIL 的 HLP 目录下有 A51.PDF 和 C51.PDF 非常全面的介绍了汇编和 C51 是 KEIL 的权威用户手 册 SP 初始化 内存清 0 等操作在 STARTUP.A51 文件中实现 用户可以改写它 KEIL 的 变量 子程序等的分配信息可以在.M51 文件里查到 KEIL 自己的论坛里有很多疑难问题的 解答 通过阅读并经过思考 解决了堆栈起点 堆栈空间大小的设定等关键问题 论坛里 的问题有些是我没有想到的 这使我发现了自己的疏漏 在网上获得大量信息后 我开始阅读 uCOSII 中文版 一共读了 3 遍 第一遍是浏 览 了解到 uCOSII 包括任务调度 时间管理 内存管理 资源管理 信号量 邮箱 消息 队列 四大部分 没有文件系统 网络接口 输入输出界面 它的移植只与 4 个文件相关 汇编文件 OS_CPU_A.ASM 处理器相关 C 文件 OS_CPU.H OS_CPU_C.C 和配置文 件 OS_CFG.H 有 64 个优先级 系统占用 8 个 用户可创建 56 个任务 不支持时间片

文档评论(0)

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

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

1亿VIP精品文档

相关文档