Ubuntu工具---minicom安装和使用
参考自:https://blog.csdn.net/qq_41076734/article/details/116885672
https://www.imooc.com/article/254136
https://blog.csdn.net/u011559046/article/details/118867666
1. 前言
在嵌入式开发中,串口打印是工程师最常用也是最好用的调试方式,所以串口终端软件是一个嵌入式开发者必备的工具,一般我们都习惯使用Windows下的串口终端软件(譬如SecureCRT、Xshell、putty等等),今天我介绍一款Ubuntu下的串口终端软件 minicom。
2. 安装
在Ubuntu终端中输入命令 sudo apt-get install minicom
进行安装。
3. 配置
第一次启动时,在Ubuntu终端中输入 sudo minicom -s
,对minicom进行第一次的配置。
注意:前边一定要加sudo,否则在配置完后会出现 cannot write to /etc/minicom/minirc.dfl 的权限问题!
在弹出的对话框内,选择 Serial port setup 一项,然后按下 a 键,修改为 /dev/ttyUSB0
,然后按下回车; //之所以选择 ttyUSB0,是因为我将串口插到主机上后在 dev 目录下多出来的就是 ttyUSB0
再按 e,修改为 115200 8N1
(波特率:115200,数据位:8,奇偶校验位:N 无,停止位:1),设置传输的比特率等设置,然后按下回车;
再按 f,把 Hardware Flow Control
修改为No,然后按下回车;
再在刚才的主菜单中选择 Save setup as dfl
,保存为默认配置,最后选择Exit from minicom,退出配置菜单。
这个配置过程和内容,与Windows下的串口终端软件的配置没什么区别,就是设置串行端口号、波特率、流控。
注意:非正常关闭minicom,会在/var/lock下创建几个文件LCK*,这几个文件阻止了minicom的运行,将它们删除后即可恢复。
4. 启动
在第三步配置完成并保存的情况下,在终端中执行命令 sudo minicom
来启动minicom,将开发板与电脑用串口线连接起来并上电启动,这时 minicom 界面就会有打印出来。
还可以通过命令 sudo minicom -D /dev/ttyUSB0 -s xr872
在启动minicom时指定端口号和配置文件(需存在 /etc/minicom/minirc.xr872
文件)。
此时会有打印输出,但是没有换行或者没有回显,还需要对minicom进行配置,如下所示:
5. 退出
首先按下CTRL+A,然后输入Z,进入菜单项,按下X键退出minicom。
6. 配置权限
注意:minicom 本身不需要sudo权限,但因为要打开串口设备/dev/xxx ,所以一般会需要使用sudo来启动minicom。
这里我们可以修改下串口设备的权限,这样以后就不用使用sudo了。
方式一:使用命令更改
简单粗暴地使用chmod命令修改
sudo chmod 666 /dev/ttyUSB0
方式二:配置udev规则(推荐)
修改配置文件
sudo vim /etc/udev/rules.d/70-ttyusb.rules
增加一行
KERNEL=="ttyUSB[0-9]*", MODE="0666"
修改后,需要重新插拔设备,以重新生成设备节点。
7. 自动设置设备名
如果日常只用一个设备,设备名固定是 /dev/ttyUSB0
,那每次直接打开minicom即可。
但当你可能需要使用多个串口时,问题就来了,每次需要先查看下设备名
ls /dev/ttyUSB*
再配置下minicom,手工改成这个设备,才能使用。一点都不方便。
这里给出了解决方式:
使用参数指定设备(推荐)
研究mincom的参数后,发现使用 minicom 的 -D 参数可以很简单的实现。
编写脚本 ~/.myminicom.sh
com() {ports_USB=$(ls /dev/ttyUSB*)ports_ACM=$(ls /dev/ttyACM*) #arduinoports="$ports_USB $ports_ACM"select port in $ports;doif [ "$port" ]; thenecho "You select the choice '$port'"minicom -D "$port" "$@"breakelseecho "Invalid selection"fidone
}
在~/.bashrc中引入此函数
echo 'source ~/.myminicom.sh' >> ~/.bashrc
source ~/.bashrc
添加完毕后,可使用 com 命令调用。
使用效果
houxiaoni@houxiaoni-Haier-PC:~$ com
1) /dev/ttyUSB0
2) /dev/ttyUSB1
#?
此时输入数字,选择要的打开的串口设备,回车即可。
8. 自动保存log
让 minicom 自动保存log,可以方便调试。
查看参数,minicom可以使用 -C 参数指定保存log文件。于是完善脚本,自动把log以日期命名,保存到 ~/Log
目录下。
注意,如果保存到 /tmp 目录需谨慎,tmp目录关机即清空,如果想持久保存log,需要修改到其他目录。
com() { ports_USB=$(ls /dev/ttyUSB*)ports_ACM=$(ls /dev/ttyACM*) #arduinoports="$ports_USB $ports_ACM"datename=$(date +%Y-%m-%d-%H-%M-%S)select port in $ports;doif [ "$port" ]; thenecho "You select the choice '$port'"minicom -D "$port" -C ~/Log/"${port##*/}-$datename".log "$@"breakelseecho "Invalid selection"fidone
}
下面还介绍了两种保存log的方式,这两种方式都需要每次进行设置,不如上面使用脚本的方式便捷。
方法一:
通过如下命令可以使minicom 从系统获取准确的时间保存log
sudo minicom -c on -C Log/com-log-$(date +%Y-%m-%d_%H:%M:%S).log
sudo minicom -D /dev/ttyUSB0 -C Log/com-log-$(date +%Y-%m-%d_%H:%M:%S).log
(指定端口号)
方法二:
首先打开minicom,然后按一下ctrl + a,再按z键,会出现下面这个界面:
看到Capture on/off这个选项,按下L键,会出现下面的窗口:
提示输入一个Capture的文件名,默认就是minicom.cap,上图我做了修改,然后按一下回车,就可以将log信息保存到一个文件中了,这样遇到log相对较多也能抓取完整,也方便我们查看。
9.自动设置配置文件
com() {ports_USB=$(ls /dev/ttyUSB*)ports_ACM=$(ls /dev/ttyACM*) #arduinoports="$ports_USB $ports_ACM"datename=$(date +%Y-%m-%d-%H-%M-%S)confs=$(ls /etc/minicom/minirc.*)set_conf=""select conf in $confs;doif [ "$conf" ];thenecho "You select the choice '$conf'"conf_name=$(basename "$conf")conf_ext=${conf_name##*.}set_conf="-s $conf_ext"breakelseecho "Invalid selection, use the default configuration."breakfidoneselect port in $ports;doif [ "$port" ]; thenecho "You select the choice '$port'"minicom -D "$port" $set_conf -C ~/Log/"${port##*/}-$datename".log "$@"breakelseecho "Invalid selection"fidone
}
使用效果
houxiaoni@houxiaoni-Haier-PC:~$ com
1) /etc/minicom/minirc.bl606p 3) /etc/minicom/minirc.xr872
2) /etc/minicom/minirc.dfl
#? 1
You select the choice '/etc/minicom/minirc.bl606p'
1) /dev/ttyUSB0
2) /dev/ttyUSB1
#?
10. 更多
(1)暂停输出
Ctrl+A 是mimicom的特殊功能前缀按键,但还有另一个很实用的作用,就是暂停屏幕输出。
在设备开始大量输出log时,基本看不清屏幕内容。此时可以按 Ctrl+A,暂停输出,方便查看所需log。
Ctrl+A 进入特殊功能:
- 按 Z 键:进入设置菜单
- 按 O 键:打开配置选项
- 按 W 键:自动卷屏。当显示的内容超过一行之後,自动将後面的内容换行。这个功能在查看内核的啓动信息时很有用
- 按 C 键:清除屏幕的显示内容
- 按 B 键:浏览minicom的历史显示
- 按 X 键:退出minicom,会提示确认退出
- 按 N 键:可激活时间戳,在每行log前添加当前系统的时间戳
- 按 S 键:可向设备端发送文件
- 按 R 键:可接收文件
(2)打开minicom时间戳
在minicom中,按下 Ctrl+A,再按 N,即可激活时间戳,在每行log前添加当前系统的时间戳。
用于观察启动时间之类的,还是比较方便。
(3)发送接收文件
设备端支持的话,按下 Ctrl+A,再按 S,即可向设备端发送文件。
按 Ctrl+A,再按 R,可接收文件。
(4)自动换行
当你的log中可能存在,单行长度超过屏幕宽度的log时(比如启动时打印的kernel cmdline),可以使用mimicom的自动换行功能。
在启动minicom时加上 -w 选项,或者在minicom中,按 Ctrl+A 再按 W。
(5)更多功能
可以使用 minicom -h 查看,也可在mincon中,按 Ctrl+A 再按 Z 查看。
(6)源码
文中的代码非最新版本,请访问 https://github.com/zqb-all/EasierMinicom 获取带有更多功能的最新版本。
11. 附录
网上提供的其他自动脚本,供以后参考使用。参考:EasierMinicom
com() {local ports_USB ports_ACM ports datename dev devs dev_countports_USB=$(ls /dev/ttyUSB* 2>null | xargs -I {} basename {})ports_ACM=$(ls /dev/ttyACM* 2>null | xargs -I {} basename {})ports="$ports_USB $ports_ACM"#check lockdevs=""dev_count=0for dev in ${ports}; do! ls /run/lock/*"${dev}"* &>/dev/null && {devs+="${dev} "((dev_count++))}done[ -z "$devs" ] && echo "No Unlock Devices" && return 0datename=$(date +%Y%m%d-%H%M%S)if [ $dev_count -eq 1 ]; thendev=$devselse#select dev to openecho "Please select one device: (Ctrl+C to abort)"select dev in $devs; doif [ "$dev" ]; thenecho "You select the '$dev'"breakelseecho "Invaild selection"fidonefiout="/tmp/$(basename ${dev}).$datename.log"keep_dir="${HOME}/minicom_keep"minicom $dev -C "${out}" "$@"[ -f "${out}" ] && {echo log : "${out}"read -p "Keep it? [y|N]: " keep[ "${keep}" = 'Y' -o "${keep}" = 'y' ] && {read -p "Enter file name > " keep_file_name[ x"$keep_file_name" = x"" ] && keep_file_name=$(basename "${out}")mkdir -p "$keep_dir"cp "${out}" "${keep_dir}/$keep_file_name"echo "saved in $keep_dir/$keep_file_name"}}read -p "Vim it? [y|N]: " edit_vim[ "${edit_vim}" = 'Y' -o "${edit_vim}" = 'y' ] && vim "${out}"
}
- 自动检测未锁定的设备,如果有多个则列出给用户选择,如果只有一个则直接使用。
- 默人加载 /etc/minicom/minirc.${dev} 的配置文件。
- 自动保存log到/tmp目录,退出时,询问是否要保存到另外的目录。
使用
echo "source $(pwd)/EasierMinicom.sh" >> ~/.bashrcsource ~/.bashrccom
Ubuntu工具---minicom安装和使用相关推荐
- ubuntu中minicom安装和使用
想要对嵌入式开发板进行开发和操作,都需要进行文件传输或者是控制,这时基本都是需要通过串口线或者是网线进行连接的,在Windows下是使用超级终端通过串口对开发板进行操作的,而在Linux下,最后最常见 ...
- minicom指令_Linux下的命令行串口工具minicom安装和使用教程
Linux下的Minicom的功能与Windows下的超级终端功能相似,可以通过串口控制外部的硬件 设备.适于在linux通过超级终端对嵌入式设备行管理.同样也可以使用minicom对外置Modem进 ...
- ubuntu安装串口工具minicom
电脑端安装串口工具minicom 在Ubuntu终端中输入命令 sudo apt-get install minicom 进行安装. 第一次启动时,在Ubuntu终端中输入 sudo minicom ...
- 在Ubuntu|CentOS上安装Shutter截图工具及快捷键设置
简介 Shutter前身叫GScrot,它是一款相当棒的截图软件. 通过Shutter,你可以截取包括选定区域.全屏幕.窗口.窗口内的控件甚至网页的图像.通过内置的强大插件机制,你可以在截图后,对图像 ...
- linux gif 编辑软件,Ubuntu 16.10 安装byzanz截取动态效果图工具
Ubuntu 16.10 安装byzanz截取动态效果图工具 1.了解byzanz截取动态效果图工具 byzanz能制作文件小,清晰的GIF动态效果图,不足就是,目前只能通过输入命令方式来录制. by ...
- ubuntu 20.04 安装 flameshot截图工具
ubuntu 20.04 安装 flameshot截图工具 安装命令 使用命令 设置快捷键 效果图 安装命令 sudo apt-get install flameshot 安装日志 $ sudo ap ...
- linux 安装软件 垃圾,Ubuntu 18.04 安装垃圾清理工具 BleachBit 2.2
Ubuntu 18.04 安装垃圾清理工具 BleachBit 2.2 BleachBit 可以清理系统缓存文件, 清理磁盘垃圾.下面记录在Ubuntu 18.04下安装垃圾清理工具 BleachBi ...
- ubuntu 20.04 安装 免费 Beyond Compare对比工具
ubuntu 20.04 安装 免费 Beyond Compare对比工具 下载安装包 安装 免费使用 成功的重要标志 效果图 下载安装包 https://www.scootersoftware.co ...
- #Ubuntu#__装机必备__常用软件和工具库安装
#Ubuntu#__装机必备__常用软件和工具库安装 一.常用软件与功能库 1. 常用软件: 2. 常用库: 3. 代码管理工具git 4. C++开发: 5. python开发: 6. 其他库: 二 ...
最新文章
- Silverlight学习笔记之文字特效之ImageBrush
- python如何开启多进程_python如何写多进程
- iOS - UIRefreshControl
- 【渝粤教育】电大中专跨境电子商务理论与实务 (28)作业 题库
- js二级下拉被flash档住的解决办法
- linux原理与应用期末考试,武汉大学计算机学院2009-2010学年第一学期期末考试《Linux原理与应用》期末考试试卷(共8套,有答案)...
- Ajax提交与传统表单提交的区别说明
- java自动封箱_Java程序员面试,自动封箱/拆箱原理与包装类的缓冲机制你知道么?(转)...
- Notes for Linux Administration Handbook (1) : Booting and Shutting Down
- 54.用环信实现聊天功能
- 韦根协议 wiegand
- EXCEL 未启用宏,但包含启用宏的内容
- 依次计算一系列给定字符串的字母值,字母值为字符串中每个字母对应的编号值(A对应1,B对应2,以此类推,不区分大小写字母,非字母字符对应的值为0)的总和
- 我真的不懂微信营销(一)
- 走近秦岭深山小镇--四亩地镇
- 【Transformers】第 5 章 :文本生成
- 微型计算机室内太干燥,暖气屋里太干燥怎么办 七种方法增加室内湿度
- 对于nth-child()的理解
- 适用于老版本的魔兽世界登陆器编写指南
- IDEA使用maven配置内置的Tomcat8
热门文章
- 智能名片,这个名字起的真不好
- three.js自定义材质 切线空间及阴影
- MongoDB-Cannot autogenerate id of type java.lang.Long for entity of type
- 关于Mask_RCNN的工程化应用cpu服务器部署日记(一)
- jvm有这一篇就够了,深入理解
- 哪款蓝牙耳机降噪效果好?降噪效果好的蓝牙耳机推荐
- 【网络安全】通过Redis2.x实现ssh未授权访问
- 西典冲刺上交所:拟募资8.7亿 实控人盛建华已移民加拿大
- JDBC连接数据库步骤
- linux 网卡自动挂死,shell脚本自动检测网络掉线和自动重连