实验 - Shell

为了达到人机交互的目的,Zephyr 提供了一个 Shell 例程,位于 samples/shell 下面。这个 shell 只提供了最基本的功能,额外的功能需要用户根据自己产品的需求进行添加。添加额外功能的方法非常简单,可以参考 Zephyr 的文档 Zephyr OS Shell 或者直接参考源码中的 shell 例程。

Shell 的架构

Shell 的架构如下图所示:

                 shell
             /           \ 
       module1           moudle2    ... 
       /    \           /   |   \
    cmd1    cmd2      cmd1 cmd2 cmd3   ...

整个 shell 子系统由若干个模块(module)组成,而每个模块又由若干过命令组成。用户可以根据自己的需要向 shell 子系统中注册新的模块,并实现这个模块需要完成的命令(具体需要完成哪些命令也由用户决定)。

编译&烧写

进入 shell 所在目录:

$ cd samples/hello-world 
$ make BOARD=frdm-k64f

编译完成后,生成的镜像文件位于samples/shell/outdir/frdk-k64f/zephyr.bin,将其烧写到开发板上面。

实验现象

烧写完成后,对板子复位。通过串口,我们可以通过 help 命令查看 shell 中支持哪些模块:

  shell> help

我们可以通过命令 set_module xxx 进入 xxx 模块:

  shell> set_module kernel

进入 kernel 模块后,命令提示符由 shell> 变为了 kernel>。此时我们可以再使用 help 命令,查看该模块提供了哪些命令:

  kernel> help

我们可以使用 version 命令查看 Zephyr 的版本,使用 uptime 命令查看系统上电后运行了多久(单位是毫秒)等等。

  kernel> version
  kernel> uptime

总结

Zephyr 中的 shell 可以用短小精悍来形容,虽然它提供的模块非常少,但是模块的开发非常方便,而且然还支持 tab 键补全等一些暖心功能。

[email protected], all right reserved,powered by Gitbook该文件修订时间: 2017-04-27 03:14:49

results matching ""

    No results matching ""