uCOSII只提供了操作系统内核,用户要自己添加文件处理、人机界面、网络接口等重要部分。其中Shell(人机界面)提供了人与机器交互的界面,是机器服务于人的体现,是系统必不可少的重要组成部分。现代的很多OS如UNIX、DOS、VxWorks都提供了友好的命令行界面。Windows更是提供了GUI。大部分人认识OS都是从这里开始的。 由于Skyeye下的仿真串口USART已经实现了中断方式的接收(实际是从键盘接收输入),而且串口输出(实际上是输出到终端屏幕)也已经实现,所以实现一个类似DOS或Bash的简化版Shell并不困难。其本质思想就是:Shell作为一个uC/OSII下的任务,接收用户输入的字符,存储到缓冲区,并回显在屏幕上,以回车键为用户输入的结束信号,随后解析用户输入的命令名称、参数,调用相应的命令函数。一直到这个命令函数运行返回,才继续Shell的人机交互界面。Shell作为一个任务工作于内核之外,占用一个任务号。