2. 串口调试

如果正在进行lk(little kernel ) 或内核开发,USB 串口适配器( USB 转串口 TTL 适配器的简称)对于检查系统启动日志非常有用,特别是在没有图形桌面显示的情况下。

2.1. 选购适配器

常用的许多 USB 转串口的适配器,按芯片来分,有以下几种:

  • CH340
  • PL2303
  • CP2104
  • FT232

一般来说,采用 CH340 芯片的适配器,性能比较稳定,价格上贵一些。

注意:ZM65开发板默认的波特率是 921600,有些USB转串口芯片波特率无法达到 921600,同一芯片的不同系列也可能会有差异,所以在选购之前一定要确认是否支持。

2.2. 硬件连接

串串口转 USB 适配器,有四个引脚:

  • 3.3V 电源(NC),不需要连接
  • GND,串口的地线,接开发板串口的 GND 针
  • TXD,串口的输出线,接开发板串口的 TX 针
  • RXD,串口的输入线,接开发板串口的 RX 针

注意: 如使用其它串口适配器遇到 TX 和 RX 不能输入和输出的问题,可以尝试对调 TX 和 RX 的连接。

2.3. 串口参数配置

ZM65系列开发板使用以下串口参数:

  • 波特率:921600
  • 数据位:8
  • 停止位:1
  • 奇偶校验:无

流控:无

2.4. Windows 上使用串口调试

2.4.1. 安装驱动

下载驱动并安装:

如果在 Win8 上不能正常使用 PL2303,参考 这篇文章, 采用 3.3.5.122 或更老版本的旧驱动即可。如果在 Windows 系统上安装官网的 CP210X 驱动,使用 PUTTY 或 SecureC RT 等工具设置串口波特率为 921600,如果出现设置不了或无效的问题,可以下载旧版本驱动。

插入适配器后,系统会提示发现新硬件,并初始化,之后可以在设备管理器找到对应的COM口:

_images/ft232.png

2.4.2. 安装软件

Windows 上一般用 putty 或 SecureCRT。其中我们推荐使用 putty 免费版本。这是一款功能强大的终端软件,在这里介绍一下,putty 的使用方法与之类似。

到这里下载 putty

2.4.3. 软件使用

  • 串口 修改为在设备管理器中找到的com端口
  • 设置 波特率 为 921600
  • 设置 数据位、校准位、停止位、流控
  • 点击 打开 串口设备
_images/serial.png

2.5. Ubuntu 上使用串口调试

在 Ubuntu 上可以有多种选择:

  • minicom
  • picocom
  • kermit

篇幅关系,以下就介绍 minicom 的使用。

2.5.1. 安装 minicom

使用下面命令进行安装

sudo apt-get install minicom

连接好串口线的,看一下串口设备文件是什么,下面示例是 /dev/ttyUSB0

$ ls /dev/ttyUSB*
/dev/ttyUSB0

运行:

$ sudo minicom
Welcome to minicom 2.7

OPTIONS: I18n
Compiled on Nov 15 2018, 20:20:04.
Port /dev/ttyUSB0, 17:03:33

Press CTRL-A Z for help on special keys

以上提示 CTRL-A Z 是转义键,按 Ctrl-a 然后再按 Z 就可以调出帮助菜单。

+--------------------------------------------------------------------+
|                 Minicom Command Summary                            |
|                                                                    |
|              Commands can be called by CTRL-A <key>                |
|                                                                    |
|               Main Functions                  Other Functions      |
|                                                                    |
| Dialing directory..D  run script (Go)....G | Clear Screen.......C  |
| Send files.........S  Receive files......R | cOnfigure Minicom..O  |
| comm Parameters....P  Add linefeed.......A | Suspend minicom....J  |
| Capture on/off.....L  Hangup.............H | eXit and reset.....X  |
| send break.........F  initialize Modem...M | Quit with no reset.Q  |
| Terminal settings..T  run Kermit.........K | Cursor key mode....I  |
| lineWrap on/off....W  local Echo on/off..E | Help screen........Z  |
| Paste file.........Y  Timestamp toggle...N | scroll Back........B  |
| Add Carriage Ret...U                                               |
|                                                                    |
|             Select function or press Enter for none.               |
+--------------------------------------------------------------------+

根据提示按O进入设置界面,如下:

+-----[configuration]------+
| Filenames and paths      |
| File transfer protocols  |
| Serial port setup        |
| Modem and dialing        |
| Screen and keyboard      |
| Save setup as dfl        |
| Save setup as..          |
| Exit                     |
+--------------------------+

把光标移动到“Serial port setup”,按enter进入串口设置界面,再输入前面提示的字母,选择对应的选项,设置成如下:

+-----------------------------------------------------------------------+
| A -    Serial Device      : /dev/ttyUSB0                              |
| B - Lockfile Location     : /var/lock                                 |
| C -   Callin Program      :                                           |
| D -  Callout Program      :                                           |
| E -    Bps/Par/Bits       : 921600 8N1                                |
| F - Hardware Flow Control : No                                        |
| G - Software Flow Control : No                                        |
|                                                                       |
|    Change which setting?                                              |
+-----------------------------------------------------------------------+

注意:Hardware Flow Control 和 Software Flow Control 都要设成 No,否则可能导致无法输入。

设置完成后回到上一菜单,选择 Save setup as dfl 即可保存为默认配置,以后将默认使用该配置。

2.5.2. minicom使用

调试的时候使用以下命令进行log保存

sudo minicom -C boot.log

boot.log在当前的窗口目录下面。