【问题标题】:Linux serial port console input, framebuffer console outputLinux串口控制台输入,framebuffer控制台输出
【发布时间】:2020-08-07 16:09:42
【问题描述】:

我有一个带有帧缓冲区 (/dev/fb0) 和串行端口 (/dev/hvc0) 的嵌入式 Linux 系统(即 Busybox)。 串口是目前唯一的控制台输入方式。

我的内核有;

CONFIG_FB=y
CONFIG_FB_SIMPLE=y
CONFIG_VGA_CONSOLE=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_DUMMY_CONSOLE_COLUMNS=80
CONFIG_DUMMY_CONSOLE_ROWS=25
CONFIG_FRAMEBUFFER_CONSOLE=y
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y

我的引导参数目前是;

bootargs = "console=hvc0 earlycon=sbi debug";

我想做的是使用帧缓冲区来显示控制台输出(登录终端、printk 输出),但输入来自串行端口 (/dev/hvc0)。

【问题讨论】:

  • 我不知道内核有这种开箱即用的可能性。但是您可以在 FB 设备上建立完整的控制台,只需运行任何类型的 getty 即可。是的,它需要一些输入设备,比如键盘。

标签: embedded-linux framebuffer tty


【解决方案1】:

您能否更具体地了解硬件和操作系统以及 u-boot? 你需要这样的东西:

setenv bootargs console=ttyO2,115200n8 vram=16M root=/dev/ram0 rw ramdisk_size=16384 initrd=0x83000000,16M rootfstype=ext2 或这个: setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk2p1 rootwait rw video=mxcfb0:dev=hdmi,1920x1080M@60,if=RGB24'

您看,您需要指定 tty = 串行端口配置(速度、奇偶校验等)。还有文件系统的类型 ext2, ext4, ... 以上只是示例,需要根据自己的系统来确定。

【讨论】:

  • 我省略了这些细节,因为它们使问题有些复杂!硬件是我自己设计的(RISC-V CPU、串口、SoC),引导加载程序也是我自己的(bootargs 来自 DTS 文件)。我不需要你提到的很多论点。我真的只是想更多地了解 fbcon 和 tty 控制台的交互。
猜你喜欢
  • 1970-01-01
  • 2019-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-30
相关资源
最近更新 更多