minicom runscript

2024-05-28 07:08
文章标签 minicom runscript

本文主要是介绍minicom runscript,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


minicom 的example code 放在/usr/share/doc/minicom/examples

=================================================================

转载时请注明原文出处(http://blog.sina.com.cn/wyw1976)及作者邮箱(wyw1976@gmail.com)

 

Tera Term通过TTL 宏语言 (Tera Term Language)为模拟终端用户提供了丰富的编程接口,应用这些接口可以完成很多自动化方面的工作。但是Tera Term当前只有Windows版本,如果在Linux上也有类似的需求,怎么办呢?

 

    在Linux上的模拟终端工具minicom也支持自己的脚本语言,即runscript。确切的说runscript只是minicom内建的一个脚本解析器,即只能通过minicom调用,就像TTL脚本只有在tera term中有效一样。

 

 

 

    有关minicom 和 runscript的详细帮助, 可以“man minicom”或“man runscript”查看帮助信息。

 


软件安装
    只要在Linux PC 上安装minicom即可。

 

硬件连接
    将Linux PC 与开发板通过串口连接
编辑脚本
    可以使用任何顺手的编辑工具编辑脚本, 如VIM, notepad等。

 

运行脚本
    第一方式方式:直接在命令行中指定脚本

 

     minicom -S your_script_file
    注意这里的参数是大S,不是小s(小s表示进入minicom的设置模式)。当然minicom后仍然可以跟其他的参数
   

 

     第二种方式:

 

    (1)运行minicom (不指定脚本)
    (2)在minicom成功启动后,按功能键Ctl+A, 然后按G, 出现如下的窗口,在“Name of script”中设置脚本的文件名:

 

               minicom <wbr>& <wbr>runscript <wbr>介绍(1)

 

      需要指定绝对路径,否则将在启动minicom时所在的路径中寻找。如果没有找到指定的脚本,将打印出“runscript: couldn't open your_script_file”

  
下面就结合例子看看runscript脚本的语法和函数。

 

 

 

场景1:
    启动uboot后,出现“Hit any key to stop autoboot”,如果10秒内用户按任何键,则进入uboot命令行模式,否则进行自动启动模式。
    现在我们用runsctip脚本模拟用户键盘输入,进入uboot的命令行模式。程序代码如下:

 

 

 

         minicom <wbr>& <wbr>runscript <wbr>介绍(1)

 

 

 

 

 

 

 

  有关上面的代码,说明如下:
(1)expect是runscript中最重要的一个命令,因为几乎所有的自动化工作都依赖于它。 它的语法如下:

 

       expect {
                pattern_1  [statement_1]
                pattern_2  [statement_2]
                .....
                pattern_n  [statement_n]
               [timeout <value> [statement_t] ] 
       }

 

 

 

    其中 pattern_*, 是字符串, 而statement_*是某个runscript支持的命令, minicom会将接受到的每个字符串依次与每个pattern_*比较,如果匹配,则执行之后的命令,一般这个命令就是break或goto。timeout也是runscript的一个命令,它指定了等待时间,如果等待时间到,则这行 timeout后的命令(statement_t), 然后从expect中退出。注意,
每个pattern后面最多只能跟一条命令。
timeout后也只能跟一条命令,多余的不会被执行
expect 退出只有两种情况:1)timeout 2)用户主动调用break或goto
expect 中除了上面的pattern_*和timeout,其他的语句都是无效的
  
   在本例中,等待字符串"autoboot",如果等到,则从expect中退出,如果在600秒钟内没有等到,则跳转到TIMOUT_EXIT

 

(2) send 是重要命令,作用是发送一个字符串并跟随一个回车符。本例中,发送一个空的字符串,跟随的回车符就模拟了用户的键盘输出,从而进入了uboot命令行模式

 

(3)runscript的标记行用冒号表示,如例子中的TIMEOUT_EXIT:

 

(4) exit 表示从脚本中退出 (而不是从minicom中退出)

 

(5) 在脚本执行期间,minicom的命令键(Ctrl+A)及其各功能键(a,..., z)是禁止的。

 

(6)runscript的语法要求很严格,例如例子中的expect 后面的"{", 如果写成下面的格式,则expect语句无效,

 

             minicom <wbr>& <wbr>runscript <wbr>介绍(1)

(7)runscript纠错能力不强,有时语句错误不会有任何提示,因此需要严格的按照语法写代码。


============================================================================

很多Tera Term 能做的事情,minicom也做的很好。我们仍以下载Linux OS到板子上为例, 看看runscript中的实现。

    将Linux烧到板子上是bootloader的功能之一,一般有一些列命令组成,例如:

 

                    minicom <wbr>& <wbr>runscript <wbr>介绍(2)

 

   

    用runscrip脚本实现上述命令自动输入的代码如下:

 

      minicom <wbr>& <wbr>runscript <wbr>介绍(2)

 

    上面的代码很简单,无非就是因此输入命令,等待uboot>>出现(表明命令返回)。但是有些冗余,因为每个send之后都是调用相同的一段代码。我们可以利用runscript支持的gosub函数进行代码的简化,如下:

    minicom <wbr>& <wbr>runscript <wbr>介绍(2)

 

 

 

    有关上面的代码,说明如下

  •   gosub是runscript中的一个函数,表示进入某个子过程,子过程的名字格式是:字符串加冒号“:”,这点跟TTL不同(TTL中的是,冒号加字符串)。
  •   子过程中必须有一个return函数,表示从一个子过程中返回,返回到调用的地方。
  •   子过程中仍然可以调用goto跳转到脚本中的任意位置。

 


这篇关于minicom runscript的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1009872

相关文章

Linux minicom - 串口通信

参考: Minicom:https://help.ubuntu.com/community/Minicom 还是minicom好用:http://www.cnblogs.com/pang123hui/archive/2011/05/30/2309887.html Minicom 使用初步:http://www.cnblogs.com/pied/archive/2012/04/10/244

minicom快速使用

minicom快速使用 minicom快速使用安装配置打开minicom minicom快速使用 经常遇到些用户反馈miniom不会使用问题,咨询过于繁巨,这里作一总结 方便以后贴给其它用户查看.使用环境为树莓派系统,硬件为Pi Zero W, 使用ttyS0前记得打开硬件串口关闭串口终端. 安装 打开终端.输入下面命令行,提示按Y输入y后按Enter sudo apt-

Linux中使用minicom 串口调试工具

转载出处: 1、https://www.jianshu.com/p/bae40bd60cd2 2、http://www.waveshare.net/study/article-606-1.html 1.树莓派串口配置: 树莓派串口默认用于终端调试,如需使用串口,则需要修改树莓派设置。 执行如下命令进入 树莓派配置: sudo raspi-config 选择 Interfacin

tftp and minicom

1.sudo apt-get install tftp-hpa tftpd-hpa 重新启动服务 (很奇怪不能直接執行service /etc/init.d/tftpd-hpa restart)一定要先進 入到2的資料夾中 How to configure tftpd-hpa to allow upload of new files? Edit /etc/default/tftpd-hpa

linux下minicom和USB转串口

minicom是linux下串口通信的软件,它的使用完全依靠键盘的操作,虽然没有“超级终端”那么易用,但是使用习惯之后读者将会体会到它的高效与便利,下面将讲解minicom的安装和配置。 一、安装minicom:         使用以下命令:# sudo apt-get install minicom         ubuntu 现在做的真是没话说,相当的实用和智能啊,把

Linux简单通过Minicom命令操作串口设备(linux串口操作命令)

Minicom是一个在Linux系统中广泛使用的串行通信程序。它类似于Windows下的超级终端,允许用户通过串口与外部硬件设备进行通信。Minicom不仅功能强大,而且完全免费,带有源代码,可以在大多数Unix系统下运行。 安装Minicom 在大多数Linux发行版中,Minicom可能没有预装。可以通过包管理器安装Minicom。例如,在Debian和Ubuntu系统中,可以使用以下命令

minicom 的使用

minicom是linux上常用的一个串口工具,这个工具可以将电脑端的文件发送到设备端或者将设备端的文件发送到电脑端。 1,设置串口  指令:minicom -s   选择对应的选项进行设置  选择退出即可打开对应的串口,只需要设置一次,下次直接执行minicom指令就可以进入到串口,沿用之前的配置 2,传输文件  ctrl+a 然后ctrl+s即可通过zmode协议传输文件

minicom配置USB串口遇到到问题

注意下面3点: 1 .  选择Serial port setup,此时所示光标在"Change which setting"上,键入"A",此时光标移到第A项对应处: 此处应写: /dev/ttyUSB0 2.  然后对波特率,数据位和停止位进行配置,键入"E",波特率选为115200 8N1(数据位8,奇偶校验无,停止位1), 3.  硬/软件流控制分别键入"F"和"G",并且都选

ubuntu12.04 minicom安装与使用

1.安装mincom:sudo apt-get install minicom 2.安装完成后输入:sudo minicom -s 2.1选择“Filenames and paths” "A":PC从板子下载的文件放置区域 “B”:PC传送给板子的文件放置区域 2.2选择"Serial port setup"进行配置 “A”:查看你的/dev下是

minicom 16进制显示乱码问题

1.新开一个终端 sudo minicom -s 2.选中Screen and keyboard 3.更改Hex Display为Yes