Linux kernel KGDB串行端口在引导后重新初始化

Linux kernel KGDB串行端口在引导后重新初始化,linux-kernel,serial-port,yocto,beagleboneblack,kgdb,Linux Kernel,Serial Port,Yocto,Beagleboneblack,Kgdb,我已经为这个问题奋斗了一段时间,慢慢地放弃了。我和Yocto在我的Beaglebone黑板上工作。我希望能够使用KGDB调试内核模块和内核本身。我修改了设备树以专门为KGDB启用UART1,并修改了内核设置以启用KGDB 在早期引导期间,引导加载程序将串行端口配置为115200n8设置,并停止执行,等待主机的GDB通过串行端口连接到BeagleBone,并允许代码单步执行。稍后当我允许代码继续执行时,问题就会出现。我运行GDB的主机停止响应,似乎不再与Beaglebone连接。一旦我使用终端登录

我已经为这个问题奋斗了一段时间,慢慢地放弃了。我和Yocto在我的Beaglebone黑板上工作。我希望能够使用KGDB调试内核模块和内核本身。我修改了设备树以专门为KGDB启用UART1,并修改了内核设置以启用KGDB

在早期引导期间,引导加载程序将串行端口配置为115200n8设置,并停止执行,等待主机的GDB通过串行端口连接到BeagleBone,并允许代码单步执行。稍后当我允许代码继续执行时,问题就会出现。我运行GDB的主机停止响应,似乎不再与Beaglebone连接。一旦我使用终端登录Beaglebone,我发现KGDB的串行端口设置已更改为某些默认值,波特率为9600。是什么导致了这种变化?linux初始化的哪一部分可能会影响我的串行端口设置?我对Linux及其概念仍然很陌生,因此任何帮助都将不胜感激


谢谢。

您是否启用了控制台轮询模式?KGdb不适用于使用中断的控制台。@0andriy我不确定为KGdb配置串行端口的模式。KGDB一直工作到
内核初始化()->尝试运行初始化进程(“/sbin/init”)
之后串行端口似乎被重新配置。我不知道如何调试sysvinit。我只是简单地浏览了一下它的脚本,但看不到任何明显的涉及到kgdb配置使用的/dev/ttyO1的内容。您启用了控制台轮询模式吗?KGdb不适用于使用中断的控制台。@0andriy我不确定为KGdb配置串行端口的模式。KGDB一直工作到
内核初始化()->尝试运行初始化进程(“/sbin/init”)
之后串行端口似乎被重新配置。我不知道如何调试sysvinit。我简要地浏览了一下它的脚本,但看不到任何明显的涉及到kgdb配置使用的/dev/ttyO1的内容。