linux lcd cd,linux LCD调试
开机LOGO在UI层 ;UI层在顶层;UI层使用图片自带的ALPHA;开机LOGO的ALPHA为不透明; 开机LOGO一直存在。基于以上原因,若未清framebuffer,其它图层的画面会被开机LOGO一直盖住,做类似sensor画面出图像DEMO时,可能会造成“图像不显示”的假象。不运行应用程序的情况下,可以执行下面这条命令清除framebuffer(置透明度为全透),以让自己需要的画面出现。
1.1. LCD时序参数说明
1.1.1. lcd_x
显示屏的水平像素点
1.1.2. lcd_y
显示屏的垂直像素点
1.1.3. lcd_ht
Horizontal Total time
指一行总的dclk的cycle个数
1.1.1. lcd_hbp
Horizontal Back Porch
指有效行间,行同步信号(hsync)开始,到有效数据开始之间的dclk的cycle个数, 包括同步信号区。见图1。
1.1.2. lcd_hspw
Horizontal Sync Pulse Width
指行同步信号的宽度。单位为1个dclk的时间(即是1个data cycle的时间)。见图1。
1.1.3. lcd_vt
Vertical Total time
指一场的总行数。见图2。
1.1.1. lcd_vbp
Vertical Back Porch
指场同步信号(vsync)开始,到有效数据行开始之间的行数,包括场同步信号区。见图2。
1.1.2. lcd_vspw
Vertical Sync Pulse Width
指场同步信号的宽度。单位为行。见图2。
1.1.3. lcd_dclk_freq
Data Clock Frequency
指PIN总线上数据的传送频率。单位为MHz ,即pixel_clock
屏幕刷新帧数 = (lcd_dclk_freq×1000×1000) / (ht×vt)
1.1.1. lcd_pwm_freq
Lcd backlight PWM Frequency
这个参数配置PWM信号的频率,单位为Hz。
1.1.2. lcd_pwm_pol
Lcd backlight PWM Polarity
这个参数配置PWM信号的占空比的极性。设置相应值对应含义为:
0:active high
1:active low
1.1.3. lcd_frm
Lcd Frame Rate Modulator
FRM是解决由于PIN减少导致的色深问题。
这个参数设置相应值对应含义为:
0:RGB888 → RGB888 direct
1:RGB888 → RGB666 dither
2:RGB888 → RGB565 dither
有些LCD屏的像素格式是18bit色深(RGB666)或16bit色深(RGB565),建议打开FRM功能,通过dither的方式弥补色深,使显示达到24bit色深(RGB888)的效果。如图2-4和图2-5,上图是色深为RGB66的LCD屏显示,下图是打开dither后的显示,打开dither后色彩渐变的地方过度平滑。
表1-2 LCD接口参数配置说明
Interface
Parameter
RGB接口
(lcd_if=0)
Parallel RGB
(lcd_hv_if=0)
lcd_hv_clk_phase
lcd_hv_sync_polarity
Serial RGB
(lcd_hv_if=8)
lcd_hv_clk_phase
lcd_hv_sync_polarity
lcd_hv_srgb_seq
Dummy RGB
(lcd_hv_if=10)
RGB Dummy
(lcd_hv_if=11)
Serial YUV/CCIR656
(lcd_hv_if=12)
lcd_hv_syuv_seq
lcd_hv_syuv_fdly
CPU/8080接口
(lcd_if=1)
Parallel 18bit
(lcd_cpu_if=0)
lcd_cpu_te
Parallel 16bit
(lcd_cpu_if=4)
LVDS接口
(lcd_if=3)
Single channal
(lcd_lvds_if=0)
lcd_lvds_bitwidth
lcd_lvds_mode
Dual channal
(lcd_lvds_if=1)
DSI接口
(lcd_if=4)
A20+SSD2828
lcd_hv_clk_phase
lcd_hv_sync_polarity
#include
#include
#include
#include
#include
#include
#if 0
#define FB_WIDTH 320
#define FB_HEIGHT 240
#else
#define FB_WIDTH 480
#define FB_HEIGHT 272
#endif
#define BIT_PER_PIX 32
#define PIX_LENGTH (BIT_PER_PIX / 8)
#define LINE_LENGTH (FB_WIDTH * PIX_LENGTH)
#define LENGTH (LINE_LENGTH * FB_HEIGHT)
unsigned long *buf;
int main(int argc, char *argv[])
{
int fd;
unsigned long color;
char *pos;
if (argc != 2)
{
fprintf(stderr, "demo color: 0x10ff0000\n");
usage();
return -1;
}
system("echo 0 >/sys/class/disp/disp/attr/lcd");
system("echo 1 >/sys/class/disp/disp/attr/lcd");
system("dd if=/dev/zero of=/dev/graphics/fb0");
if ((fd = open("/dev/graphics/fb0", O_RDWR)) < 0)
{
printf("open /dev/fb0 failed\n");
return -1;
}
buf = (unsigned long *)mmap(NULL, LENGTH, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
color = strtol(argv[1],&pos,16);
// color = 0x10ff0000;
fprintf(stderr, "color:0x%x\n", color);
unsigned long *ctt = mmap(NULL, LENGTH, PROT_READ|PROT_WRITE, MAP_SHARED, fd, 0);
/* set the display content */
int cnt = 0;
printf("%x\n", color);
while(cnt < LENGTH)
{
memcpy(ctt+(cnt/4), &color, 4);
cnt += 4;
}
munmap(ctt, LENGTH);
close(fd);
return 0;
}
int usage(void)
{
fprintf(stderr, "memset fb0 color\n");
fprintf(stderr, "usage: fb_color \n");
return 1;
}
root@camdroid:/ #
root@camdroid:/ #
root@camdroid:/ # cd /sys/class/sunxi_dump
root@camdroid:/sys/class/sunxi_dump # echo 01c0c040 800001f4 > write
root@camdroid:/sys/class/sunxi_dump # echo 01c0c040 800001f5 > write
root@camdroid:/sys/class/sunxi_dump # echo 01c0c000,01c0c220 > dump;cat dump
[ 148.270551] __sunxi_dump_regs_ex, start 0x01c0c000, end 0x01c0c220, return 1995
0x01c0c000: 0x80000000 0x80000000 0x00000000 0x00000000
0x01c0c010: 0x80000000 0x00000001 0x00000003 0x00000005
0x01c0c020: 0x00000007 0x0000000b 0x0000000d 0x01010000
0x01c0c030: 0x15151111 0x57575555 0x7f7f7777 0x00000000
0x01c0c040: 0x800001f5 0xf000000a 0x01df0355 0x01f30009
0x01c0c050: 0x06b80003 0x00010001 0x00000000 0x00000000
0x01c0c060: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c070: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c080: 0x00000000 0x00000000 0x00000000 0xe0000000
0x01c0c090: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c0a0: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c0b0: 0x00010001 0x00000000 0x00000000 0x00000000
0x01c0c0c0: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c0d0: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c0e0: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c0f0: 0x00000000 0xffffffff 0x40840000 0xa0e24000
0x01c0c100: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c110: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c120: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c130: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c140: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c150: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c160: 0x00000000 0x00000000 0x00200000 0x00000000
0x01c0c170: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c180: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c190: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c1a0: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c1b0: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c1c0: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c1d0: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c1e0: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c1f0: 0x01860003 0x00000000 0x00000000 0x00000000
0x01c0c200: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c210: 0x00000000 0x00000000 0x00000000 0x00000000
0x01c0c220: 0x00000000
root@camdroid:/sys/class/sunxi_dump # echo 01c0c040 800001f5 > write
root@camdroid:/sys/class/sunxi_dump # echo 01c0c040 800001f4 > write
root@camdroid:/sys/class/sunxi_dump #
root@camdroid:/sys/class/sunxi_dump #
root@camdroid:/sys/class/sunxi_dump # echo 01c0c040 800001f0 > write
linux lcd cd,linux LCD调试相关推荐
- 常用的linux命令cd,linux常用命令:cd 命令
Linux cd 命令可以说是Linux中最基本的命令语句,其他的命令语句要进行操作,都是建立在使用 cd 命令上的.所以,学习Linux 常用命令,首先就要学好 cd 命令的使用方法技巧. 1. 命 ...
- 每天一个linux命令cd,Linux指令每日背诵(第一天)
了解:Linux 命令的分类:内部指令.外部指令. Shell 在用户和内核之间充当了"翻译官"的角色. 掌握:四种指令方式:1.命令字:2.命令字+选项:3.命令之+参数:4.命 ...
- linux cat cd,linux 文件系统命令 cat cd chmod
cd,有时也写作chdir(change directory,改变目录),是在Unix.Windows和DOS操作系统下用于 改变工作目录的命令行命令.在Unix的外壳脚本与Windows或DOS的批 ...
- 【Linux驱动开发】LCD 驱动实验
一.简介 Framebuffer 设备,Framebuffer(帧缓冲),简称 fb. LCD 对应的设备文件是 /dev/fbX(X=0~n). 在 Linux 中应用程序也是通过操作 RGB LC ...
- lcd命令 linux,嵌入式Linux裸机开发(十五)——LCD
嵌入式Linux裸机开发(十五)--LCD 一.LCD简介 LCD(Liquid Crystal Display)是液晶显示器简称.LCD的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置T ...
- linux图形界面抖动,Linux下RGB接口LCD显示屏移植杂点抖动问题解决
处理器:IMX6Q 操作系统:Linux 3.14.28 LCD接口:RGB24bit+SPI 显示屏型号:TM043YDHG30-40 问题描述: SPI设置完参数给显示屏后,屏幕可以显示图片.亮度 ...
- Linux下RGB接口LCD显示屏移植杂点抖动问题
处理器:IMX6Q 操作系统:Linux 3.14.28 LCD接口:RGB24bit+SPI 显示屏型号:TM043YDHG30-40 问题描述: SPI设置完参数给显示屏后,屏幕可以显示图片.亮度 ...
- 《Linux驱动:s3c2440 lcd 驱动分析》
文章目录 一,前言 二,LCD原理和硬件分析 2.1 LCD原理解析 2.2 硬件电路 2.2.1 LCD背光电路 2.2.2 LCD屏 2.2.3 S3c2440主控 三,LCD应用平台总线-设备- ...
- Linux Bash命令关于程序调试详解
转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...
最新文章
- Android 多语言
- Linux系统性能分析:内存 优化
- 高速电路中的AC耦合电容
- 皮一皮:这才是书法的最高境界...
- Spring Boot 2.5.0 重新设计的spring.sql.init 配置有啥用?
- 第二期 AOSP 环境搭建、下载和编译 《手机就是开发板》遇到问题解决
- Android图片资源获取原则
- linux 如何下载svn插件安装,Linux SVN服务端安装和eclipse svn插件配置
- php伪静态后无法获得url中参数_php runtime、http web中rewrite浅解和方案
- 初级使用Latex写论文经验总结
- 魔兽发布页站源码-自带采集插件+5条规则
- lambda 对象初始化器 集合初始化器
- python的8种标准数据类型有哪些_Python的八种数据类型
- VB更改任何标题程序源代码
- Struts2+Spring4+Hibernate4项目整合
- 文件服务器代码大全,文件服务器 代码
- 财税打印机LQ 670K+ win10驱动
- 实战python网络爬虫黄永祥_《实战Python网络爬虫》- 感想
- 在vue中实现父组件调用子组件以及传值
- 3dmax2014 uv用法_3dmax2014UVW是什么意思,怎么展开UVWID:30075914
热门文章
- ES6基础语法(let、const、解构赋值、模板字符串、简化对象、箭头函数、扩展运算符)(一)
- 网吧克隆——XP系统母盘制作全攻略
- Android菜鸟笔记-WifiPickerActivity 实现跳转到系统自带wifi连接界面
- R语言当前文件工作路径
- vim格式化html代码
- 天气变冷了,用Python给爸妈制作一个天气提醒小助手
- 串之Ukkonen、Rabin_karp算法
- PCB设计--AD18导入二维码避坑指南
- 计算机毕业设计JavaVue框架电商后台管理系统(源码+系统+mysql数据库+lw文档)
- 树莓派声音输出设置_Raspberry Pi(树莓派)声音输出的设置