原因分析 进入qtopia后,如果10分钟内不使用键盘、鼠标,你会发现LCD将黑屏。这是为什么呢?这是由于内核定义了1个全局变量blankinterval(默认值为10),内核内部存在一个控制台定时器,该定时器每隔blankinterval时间运行一次,它会调用关闭显示器函数blank_screen_t(该函数最终会调用LCD驱动中的关闭LCD控制器的操作函数),导致显示器关闭(无视是否打开了电源管理功能)。 因此,解决办法有4种方法: 修改LCD驱动,把关闭LCD控制器的函数变为空(不推荐) 修改vt.c中的bl…

2023年 2月 28日 0条评论 35点热度 0人点赞 阅读全文

https://doc.embedfire.com/linux/stm32mp1/driver/zh/latest/index.html

2023年 2月 23日 0条评论 68点热度 0人点赞 阅读全文

在之前的字符设备程序中驱动程序,我们只要调用open()函数打开了相应的设备文件,就可以使用read()/write()函数,通过file_operations这个文件操作接口来进行硬件的控制。这种驱动开发方式简单直观,但是从软件设计的角度看,却是一种十分糟糕的方式。 它有一个严重的问题,就是设备信息和驱动代码杂糅在一起,在我们驱动程序中各种硬件寄存器地址随处可见。本质上,这种驱动开发方式与单片机的驱动开发并没有太大的区别,一旦硬件信息发生变化甚至设备已经不在了,就必须要修改驱动源码。我们之前做的事情只不过是简单地…

2023年 2月 22日 0条评论 63点热度 0人点赞 阅读全文