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.1. 连接 ADB¶
用 双公头 USB 数据线 连接 AIO-3562JQ 的 OTG 口和电脑的 USB 口。
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