资料介绍
自从发表《uCOS51移植心得》以来,我收到了很多朋友们的来信,大家对公开源码表示鼓励,谢谢大家的支持!很多人对于编写自己的操作系统很感兴趣,uCOS51是个不错的选择。它的优点是简单易懂,学习成本低,有利于向32位CPU过渡。目前,嵌入式BBS上的热点是:嵌入式实时多任务操作系统、单片机上网、32bitCPU(如ARM等)。其实通过uCOS51学习完全可以掌握这些热门技术的精髓,而且学习成本低廉。为此我会陆续将我在研发过程中的经验体会写出来与大家交流,共同进步。我准备讨论以下内容:uCOS51高效内核、OS人机界面SHELL的编写、51机开发板的硬件设计、RTL8019AS网卡驱动程序、51TCP/IP 协议栈设计、应用协议FTP、PPP、HTTP、SMTP、SNMP……在51上的实现技术、51OS任务划分和应用程序实例、由51软件系统向ARM的移植以及其他想到的题目。欢迎大家积极参与。
前一段时间,我参与了一个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个任务,不支持时间片轮转。第二遍主要是把整个工作过程在头脑里过了一下,不懂的地方有针对性地查书,重点是思考工作原理和流程。我发现其实它的思路挺简单的。就是 “近似地每时每刻总是让优先级最高的就绪任务处于运行状态” 。为了保证这一点,它在调用系统API函数、中断结束、定时中断结束时总是执行调度算法。原作者通过事先计算好数据,简化了运算量,通过精心设计就绪表结构,使得延时可预知。任务的切换是通过模拟一次中断实现的。第三遍重点看了移植部分的内容。对照实例,研究了代码的具体实现方法。
- 开发51单片机操作系统时应注意哪些问题资料下载
- 51单片机简单操作系统的定时器切换任务的工程文件免费下载 5次下载
- 使用51单片机创建工程的操作流程详细资料免费下载
- 使用51单片机简单实现小型操作系统的程序免费下载
- 51单片机中断的简单学习资料免费下载
- 51单片机的入门学习资料免费下载
- 51单片机的中断系统学习资料和使用程序免费下载
- 51单片机的基础知识学习笔记资料免费下载
- 51单片机的延时函数资料免费下载
- 51单片机的PWM程序资料免费下载 74次下载
- 32位单片机与嵌入式操作系统的测试复习题和答案资料免费下载 12次下载
- 单片机教程之51系列单片机的指令系统资料免费下载 9次下载
- 如何简单快速学习51单片机?51单片机记忆歌资料免费下载 32次下载
- C51单片机上移植UCOS操作系统的详细资料和程序免费下载 28次下载
- 51单片机多任务操作系统的原理与实现 16次下载
- AT89S51单片机功能及特点 4665次阅读
- 使用51单片机读写AT29C040的C语言程序免费下载 4529次阅读
- HD44780读写单片机C51程序免费下载 4146次阅读
- 51单片机操作系统开发中有什么技巧会碰到什么问题 2898次阅读
- PIC单片机以及51和AVR单片机的IO口操作方法解析 2951次阅读
- 初学者该如何快速的学习单片机 1784次阅读
- PIC单片机和51单片机谁更容易于学习 3645次阅读
- PIC单片机以及51单片机和AVR单片机的IO口操作方法介绍 1931次阅读
- 开发51单片机操作系统注意事项 4545次阅读
- 51单片机的学习步骤 8220次阅读
- 如何学习51单片机 4929次阅读
- 51单片机实时操作系统的基本结构与模式 5400次阅读
- 新手学习单片机的首选:51单片机 8536次阅读
- 51单片机教程第3讲-控制引脚 3469次阅读
- 51单片机学习感悟与51单片机上拉电阻心得 4229次阅读
下载排行
本周
- 1TC358743XBG评估板参考手册
- 1.36 MB | 330次下载 | 免费
- 2开关电源基础知识
- 5.73 MB | 6次下载 | 免费
- 3100W短波放大电路图
- 0.05 MB | 4次下载 | 3 积分
- 4嵌入式linux-聊天程序设计
- 0.60 MB | 3次下载 | 免费
- 5基于FPGA的光纤通信系统的设计与实现
- 0.61 MB | 2次下载 | 免费
- 651单片机窗帘控制器仿真程序
- 1.93 MB | 2次下载 | 免费
- 751单片机大棚环境控制器仿真程序
- 1.10 MB | 2次下载 | 免费
- 8基于51单片机的RGB调色灯程序仿真
- 0.86 MB | 2次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 2555集成电路应用800例(新编版)
- 0.00 MB | 33564次下载 | 免费
- 3接口电路图大全
- 未知 | 30323次下载 | 免费
- 4开关电源设计实例指南
- 未知 | 21549次下载 | 免费
- 5电气工程师手册免费下载(新编第二版pdf电子书)
- 0.00 MB | 15349次下载 | 免费
- 6数字电路基础pdf(下载)
- 未知 | 13750次下载 | 免费
- 7电子制作实例集锦 下载
- 未知 | 8113次下载 | 免费
- 8《LED驱动电路设计》 温德尔著
- 0.00 MB | 6653次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935054次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537796次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234315次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233046次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191185次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183279次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138040次下载 | 免费
评论
查看更多