侵权投诉
订阅
纠错
加入自媒体

AWorks编程:Shell交互界面

2019-03-14 17:21
ZLG致远电子
关注

2.4.2 mount

命令描述

挂载存储设备到指定的文件系统。

语法结构

mount <mount point> <device name> <FS type> 。

取值说明

<mount point> 为挂载点的名称,是必填参数,用户可自行取值。

<device name> 是设备名称,必填参数。

<FS type> 文件系统名称,必填参数。

使用实例

该实例需要插入SD卡,并在系统中开启sd设备(默认开启)。

2.4.3 ls

命令描述

显示当前目录下文件列表。

语法结构

ls [-l][path]

取值说明

[-l] 可选选项,显示详细的文件信息。

[path] 可选参数,路径名称。

使用实例

2.4.4 cd

命令描述

切换目录。

语法结构

cd <path>。

取值说明

<path> 必选参数,路径名称。

使用实例

2.4.5 mkdir

命令描述

创建文件夹。

语法结构

mkdir <path>。

取值说明

<path> 必选参数,路径名称。

● 使用实例

2.4.6 touch

命令描述

创建一个文件。

语法结构

touch <path>

取值说明

<path> 必选参数,路径名称。

使用实例

2.4.7 rmdir

命令描述

删除文件夹。

语法结构

rmdir <path>

取值说明

<path> 必选参数,路径名称。

使用实例

3应用

在项目的开发过程中,用户可参见 aw_shell.h文件创建自己的Shell命令。AWorks Shell 命令的注册又分为命令和命令集两种方式,如系统自带命令stack、clr、ls都是单一命令,而wifi则是命令集,命令集下又包含若干命令表。本文针对这两种方式,分别列举注册方法。

3.1注册Shell命令

以LED外设为例,注册三个控制LED的Shell命令:led_on、led_off和led_toggle。

1、首先定义led shell命令表,命令表实际是一个结构体数组,数组中每个元素就是一个shell命令对象,它包含命令名称、命令描述,和命令要执行的函数。如程序清单 6。

程序清单6 定义led shell命令表

2、定义 led shell 命令对应的功能函数 __shell_led_on、__shell_led_off和__shell_led_toggle。这三个函数定义基本相同,本文仅列出__shell_led_on函数定义如程序清单 7,其他两个函数定义将程序清单 7中的 aw_led_on() API 替换即可。

程序清单7 __shell_led_on函数定义

__shell_led_on 函数类型和 aw_shell_printf () API 说明请查阅 aw_shell.h。aw_led_on API说明请查阅 aw_led.h。该函数执行过程中需要匹配一个参数,所以 led shell命令使用时,要携带LED编号参数:"LED_RUN" 或者 "LED_ERR"。

3、 注册Shell命令。

程序清单8 注册led shell命令

AW_SHELL_REGISTER_CMDS 是注册shell 命令的宏函数,此过程将led shell命令插入总的shell 命令链表中。

打开shell Serial命令终端,建立连接。编译、烧写并启动程序,按下Tab键,可见 led shell命令已经注册成功如图5LED 命令。

图5 LED 命令

led_on

命令描述:点亮LED灯。

使用实例:

led_off

命令描述:关闭LED灯。

使用实例:

led_toggle

命令描述:翻转LED灯。

使用实例:

3.2注册Shell命令集

本文自定义一个demo shell命令集,在demo 命令集下包含func1、func2和func3三个命令。

1、定义命令集对象,命令集对象必须包括进入命令集名称、退出命令集名名称和命令集描述,其他属性为可选项,如程序清单 9。

程序清单9 shell命令集对象

2、定义demo shell命令集包含的命令表,如程序清单10。

程序清单10 demo shell命令集包含的命令表

3、定义命令表中 func1和func2命令对应的功能函数__demo_func1和__demo_func2,如程序清单 11和如程序清单 12。

程序清单11 __demo_func1函数定义

程序清单12 __demo_func2函数定义

4、定义命令表中 func3 命令对应的功能函数__demo_func3,如程序清单 13。

程序清单 13 __demo_func3函数定义

该函数定义较为复杂,执行过程中需要匹配选项 '-w'、'-r'、'-d',各个选项后必须携带固定数量的参数。

5、注册demo shell命令集。

程序清单14 注册shell命令集

AW_SHELL_REGISTER_CMDSET是注册命令集的宏函数,此过程将 .demo 命令集插入shell命令总链表中。

6、打开 Shell Serial 命令终端,建立连接。编译、烧写并启动程序,按下Tab键,可见 demo shell命令集已经注册成功如图 6。

图6 demo命令集

进入 .demo 命令集

按下Tab键,显示 .demo命令集包含的命令表,如图 7。

图7 demo命令集包含的命令表

func1命令

命令描述:打印输出。

使用实例:

func2命令

命令描述:打印输出。

使用实例:

func3命令

命令描述:打印输出

使用实例:

.exit

命令描述:退出 .demo 命令集。

使用实例:

本文使用的硬件平台为M1052_EV_Board开发板,购买可咨询ZLG销售人员;软件平台为 aworks_m105x_sdk_1.0.4-alpha软件包。

<上一页  1  2  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

    电子工程 猎头职位 更多
    扫码关注公众号
    OFweek电子工程网
    获取更多精彩内容
    文章纠错
    x
    *文字标题:
    *纠错内容:
    联系邮箱:
    *验 证 码:

    粤公网安备 44030502002758号