LCD
LouisGou
我很懒,什么都没有写
展开
-
framebuffer 帧缓冲
1、framebuffer 帧缓冲 帧缓冲(framebuffer)是Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行读写操作。用户不必关心物理显示缓冲区的具体位置及存放方式,这些都由帧缓冲设备驱动本身来完成。 framebuffer机制模仿显卡的功能,将显卡硬件结构抽象为一系列的...原创 2018-01-11 19:42:56 · 3354 阅读 · 0 评论 -
Lcd(八) fb参数计算
Linux内核的amba lcd控制器使用clcd_panel结构体表示一个LCD屏的硬件参数:/* include/linux/fb.h */struct fb_videomode { const char *name; /* optional */ u32 refresh; /* optional */ u32 xres; u32 yres; u32 pixclock; ...原创 2018-09-01 11:22:11 · 1043 阅读 · 0 评论 -
Lcd(七)接口与驱动方式
LCD的接口有多种,分类很细。主要看LCD的驱动方式和控制方式,目前手机上的彩色LCD的连接方式一般有这么几种:MCU模式,RGB模式,SPI模式,VSYNC模式,MDDI模式,DSI模式。MCU模式(也写成MPU模式的)。只有TFT模块才有RGB接口。但应用比较多的就是MUC模式和RGB模式,区别有以下几点:1.MCU接口:会解码命令,由timing generator产生时序信号,...原创 2018-08-30 16:23:37 · 6528 阅读 · 0 评论 -
LCD(六)显示控制器、framebuffer驱动、s3c-fb.c中probe函数分析
三星SOC芯片上集成了显示控制器(有称作fimd的,Fully Interactive Mobile Display)。它的驱动分为mainline版本的和legacy版本的,mainline版本的是通用的,由Ben Dooks <ben@simtec.co.uk> 管理着的,代码比较规范。下面我们来分析一下这个驱动,这个驱动在driver/video/里,文件名是...原创 2018-07-22 21:27:44 · 938 阅读 · 0 评论 -
LCD(五)Backlight背光子系统
一、Backlight背光子系统概述LCD的背光原理主要是由核心板的一根引脚控制背光电源,一根PWM引脚控制背光亮度组成,应用程序可以通过改变PWM的频率达到改变背光亮度的目的。 Backlight背光子系统构建过程结构关系图 黑色加粗部分为开发人员需要填充的部分,其中pwm_id:第几个定时器来做...原创 2018-05-07 12:03:50 · 6275 阅读 · 0 评论 -
LCD(四)LCD背光驱动之misc
一、原理分析 电源管理芯片是一个LED驱动器,相当于一个LED开关。MMU通过操作PWM相关寄存器来产生不同的波形,从而间接控制LCD背光灯的亮度。二、原理图分析 由原理图可得背光由GPD0_0口控制。三、backl...原创 2018-05-06 22:12:35 · 2771 阅读 · 0 评论 -
LCD(四)平台设备驱动之 platform_driver
S5PV210 LCD platform_driver 的实例 s3cfb_driver 定义在 drivers/video/samsung/s3cfb.c中static struct platform_driver s3cfb_driver = { .probe = s3cfb_probe, .remove = __devexit_p(s3cfb_remove), .driver = {...原创 2018-04-27 20:42:23 · 391 阅读 · 0 评论 -
LCD(四)平台设备驱动之 platform_device
一 、重要结构体1、fb_info结构体struct fb_info { int node; int flags; struct mutex lock; /* 用于open/release/ioctl的锁*/ struct fb_var_screeninfo var;/*LCD可变参数*/ struct fb_fix_screeninf...原创 2018-04-24 23:42:37 · 721 阅读 · 0 评论 -
RGB颜色对照表
RGB颜色对照表 #FFFFFF #FFFFF0 #FFFFE0 #FFFF00 #FFFAFA #FFFAF0 #FFFACD #FFF8DC #FFF68F #FFF5EE #FFF0F5 #FFEFDB #FFEFD5 #FFEC8B #FFEBCD #FFE7BA #FFE4E1 #FFE4C4 #FFE4B5 #FFE1FF #FFDEAD #FFDAB9 #FFD700 #FFD39B...原创 2018-04-19 21:14:16 · 1447 阅读 · 0 评论 -
TQ210显示 字母 ,汉字,方框, 宋体,图片
在开发板上显示字母,汉字,方框,宋体等。 我这里大部分都是参考韦东山老师讲的。 这里只是为了测试lcd驱动并且从新总结下。英文字母和汉字: 利用点阵画点。画线和画框: 调用画线函数宋体: 利用freetype 库图片: 利用libjpeg 压缩jpeg 图片显示。完整代码下载// lcd_test.c // 显示 横线 竖线 框 字符 汉字 字体 图像等#include <sys/mma...转载 2018-04-18 20:18:51 · 388 阅读 · 0 评论 -
LCD(三)驱动分析
一、框架分析①内核装载LCD驱动模块:设置并注册fb_info结构,初始化LCD硬件。②APP打开LCD设备,获取设备文件,根据设备文件进行读写显存。③在内核中,根据主设备号和次设备号定位一个fb_info结构,如果应用层的系统调用是读操作则调用fb_ops中对应的操作函数,写操作也是一样。二、帧缓冲子系统(Framebuffer) Linux下可支持多个帧缓冲设...原创 2018-04-17 19:21:48 · 749 阅读 · 0 评论 -
Lcd(一)显示原理
一、LCD控制原理S5PV210处理器中自带LCD控制器,控制LCD的显示,把 LCD 图像数据从一个位于系统内存的 video buffer 传送到一个外部的 LCD 驱动器接口。类型:1、STN(超扭曲向列),它的特点是功耗低,但亮度不足,响应时间长;(1602那种类型的)2、TFT(薄膜晶体管),它的特点是响应时间短,画面清晰,但功耗稍高,(自己实验用的应该是这个类型的,这个类...原创 2018-04-15 20:49:57 · 27420 阅读 · 4 评论 -
Lcd(二)添加至内核
一、LCD驱动框架#include <linux/module.h>#include <linux/kernel.h>#include <linux/errno.h>#include <linux/string.h>#include <linux/mm.h>#include <linux/slab.h>#inclu...原创 2018-04-15 19:53:39 · 726 阅读 · 0 评论 -
TQ210 屏幕颜色操作
一、LCD操作步骤在应用程序中,操作/dev/fbn的一般步骤如下:(1) 打开/dev/fbn设备文件。open("/dev/fb0",O_RDWR); (2) 用ioctl()操作取得当前显示屏幕的参数,如屏幕分辨率、每个像素点的比特数。根据屏幕参数可计算屏幕缓冲区的大小。ioctl函数是实现对设备的信息获取和设定,第一个参数为文件描述符,第二个参数为具体设...原创 2018-01-11 19:48:31 · 614 阅读 · 0 评论