下载此文档

ucos使用心得.doc


文档分类:IT计算机 | 页数:约22页 举报非法文档有奖
1/22
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/22 下载此文档
文档列表 文档介绍
ucos 使用心得前一段时间,我参与了一个 SNMP 网管板的项目,我负责硬件设计和单板软件开发。该板的硬件由 MCS51+RTL8019AS 组成,有 64K FLASH 和 64K SRAM 。软件部分有操作系统和 TCPIP 协议栈。硬件比较简单, 用了一个月就搞定了, 协议栈我参考了老古开发板的部分程序又上网找了 SNMP 源代码也很快完成了,但是测试时发现当使用较低时钟频率的 CPU 时(为了降低成本),由于 编解码部分过于庞大,而我的程序又是一个大循环, AGENT 的响应速度受到严重影响, 用户界面也反应迟钝。更坏的消息是公司为了适应市场需求, 还要在上面跑 PPP 和 HTTP 。那样的话,我就得用 40MHz 的 AT89C51RD2 或者人为的把程序断成几部分然后用状态机的方法在运行时再把它们连接起来。不过, 我不想增加成本, 也不想把程序搞乱, 迫不得已, 只好使用操作系统。说实在的, 一开始我也不是很有把握, 一来我不清楚 51的 FLAS H 是否装得下这么多代码,二来我只做过 OS 应用开发,对于它的移植想都不敢想。不过,我在 BBS 上搜索了一阵儿后还是有了一些头绪。我找到了几个 OS 的源代码(我喜欢用现成的),按照代码大小、实时性、使用人数、众人口碑等标准, 最后选定了 uCOS2 。我感觉它的实时性有保障,延时可预测,代码据说可小到 2K ,网上讨论这个话题的人也比较多,而且它的网站上有针对 KEIL C51 的移植实例。经过一番查找, 我得到了 5 个版本。其中 3 个是用 KEIL 编译的。本来我想直接把 OS 代码嵌到应用程序中,但后来发现没有一个可以直接使用。有的无法用 KEIL 直接编译,有的需要修改 DLL 在软件仿真下使用。而我需要的是能在串口输入输出, 不需要修改任何无关软件,能在软件仿真和硬件上运行的实时多任务操作系统。没有办法, 我只好硬着头皮去改编。我分析了自己的劣势: 1。 KEIL 刚开始使用,不太熟悉; 2 。混合编程以前从没有作过; 3 。时间紧迫,要在 1 个月内搞定。而我的优势就是有 5 个移植实例可供参考, 可以上网查资料。一开始, 我用“堆栈”、“混合编程”、“汇编”、“ ucos ”等关键字在 C51BB S 和老古论坛上检索相关信息并逐条阅读, 读过之后, 头脑中的思路逐渐清晰了。我了解到在 KEIL 的 HLP 目录下有 和 非常全面的介绍了汇编和 C51 ,是 KEIL 的权威用户手册; SP 初始化、内存清 0 等操作在 文件中实现, 用户可以改写它; KEI L 的变量, 文件里查到; KEIL 自己的论坛里有很多疑难问题的解答……通过阅读并经过思考, 解决了堆栈起点、堆栈空间大小的设定等关键问题。论坛里的问题有些是我没有想到的,这使我发现了自己的疏漏。在网上获得大量信息后, 我开始阅读《 uCOSII 》中文版, 一共读了3 遍。第一遍是浏览,了解到 uCOSII 包括任务调度、时间管理、内存管理、资源管理( 信号量、邮箱、消息队列) 四大部分, 没有文件系统、网络接口、输入输出界面。它的移植只与 4 个文件相关:汇编文件( )、处理器相关 C 文件( 、 ) 和配置文件( )。有 64 个优先级,系统占用 8 个,用户可创建 56 个任务,不支持时间片轮转。第二遍主要是把整个工作过程在头脑里过了一下, 不懂地方有针对性的查书, 重点是思考工作原理和流程。我发现其实它的思路挺简单的。就是“近似地每时每刻总是让优先级最高的任务处于运行状态”。为了保证这一点,它在调用系统 API 函数、中断结束、定时中断结束时总是执行调度算法。原作者通过事先计算好数据, 简化了运算量, 通过精心设计就绪表结构, 使得延时可预知。任务的切换是通过模拟一次中断实现的。第三遍重点看了移植部分的内容。对照实例,研究了代码的具体实现方法。前期准备用了 20 几天,真正编写代码只用了 天,调试用了 2 天。具体过程如下: (1) 拷贝书后附赠光盘 sourcecode 目录下的内容到 C:\YY 下,删除不必要的文件和 , 只剩下 p187( 《 uCOSII 》) 上列出的文件。(2) 改写最简单的 数据类型的设定见 第 176 页。注意 BOOLEAN 要定义成 unsigned char 类型,因为 bit 类型为 C51 特有,不能用在结构体里。 EA=0 关中断; EA=1 开中断。这样定义即减少了程序行数,又避免了退出临界区

ucos使用心得 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数22
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xxj16588
  • 文件大小0 KB
  • 时间2016-06-14