Vmware Ubuntu16.04 x64位开启物理串口,并且通信,apt安装minicom失败,自行编译安装,解决error: BC undeclared (first use in this function)错误

vmware添加windows物理端口

  • 关闭虚拟机
  • 打开虚拟机设置

打开虚拟机设置

  • 选择“使用主机上的物理串行端口(P)”

选择“使用主机上的物理串行端口(P)”

  • 选择物理串口,这里我选择了“自动检测”

选择物理串口

  • 开启虚拟机

编译安装 minicom

首先尝试使用apt命令安装,提示找不到包:

$ sudo apt install minicom
...
E: Package 'minicom' has no installation candidate

Ubuntu x64 版本的 apt 命令一般只寻找 32 位的程序,看来需要自己下载编译安装了,首先执行下面的命令下载相应的程序包并且解压:

$ wget -c https://launchpadlibrarian.net/368498010/minicom_2.7.1.orig.tar.gz
$ tar xf minicom_2.7.1.orig.tar.gz

尝试常规操作:

$ cd minicom_2.7.1
$ mkdir build
$ cd build
$ ../configure --prefix=<安装目录>
$ make -j

但是报错了,报错信息如下:

../../src/window.c:2003:3: error: BC undeclared (first use in this function)
   BC = tgetstr("bc", &_tptr);

查看相应的代码,推测应该是某些依赖库没有装,往上翻阅../configure阶段的输出,发现一系列“no”:

一系列“no”

很明显了,是ncurses库没有安装,执行 apt 命令安装 ncurse 库依然提示找不到包。(Ubuntu 64 位真心不好用)只能自己下载代码编译安装,我下载的是ncurses-6.0.tar.gz

编译安装 ncurses

在 Ubuntu x64 中编译安装 ncurses 是简单的,执行基本步骤即可。

$ tar xf ncurses-6.0.tar.gz
$ cd ncurses-6.0
$ mkdir build
$ cd build
$ ../configure
$ make -j
$ sudo make install

注意,我这里因为 ncurses 是一个通用库,将其安装到系统目录了,如果希望将其安装到指定目录,可以使用 ../configure --prefix=<安装目录> 指定。

安装完 ncurses 后,再去安装 minicom 就可以了。(记得重新 ../configure)

编译和安装 minicom 完成

添加软链接

同样的,因为minicom是一个通用工具,我在系统目录添加了软链接:

$ sudo ln -s <minicom绝对路径>/minicom-2.7.1/bin/minicom /usr/local/bin/minicom

现在在终端下就可以直接输入 minicom 命令了。

使用 minicom 与板卡通信

首先打开 vmware,在下方找到串口图标,点击连接

连接串口

连接后,进入终端,输入下面的命令:

$ dmesg |grep ttyS
[    1.152085] 00:05: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) is a 16550A
[    1.174890] 00:06: ttyS1 at I/O 0x2f8 (irq = 3, base_baud = 115200) is a 16550A

从输出看,我们要使用的端口应该是 /dev/ttyS0 或者 /dev/ttyS1,输入下面的命令:

$ sudo minicom -s

进入串口设置页面:

串口设置页面

选择 Serial port setup,输入不同的字母可以设置不同的选项:

设置

这里我们主要修改 Serial Device 和 Hardware Flow Control,前者很明显应该修改为前面 dmeg命令输出的两个 ttyS,后面的选项可以决定我们是否能够输入,将后者设置为 No,按下回车确认选择 Exit 进入 minicom:

成功和板卡通信

可见,我们成功的与板卡通信了,并且支持键盘输入交互。

怎么退出 minicom

其实 minicom 的界面已经告诉我们了,输入 ctrl+A 然后松开,再按下 Z,即可打开帮助页面,如下所示,此时按下 X,再确认下就可以退出 minicom 了: 退出 minicom

阅读更多:   杂谈 , Linux笔记
添加新评论

icon_redface.gificon_idea.gificon_cool.gif2016kuk.gificon_mrgreen.gif2016shuai.gif2016tp.gif2016db.gif2016ch.gificon_razz.gif2016zj.gificon_sad.gificon_cry.gif2016zhh.gificon_question.gif2016jk.gif2016bs.gificon_lol.gif2016qiao.gificon_surprised.gif2016fendou.gif2016ll.gif