embedded - 我可以获取 USB 上的调试信息吗?

标签 embedded embedded-linux yocto imx6

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

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

最佳答案

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

  2. 您有几个选择:

  • a) 使用 USB-2-Serial 和 /dev/ttyUSB0
  • b) 使用 USB-2-以太网并设置 netconsole
  • c)(仅在最新的 xHCI 硬件上具有调试功能并且需要编写额外的代码)您可以为 USB 启用earlyprintk注意,它需要特殊 debug cable要连接(注意,蓝色相同,您需要橙色),
  • d) USB2 (EHCI) 支持调试功能,需要在其间连接特殊设备,而 USB3 则不需要(请参阅上面的选项 c))。

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

关于embedded - 我可以获取 USB 上的调试信息吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45511533/

相关文章:

linux - 在 yocto 中创建一个只读文件

linux - 使用SDK编译模块抛出警告消息: libelf-dev not found

c - MISRA-2012 违反规则 20.12 : misra_c_2012_rule_20_12_violation: macro parameter "val" is used in both expanded and raw forms

embedded - ARM qemu 系统模拟器可以在没有内核参数的情况下从卡镜像启动吗?

c++ - 如何显示缓冲区中的值

c++ - Neon/RPi 上的 64 位 DSP 滤波性能优化

linux - 如何使用 wpa_supplicant 启用定期重新认证

c - 使用 header 实现(通用的,不是 C++)类似接口(interface)的行为

linux - 带有 Yocto 的 Java - 没有匹配的 bb 文件

yocto - 如何使 bitbake 生成 .deb 包