Linux 驱动之LCD程序调试

  1. 加载自定义的LCD驱动程序的前后,执行“ls /dev/fb*”发现多了一个/dev/fb0这个节点,此节点正是LCD节点,并且发现加载前LCD是黑的,加载后LCD被点亮了~
  2. 执行“echo sadjason > /dev/tty1”指令发现LCD上显示了“sadjason”字样
  3. 执行“cat etc/inittab > /dev/tty1”指令发现inittab内容被显示在LCD中
    来点高级的
  4. 修改etc/inittab,添加一条“tty1::askfirst:-/bin/sh”,如下:
    在这里插入图片描述
    然后重新启动系统,加载LCD驱动程序后,LCD被点亮,并有“Please press Enter to activate this console.”提示字样。再加载另外一个驱动程序,这是之前做过的实验,它是按键驱动程序,四个按键分别对应“S”“L”“Enter”“LeftShift”四个按键的功能,加载后,按下Enter按键,可以看到LCD多以一项提示信息“starting pid 899, tty ‘/dev/console’: ‘/bin/sh’”,也即另一个shell进程被启动了~
    查看该进程的输入输出指向,得到信息如下:
    在这里插入图片描述
    发现输入、输出、错误设备都指向了tty1~
    测试暂时到此为止,下文将对“测试原理”进行稍微分析~

a. 执行“echo sadjason > /dev/tty1”指令发现LCD上显示了“sadjason”字样
容易知道echo的功能–“echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,并在最后加上换行号”对于本测试,它不是将字符串送往标准输出,而是送往/dev/tty1。为什么会显示在LCD中呢,tty1对应的是fbcon.c这个驱动程序(不太理解),这个驱动程序里会调用函数registered_fb,在驱动程序注册进去情况下会把所要显示的内容发送到缓冲区。

ps:不是很明白!

b. 执行“cat etc/inittab > /dev/tty1”指令发现inittab内容被显示在LCD中

对于cat命令,详见《cat指令详解》。对于本实例,它将etc/inittab文件内容送给/dev/fb0。

c. 修改etc/inittab,添加一条“tty1::askfirst:-/bin/sh”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

路过的小熊~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值