AM335x Linux系统下将调试串口转换为普通串口

5星 · 超过95%的资源 需积分: 10 58 下载量 189 浏览量 更新于2024-09-11 1 收藏 493KB PDF 举报
"将AM335x的调试串口转换为普通串口的操作方法记录" 在嵌入式Linux系统中,AM335x是一款常见的微处理器,它具有多个串行通信接口,其中一个通常被配置为调试串口,用于在系统启动和运行时输出调试信息。然而,在某些情况下,我们可能需要将调试串口改作普通串口使用,例如,为了创建额外的串行通信端口或者避免调试信息干扰应用。以下是一份关于如何在Linux系统上进行这种转换的详细步骤: 1. **移除内核启动时的调试串口** 在`./drivers/tty/serial/Kconfig`文件中,将`console=ttyOx`这一行配置去除。这会阻止内核在启动时尝试在指定的串口(如ttyO0)上输出调试信息。 2. **更新U-Boot设置** 如果使用的是Nandflash启动,需要在U-Boot命令行执行以下操作: - `setenv console ttyOx,115200n8` 设置新的调试串口为ttyOx,波特率115200,8位数据,无奇偶校验,1个停止位。 - `saveenv console` 保存环境变量,确保下次启动时使用新设置。 3. **将调试串口改为普通串口** - 对于系统启动后的行为,修改`rootfs/etc/inittab`文件。注释掉`##S:2345:respawn:/sbin/getty 115200 ttyO0`这行,这样ttyO0将不再作为登录终端,而是作为普通的串行通信端口。 4. **禁用内核中的调试输出** 在`kernel-3.2/drivers/tty/serial/omap-serial.c`文件的`serial_omap_probe`函数中,注释掉`serial_omap_add_console_port(pdev)`这一行,以避免内核在该串口上输出调试信息。 5. **调整U-Boot配置** 修改`Uboot`中的`drivers/serial/Makefile`,以及`include/configs/ok335x.h`文件,确保不包含与调试串口相关的配置。例如,可能需要取消`CONFIG_SYS_NS16550_SERIAL`和`CONFIG_NO_INFO_CONSOLE`的定义,以禁止U-Boot的串口输出。 通过以上步骤,AM335x的调试串口将被成功转换为一个普通的串行通信端口,可用于数据传输或其他应用。请注意,这些更改可能需要重新编译内核和U-Boot,并可能影响系统的日志记录和调试能力。因此,在进行这样的配置变更时,务必确保有备用的调试手段或记录下更改前的配置,以防万一需要恢复。