LED显示驱动(六):LED显示设备显示单层图片调试(DE驱动测试)

一、显示驱动基础

1、深入学习display2模块的函数和数据结构。


2、制作图层挂在盒子做多个图层的显示,以及图层做alpha blending、colorkey等效果。
问题:1、bin文件生成、USB挂载问题。


3、修改图层并处理解决方法:
     方案一:制作.bin图片、修改cfg参数并正常显示遇到参数修改问题。
      方案二:直接写framebuffer的内容并烧写到盒子。
       对比:方案二更适合做图层显示处理,制作图片没有意义,直接填充FB做相关处理。


4、掌握计算屏幕上点像素的坐标的方法。


5、修改layer的demo,用自己的算法实现显示多块图层在屏幕任意位置。


6、做出两个图层来做透明化处理。问题:1、计算像素点的坐标。


7、图层demo
(1)改变图层内容小测试:方案一:改变图层内容显示图层。
方案二:改变图层属性改变图层显示的内容。
(2)图层显示小测试内容包括:1)显示一张全景图片(修改图层内容)
                2)显示单个模块来显示 任意位置(修改内容)
                3)显示任意四块颜色区域(修改内容显示)
                4)显示任意四块区域(修改图层属性显示)
                5)显示任意位置的区域(修改图层属性)
   (3)学会三原色的表示方法,左上角坐标点的计算方法。
   (4)填充内容的方法:改变图层内容,计算左上角坐标并加上偏移量,填充到相应的地址(RGB)改变图层属性来显示图层://通过改变裁减区域来表示需要显示的内容;
                //内存中裁减区域的左上角位置
                //内存裁减区域的大小(即宽高)
            显示区://显示区域的位置,左上角位置  
                //显示区域的宽高(在屏幕上的)
    (5)深入理解线宽(字节对齐后的字节数量)的意义,并掌握计算方法。


8、坐标计算方法


Linestride = B * W
Base.y = BASE + B*W*y   (线宽用于行首个有效数据的寻址)
Base.x = BASE + B*x
Base.y.x = BASE + B*W*y +B*x = BASE +B*(W*y +x)
Base.(y+y偏移量).x = Base.y.x+B*W*y偏移量

 

9、显示驱动到输出之间的关系

 


 

二、各个属性含义

Source_size:描述FB的大小(宽高)
Source_cope:描述需要截取的layer在FB中的大小
Screen_size:显示设备的分辨率的大小即屏幕大小(宽高)
Screen_window:截取的layer内容放置在需要显示的屏幕的中间的区域。
改变图层属性的方法:(高32位是整数位、低32位小数位)
内存区:
//通过改变裁减区域来表示需要显示的内容 //内存中裁减区域的左上角位置
config.info.fb.crop.x = ((long long)(src_width/4)) << 32;     
config.info.fb.crop.y = ((long long)(src_height/2)) << 32;
//内存裁减区域的大小(即宽高)
    config.info.fb.crop.width = ((long long)(src_width/4)) << 32;        
    config.info.fb.crop.height = ((long long)(src_height/4)) << 32;
显示区:
//通过改变图层属性来改变相应的显示区域 //显示区域的位置,左上角位置
config.info.screen_win.x = fb_para->output_width;      
config.info.screen_win.y = fb_para->output_height;
//显示区域的宽高(在屏幕上的)
        config.info.screen_win.width = (0 == fb_para->output_width)? src_width :(fb_para->output_width/2);   
        config.info.screen_win.height = (0 == fb_para->output_height)? src_height :(fb_para->output_height/2);
 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值