嵌入式实时操作系统RT-Thread原理与应用第10章 FinSH控制台.docVIP

嵌入式实时操作系统RT-Thread原理与应用第10章 FinSH控制台.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PAGE2

PAGE3

第10章FinSH控制台

10.1 FinSH简介

计算机早期通过打孔纸条输入命令,后来键盘和显示器出现,但无图形界面。Shell作为操作系统外壳,接受和传递命令,方便开发者控制和调试系统。灵活的shell支持多种通讯方式,加速开发过程。

(1)计算机最初通过打孔纸条输入命令和程序。

(2)随着发展,键盘和显示器成为标准输入输出设备。

(3)早期操作系统无图形界面,开发了shell程序作为命令解释层。

(4)shell接收用户命令,传递给操作系统,返回执行结果。

(5)嵌入式设备与PC通讯常用串口、USB、以太网和Wi-Fi连接。

(6)灵活的shell应支持多种连接方式,实现远程命令交互。

(7)shell搭建开发者与系统间桥梁,便于实时监控和控制运行。

(8)使用shell可快速定位问题,调用和调整测试函数,提高调试效率。

(9)减少代码烧录次数,缩短整个项目的开发周期。

FinSH是RT-Thread的命令行组件(shell),正是基于上面这些考虑而诞生的,FinSH的发音为[fn]。

FinSH是RT-Thread的命令行组件,提供一套供用户在命令行调用的操作接口,主要用于调试或查看系统信息。

它可以使用串口/以太网/USB等与PC机进行通信,FinSH硬件连接图如图10-1所示。

图10-1FinSH硬件连接图

用户在控制终端输入命令,控制终端通过串口、USB、网络等多种方式,将命令传送到设备中的FinSH。FinSH接收到设备输入的命令后,会对命令进行解析,并自动扫描其内部的函数表,寻找与命令对应的函数名。

找到对应函数后,FinSH执行该函数,并将执行结果作为回应输出。这个回应会通过原先传入命令的通信路径返回,最终在控制终端上显示出来,完成一次完整的命令交互过程。

当使用串口连接设备与控制终端时,FinSH命令的执行流程,如图10-2所示。

图10-2FinSH命令执行流程图

FinSH支持自动补全、查看历史命令等功能,通过键盘上的按键可以很方便的使用这些功能,FinSH支持的按键如下:

(1)Tab键。当没有输入任何字符时按下Tab键将会打印当前系统支持的所有命令。若已经输入部分字符时按下Tab键,将会查找匹配的命令,也会按照文件系统的当前目录下的文件名进行补全,并可以继续输入,多次补全。

(2)↑↓键。上下翻阅最近输入的历史命令。

(3)退格键。删除符。

(4)←→键。向左或向右移动标。

FinSH支持两种输入模式,分别是传统命令行模式和C语言解释器模式。

10.1.1 传统命令行模式

此模式又称为msh(moduleshell),msh模式下,FinSH与传统shell(dos/bash)执行方式一致。

例如,可以通过cd/命令将目录切换至根目录。

msh通过解析,将输入字符分解成以空格区分开的命令和参数。其命令执行格式如下所示:

command[arg1][arg2][...]

其中command既可以是RT-Thread内置的命令,也可以是可执行的文件。

10.1.2 C语言解释器模式

FinSH支持C-Style和msh两种模式,前者类似C语言,功能强大但体积大,后者轻量且易用。两模式可动态切换,满足不同需求,推荐使用msh模式。

(1)C-Style模式下,FinSH能解析执行大多数C语言表达式和函数调用。

(2)用户需以类似C语言函数调用的形式输入命令,必须包含括号()。

(3)命令输出为函数返回值,无返回值(void)函数不输出结果。

(4)最初FinSH仅支持C-Style模式,但运行脚本较不便且体积较大。

(5)RT-Thread引入了体积小、易用的msh模式,推荐优先使用。

(6)两种模式可在RT-Thread中同时启用,支持动态切换。

(7)msh模式输入exit切换到C-Style模式,C-Style输入msh()切换回msh模式。

(8)两模式命令不兼容,命令互不能用。

10.2 FinSH内置命令

RT-Thread内置FinSH命令,输入help或按Tab可查看所有命令。msh模式下命令动态增加,组件如DFS加载时自动添加相关命令,方便调试。

(1)RT-Thread默认集成若干FinSH内置命令。

(2)在FinSH中输入help或按Tab键可列出所有支持的命令。

(3)C-Style和msh模式的内置命令基本一致。

(4)以msh模式为例,按Tab键可显示当前支持的所有命令。

(5)默认命令数量不是固定,随着组件加载动态增加。

(6)如打开DFS组件,会自动加载ls、cp、cd等文件系统相关命令。

(7)这种动态命令添加机制极大地方便了开发者调试工作。

以下为按下Tab键后打印出来的当前支持的所有显示RT-Thre

文档评论(0)

ning2021 + 关注
实名认证
文档贡献者

中医资格证持证人

该用户很懒,什么也没介绍

领域认证该用户于2023年05月10日上传了中医资格证

1亿VIP精品文档

相关文档