10 求教,学完2期LCD驱动后的疑惑,LCD驱动如何被调用的,其它图片,文字,按键如何在LCD显示的

2期LCD驱动学完后,我有几点疑惑,如题, 教一下论坛上的大神,和各位老师

疑惑一:

目前韦老师讲的只是LCD这个独立驱动,在安装我们自己写的LCD独立驱动之前,还要安装其它三个驱动,这三个驱动韦老师没有过多的介绍,只是拷贝过来安装了,如果是其它平平台,是否也有这三个驱动文件

疑惑二:

驱动安装完了,然后韦老师就开始测试了,测试有cat和按键输入(按键l, s, enter),这里我就有点疑惑了,我们只是单纯的写了一个LCD驱动,那么是谁来调用它的,我们执行cat 某个文件,或者按下按键的时候,它是怎么输入送到到LCD上显示的,谁来调用的,类似我们写了一个字符设备,我们要写一个上层应用程序调用它,那么LCD这个驱动程序谁来调用呢,还有按键,韦老师演示的(l, s, enter,这三个按键),是通过 输入子系统上报的按键,这个按键上报之后,怎么就到LCD上去了,这中间是怎么连接的,很疑惑,请教一下论坛上的大神,和各位老师,非常感谢


请先 登录 后评论

2 个回答

渐进


1. lcd驱动中因为用到了三个外部实现的函数


    .fb_fillrect    = cfb_fillrect,
    .fb_copyarea    = cfb_copyarea,
    .fb_imageblit    = cfb_imageblit,
而这三个驱动就是对这三个函数的分别实现,他们每一个都是一个c文件,然后编译成了.ko文件


其他平台的话,如果该lcd驱动中也用到了这三个函数,或者说只要用到了外部函数,就需要别的驱动支持


2. 关于cat:cat xxx > /dev/fb0就是将xxx的文件内容写到fb0对应的lcd帧缓冲区中,具体你可以去了解下cat的具体执行逻辑以及重定向的概念


关于按键:确实按键是输入子系统上报的,前提是


修改 /etc/inittab
tty1::askfirst:-/bin/sh


这里的关键是tty1,在内核中有一个tty子系统,包括串口以及lcd都可以是具体的实现,在tty中会关联到输入子系统一层


图 2. 路径


推荐几篇文章:


https://www.ibm.com/developerworks/cn/linux/l-cn-termi-hanzi/


http://www.wowotech.net/sort/tty_framework

最后说点题外话,通过这个问题能看出你有种刨根问底的精神,这种精神确实很难得,但是只有这种精神还是不够的,学东西一开始可能需要一个好的引导,比如韦东山老师的视频课,但是到后面的话还是需要自己去思考,然后去网上寻求答案,别人告诉你的永远是别人的。

请先 登录 后评论
st_ashang - 论坛编辑
擅长:嵌入式开发

刚刚录的framebuffer LCD应用视频可以解决你的部分疑问:https://www.bilibili.com/video/BV1it4y1Q75z?p=2

请先 登录 后评论
  • 2 关注
  • 1 收藏,96 浏览
  • ln 提出于 2020-07-16 10:17

相似问题