2

目前我正在为我的项目开发 Yocto OS。我关于调试的问题。通常情况下,调试信息是通过串口发送的。我知道 ssh 调试。我有两个问题:

  1. 为什么每个设备通常都支持通过串口调试?
  2. 有没有可能通过 Yocto 中的 USB 端口(不使用串口转 USB 转换器)进行调试的方法?
4

1 回答 1

2
  1. 因为串行驱动程序可以简单且无需中断即可实现(Linux 内核控制台实际上就是这样做的)。这是由于紧急情况下的要求,当崩溃日志应尽可能多且尽可能完整地发送时。

  2. 你有几个选择:

  • a) 使用 USB-2-Serial 和/dev/ttyUSB0,
  • b) 使用 USB-2-Ethernet 和设置netconsole
  • c) (仅在具有调试功能且需要编写额外代码的最新 xHCI 硬件上)您可以为 USB 启用earlyprintk注意,它需要连接特殊的 调试电缆注意,蓝色一样,你需要橙色的),或者
  • d) 支持调试功能的 USB2 (EHCI) 需要在其间连接一个特殊设备,而 USB3 不需要此设备(参见上面的选项c))。

v4.13-rc1 Linux 内核部分支持变体c),有HOWTO 文件(在内核源代码树Documentation/driver-api/usb/usb3-debug-port.rst 中)。

于 2017-08-04T18:04:08.770 回答