
驱动学习
文章平均质量分 58
qq_40215005
这个作者很懒,什么都没留下…
展开
-
DRM学习
DRMDRM是Linux下的一个驱动架构,全称直接渲染架构。引入之初是为了display显示数据的传输,现在广泛应用于嵌入式领域,并且为显卡GPU提供一部分服务。显卡上具有一些接口如HDMI、VGA等,所以相应的就包含了他们的驱动。DRM可分为三部分:libdrm 将控制底层硬件的ioctl做成API给用户空间用。位于中间层。KMS(Kernel Mode Setting)内核模式设置(KMS)是在内核空间(而不是用户空间)设置显示分辨率和深度的方法,还可显示画面,显示buffer的切换,多图层的原创 2020-08-24 15:12:57 · 830 阅读 · 0 评论 -
input子系统分析
前面对于按键的驱动有了大致的了解,赋予虚拟总线的概念,注册设备、驱动,互相探测,在探测函数中分配设备号、传递硬件设备信息给自定义结构体、初始化fops结构体、注册cdev结构体,这就是一个按键类型的驱动模型:https://blog.youkuaiyun.com/qq_40215005/article/details/90384563但是作为一个操作系统,这样的设备实在是太多了,如果能在虚拟总线的基础上再进...原创 2019-07-24 14:06:40 · 441 阅读 · 0 评论 -
LCD驱动及framebuffer子系统解析
之前实现了lcd上显示图片,现在来看看framebuffer子系统的主要结构与input子系统不同,framebuffer子系统有着自己的结构,内核空间内分为核心层和驱动层,核心层负责提供API给应用调用,那么每个帧缓冲设备都对应一个fb_info的结构体,而驱动层就进行fb_info结构体的初始化,并注册到内核中驱动层fbmem.cfbmem.c 处于Framebuffer设备驱动技术的...原创 2019-07-17 19:51:33 · 983 阅读 · 0 评论 -
Framebuffer图片显示和代码解析
看了这么多天的lcd,今天打算在屏上显示图片,并分析下代码显示红白蓝黑四种颜色先贴代码,从学长哪里copy过来的#include <unistd.h>#include <stdio.h>#include <fcntl.h>#include <linux/fb.h>#include <stdlib.h>#include ...原创 2019-07-16 19:47:05 · 1731 阅读 · 0 评论 -
QT初体验c语言嵌套使用
最近在玩触摸屏和lcd驱动,想了解一点图形化界面的东西,所以就接触到了QT,QT已经发展到5.10版本了,做图形化界面基本都要学习QT,配合触摸屏上操作可以实现很多功能,我的板子是fl2440的,带有一个lcd电阻触摸屏,由于是arm920t的架构,相对来说比较老了,然后就编译了5.7qt,编译过程非常痛苦,,,编译到最后快完成告诉我说架构太老了,没办法只有降qt版本试试了,然后用5.6qt就成功...原创 2019-07-16 15:18:18 · 5126 阅读 · 0 评论 -
单总线协议分析
1-wire,即单线总线,又叫单总线。近年来,美国的达拉斯半导体公司(DALLASSEMICONDUCTOR)推出了一项特有的单总线(1-Wire Bus)技术。该技术与上述总线不同,它采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的,但是和i2c不同的是从低位到高位传输。因而这种单总线技术具有线路简单,硬件开销少,成本低廉,便于总线扩展和维护等优点。单总线适用于单主机系统,能...原创 2019-07-18 19:15:14 · 1649 阅读 · 0 评论 -
s3c2440 ds18b20驱动编写
上一篇单总线时序分析:https://blog.youkuaiyun.com/qq_40215005/article/details/96435251这是ds18b20驱动大致结构硬件初始化BYTE ds18b20_reset(void) 复位脉冲和应答脉冲函数BYTE ds18b20_reset(void){ s3c2410_gpio_cfgpin(S3C2410_GPG(0), S3C...原创 2019-07-18 21:24:42 · 529 阅读 · 0 评论 -
s3c2440lcd寄存器配置
s3c2440有5个寄存器LCDCON1ENVID:LCD 输出信号控制位 为1表示使能BPPMODE:屏幕类型的对应BPP的选择加粗样式PNRMODE:屏幕类型的选择MMODE :对于STN LCD设置VM的反转频率CLKVAL :设置像素时钟 对于TFT: VCLK=HCLK/((CLKVAL+1)*2) HCLK=100Mhz的情...原创 2019-07-17 19:58:49 · 504 阅读 · 0 评论 -
s3c2440lcd主要参数及特性
dada原创 2019-07-15 14:03:33 · 742 阅读 · 0 评论 -
linux内核--input子系统(触摸屏驱动分析)
前面对于按键的驱动有了大致的了解,赋予虚拟总线的概念,注册设备、驱动,互相探测,在探测函数中分配设备号、传递硬件设备信息给自定义结构体、初始化fops结构体、注册cdev结构体,这就是一个按键类型的驱动模型:https://blog.youkuaiyun.com/qq_40215005/article/details/90384563但是作为一个操作系统,这样的设备实在是太多了,如果能在虚拟总线的基础上再进...原创 2019-06-04 19:34:56 · 2327 阅读 · 0 评论 -
linux--s3c2440LCD屏驱动修改学习和ctags的使用
最近要研究LCD屏的驱动,对驱动模块的框架有一定了解后就可以比较送的看linux驱动源码了,恰好s3c2440里面自带的有驱动源码,所以先从现有的样例入门,而且板子lcd显示的每次就只有半个屏幕,一定是驱动源码有问题,或者是make menuconfig配置有问题为了查看源码,下载了我们的看源码利器ctags,在成千上万的c文件里穿梭自如,ctags -R * 为arm目录下文件创建索引文件ta...原创 2019-05-24 17:34:57 · 440 阅读 · 1 评论 -
s3c2440触摸屏驱动修改
为了使能我们的触摸屏,我们必须对原有的触摸屏驱动做一些小的修改,添加相应的支持。先添加我们的结构体,对一些参数进行设置添加我们的ts的结构体,我们可以看到s3c24xx_ts_set_platdata()就是将添加的触摸屏的信息传给s3c_device_ts.dev.platform的,我们还要注册adc和ts的设备结构体到paltform设备总线上去,这里上面的写法是错误的,&a...原创 2019-05-26 22:15:38 · 322 阅读 · 0 评论 -
linux按键platform驱动样例学习
按键驱动platform的编写流程和led驱动的差不了太多,只是多了一个中断机制和延时消抖的过程,延时消抖可以用内置定时器来做。platform_device首先来看设备结构体static struct platform_device s3c_button_device = { .name = "s3c_button", .id = 1, ...原创 2019-05-21 19:37:12 · 468 阅读 · 1 评论