为ucos51增加shell界面

为ucos51增加shell界面

ID:14605348

大小:56.00 KB

页数:9页

时间:2018-07-29

为ucos51增加shell界面_第1页
为ucos51增加shell界面_第2页
为ucos51增加shell界面_第3页
为ucos51增加shell界面_第4页
为ucos51增加shell界面_第5页
资源描述:

《为ucos51增加shell界面》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、为uCOS51增加Shell界面巨龙公司系统集成开发部杨屹asdjf@163.com2002/10/13引言自从发表《uCOS51移植心得》以来,我收到了很多朋友们的来信,大家对公开源码表示鼓励,谢谢大家的支持!很多人对于编写自己的操作系统很感兴趣,uCOS51是个不错的选择。它的优点是简单易懂,学习成本低,有利于向32位CPU过渡。目前,嵌入式BBS上的热点是:嵌入式实时多任务操作系统、单片机上网、32bitCPU(如ARM等)。其实通过uCOS51学习完全可以掌握这些热门技术的精髓,而且学习成本低廉。为此我会陆续将我在研发过程中的经验体会写出来与大家交流,共同进步。我

2、准备讨论以下内容:uCOS51高效内核、OS人机界面SHELL的编写、51机开发板的硬件设计、RTL8019AS网卡驱动程序、51TCP/IP协议栈设计、应用协议FTP、PPP、HTTP、SMTP、SNMP……在51上的实现技术、51OS任务划分和应用程序实例、由51软件系统向ARM的移植以及其他想到的题目。欢迎大家积极参与。注:开发板原理图、PCB图、GAL烧录文件、芯片手册、全部源程序可以来信索取,在整理好后会共享在网上。讨论2----OS人机界面SHELL的编写uCOSII只提供了操作系统内核,用户要自己添加文件处理、人机界面、网络接口等重要部分。其中Shell(人

3、机界面)提供了人与机器交互的界面,是机器服务于人的体现,是系统必不可少的重要组成部分。现代的很多OS如UNIX、DOS、VxWorks都提供了友好的命令行界面。Windows更是提供了GUI。大部分人认识OS都是从这里开始的。uCOS51同样拥有Shell,它是我从以前写的前后台程序中移植过来的。命令行Shell的工作原理比较简单,主要思路就是单片机接收用户键盘输入的字符存入命令缓冲区,并回显到屏幕,当用户按下回车键,触发软件状态机状态变迁,从输入态转移到命令解释态,然后根据用户命令调用相关子程序执行相应操作,执行完毕后重新回到输入态。我感觉原理很好掌握,程序也不长,但是

4、细节部分要反复调试多次才能稳定工作。比如:命令行左右边界的保护、退格键的处理、词表的设计等等。Shell程序由词表、取词子程序、状态机框架程序(输入回显和命令解释执行)、命令相关子程序组成(详见源程序清单)。词表结构如程序清单所示,由词数目,左括号数,右括号数,每个词的具体信息(长度,字符串)构成。左右括号数用于括号匹配检查;词数目用于程序循环;词的具体信息作为解释/执行程序的输入参数。取词子程序从命令行语句中提取单词并存入词表同时进行匹配检查和词法分析。默认字符为:0-9、a-z、A-Z、'.';定界符为:空格、逗号,左/右括号。建议用户补充默认字符集(?/-)以便实

5、现更灵活的语法。注意:现在版本的Shell只检查左右括号数量的匹配,无优先级和语法含义。输入回显程序循环检查用户键盘输入。如果输入回车,程序状态转入解释执行态;如果输入退格(8)则回显退格、空格、退格,模拟删除字符,同时输入缓冲区清除相应字节,清除前先检查左边界是否越界。如越界则鸣响报警且不执行清除操作;其他字符输入直接存入输入缓冲区并回显,此前检查右边界是否溢出,如果溢出则鸣响报警且抛弃刚输入的字符。命令解释程序调用取词子程序分析用户命令行输入,根据词表第一个单词在散转表中的位置调用相应执行子程序处理命令,如果散转表中无此单词,则打印“Badcommand!”。取词子程

6、序返回错误指示时也打印此句。命令解释程序向相应的命令相关子程序传入词表指针,具体执行由用户自行决定。由命令相关子程序返回后重新回到命令输入态,完成一次输入执行全过程。此过程周而复始地循环执行。Shell界面的命令按功能分为以下几组:1。操作系统相关命令:查看就绪任务lt/中止任务kill/恢复任务执行call/CPU利用率usage/版本查询ver/查某个任务信息(TCB、堆栈内容)lt查看切换次数和时间lts2。网络相关命令:显示配置MAC地址macadr/显示配置主机IP地址host/显示配置子网掩码mask/显示配置缺省网关gateway显示网络配置总情况lc/连通

7、测试命令ping/用户数据报发送命令udp/telnet命令tel/相关应用命令**显示ARP高速缓冲区地址对ls/显示发送缓冲区信息lti3。屏幕显示相关命令:清屏clr/帮助help/功能键F3、F7处理/组合键Ctrl+C、Ctrl+B处理4。外设(闪盘X5045和I/O口)相关命令:读闪盘rdx/读I/O口rdp/写闪盘wdx5。安全相关命令:身份认证密码权限usr、pass6。应用相关命令:用户自行定义7。调试相关命令:单步、断点、运行、寄存器等命令,类似68K的TUTOR和ARM的驻留监控程序Angel。怎么样,像

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。