2. 串口调试¶
如果正在进行 U-Boot 或内核开发,USB 串口适配器( USB 转串口 TTL 适配器的简称)对于检查系统启动日志非常有用,特别是在没有图形桌面显示的情况下。
2.1. 选购适配器¶
网店上有许多 USB 转串口的适配器,按芯片来分,有以下几种:
串口 | 最高波特率 | 是否推荐 | 评价 | 购买链接 |
---|---|---|---|---|
CP2104 | 2Mbps | 推荐 | 支持高波特率通信,稳定性好耐用 | 点击购买 |
CH340 | 2Mbps | 不推荐 | firefly和许多客户在实际使用中发现,市面上很多CH340的实际波特率达不到1.5Mbps,这给开发过程造成很多麻烦 | |
PL2303 | 1.2Mbps | 不推荐 | 最高波特率达不到1.5Mbps |
注意: AIO-3562JQ 默认的波特率是 1500000,有些USB转串口芯片波特率无法达到 1500000,同一芯片的不同系列也可能会有差异,所以在选购之前一定要确认是否支持。
2.2. 硬件连接¶
串口转 USB 适配器,有四个引脚:
3.3V 电源(NC),不需要连接
GND,串口的地线,接开发板串口的 GND 针
TXD,串口的输出线,接开发板串口的 TX 针
RXD,串口的输入线,接开发板串口的 RX 针
注意: 如使用其它串口适配器遇到 TX 和 RX 不能输入和输出的问题,可以尝试对调 TX 和 RX 的连接。
AIO-3562JQ 串口连接图:
2.4. Windows 上使用串口调试¶
2.4.1. 安装驱动¶
下载驱动并安装:
如果在 Win8 上不能正常使用 PL2303,参考这篇文章, 采用 3.3.5.122 或更老版本的旧驱动即可。
如果在 Windows 系统上安装官网的 CP210X 驱动,使用 PUTTY 或 SecureCRT 等工具设置串口波特率为 1500000,如果出现设置不了或无效的问题,可以下载旧版本驱动。
插入适配器后,系统会提示发现新硬件,并初始化,之后可以在设备管理器找到对应的 COM 口:
2.4.2. 安装软件¶
Windows 上一般用 putty 或 SecureCRT。其中我们推荐使用 MobaXterm 免费版本。这是一款功能强大的终端软件,在这里介绍一下,MobaXterm 的使用方法与之类似。
到这里下载 MobaXterm:
选择
session
为Serial
。将
Serial port
修改为在设备管理器中找到的 COM 端口。设置
Speed (bsp)
为 1500000。点击
OK
按钮。
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 Jan 1 2014, 17:13:19.
Port /dev/ttyUSB0, 15:57:00
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 : 1500000 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
即可保存为默认配置,以后将默认使用该配置。
3. ADB 调试¶
3.2. 开启 ADB 调试¶
3.2.1. Linux¶
linux 一般默认开启了 adb 调试,使用 USB 线连接后,电脑上执行adb devices
即可看到设备。
如果电脑无法检测到 adb 设备,可能是 OTG 口设置成了 HOST 模式。可以在iCore-3562JQ中执行以下操作转换为 OTG 模式:
systemctl stop set-otg-mode.service
systemctl disable set-otg-mode.service
systemctl restart adbd.service
之后应该就能正常使用。
如果要将 OTG 口恢复成 HOST 模式,则执行以下命令:
systemctl enable set-otg-mode.service
reboot