让嵌入式Linux支持LCD console

我现在使用的平台:三星S3C2410,640*480 TFT LCD;2.4.18的内核,已经具备了USB键盘支持;

打早就希 望可以将2410上跑的Linux的控制台放到LCD上去,然后用USB键盘作为输入,这样就真的像一个小终端了。在网上找了一些资料,大部分只是说可以 将kernel的启动参数的“console”设置为“tty0”即可,试了一下,修改之后的确可以把内核启动的信息打印到LCD上,但是却无法输入任何 信息,没有任何用处。

索性自己研究了一下Linux的配置项,终于可以完全按照自己的意愿实现 LCD+USB键盘的 console了:

第一步,进入“Character devices”:

image

 

勾选“[*]   Support for console on virtual terminal”:

image

 

第二步,进入“Console drivers ”-->“Frame-buffer support”:

image

image

 

取消选择“Support only 8 pixels wide fonts”,并选择“Select compiled-in fonts”下的某一款字体,参考下图。这一步是为了改善LCD上的显示字体,默认的字体太小了,不好看。

image

 

第三步,进入“General setup”:

image

 

选择“Support CONSOLE_PM”。这一步是为了打开光标,否则当使用LCD作为console的时候,没有光标,非常不好用。这一点在网上找了很久都没有找到,非常遗憾。后来索性去读kernel的代码,才发现光标的显示与否,竟然是跟“CONSOLE_PM”选项有关的,一直没想明白为什么~(PM是Power Management的所写吧?)

image

 

最后一步,修改kernel的启动参数。以vivi作为bootloader为例,通常我们使用的启动参数如下:

vivi>param set linux_cmd_line "noinitrd root=/dev/mtdblock/1 init=/linuxrc console=ttyS0"

这里,console=ttyS0表示使用串口0作为console终端。需要修改为:

vivi>param set linux_cmd_line "noinitrd root=/dev/mtdblock/1 init=/linuxrc console=tty0"

tty0是一个比较特别的设备,它将lcd framebuffer0作为stdout,而将keyboard做为stdin,当选择tty0做为console的时候,kernel的命令行就可以在LCD上显示了,同时可以接受USB Keyboard的输入,美哉~~~

在我现在用的平台上,开发板启动之后,完全是一个独立的小终端,连入局域网之后,甚至可以telnet到另外的主机,当做一个微型工作终端,呵呵~~

http://www.mculee.cn/post/48.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值