zoukankan      html  css  js  c++  java
  • uboot之logo显示【转】

    本文转载自:http://blog.csdn.net/tuwenqi2013/article/details/60583735

    一、logo的调用流程

    |-->board_init_r: < board.c>

             |--> stdio_init: <common/stdio.c>

                    |--> drv_lcd_init:<common/lcd.c>

                          |--> lcd_init: <common/lcd.c>

                                |--> lcd_ctrl_init: drivers/video/<与硬件相关 >

                                |-->lcd_clear();

                                    |-->lcd_logo()<显示图片>

                                       |-->bitmap_plot(0,85);<将图片读取到frambuffer>

    二、读取bitmap写入frambuffer

     

    1、  首先将图片数组的首地址赋给bmap。

     

    [cpp] view plain copy
     
    1. bmap = &bmp_logo_bitmap[0];  

    2、  然后将图片数组数据写入frambuffer,然后显示

     

    [cpp] view plain copy
     
    1. if(NBITS(panel_info.vl_bpix) == 16){  
    2.         u16 col16;  
    3.         fb16 = (ushort *)fb;  
    4.         for (i = 0; i < BMP_LOGO_HEIGHT; ++i) {  
    5.             for (j = 0; j < BMP_LOGO_WIDTH; j++) {  
    6.                 col16 = bmp_logo_palette[(bmap[j]-16)];  
    7.                 fb16[j] =  
    8.                     ((col16 & 0x000F) << 1) |  
    9.                     ((col16 & 0x00F0) << 3) |  
    10.                     ((col16 & 0x0F00) << 4);  
    11.                 }  
    12.             bmap += BMP_LOGO_WIDTH;  
    13.             fb16 += panel_info.vl_col;  
    14.         }  
    15.     }  


     

    备注:

     

    1、图片转化函数: oolsmp-logo.c  将bmp文件转化为二维数组bmp_logo_bitmap[](includemp_logo_data.h)

     

    2、通过makefile查到驱动文件u-bootdriversvideojz_lcdlcd_panel/truly_tft240240_2_e.c 

    3、  改变图片显示的首地址:比如第85行开始显示

     bitmap_plot(0, 85);--------------   commonlcd.c

    4、IncludeBmp_logo.h 定义图片大小也是 oolsmp-logo.c生成的。

    [cpp] view plain copy
     
    1. #defineBMP_LOGO_WIDTH                   240  
    2. #defineBMP_LOGO_HEIGHT                 70  
    3. #define BMP_LOGO_COLORS               240  
    4. #defineBMP_LOGO_OFFSET                 16  


    5、IncludeBmp_logo_data.h保存图片的二维数组,由 oolsmp-logo.c生成的。

  • 相关阅读:
    基于html2canvas实现网页保存为图片及图片清晰度优化
    玩转 React(四)- 创造一个新的 HTML 标签
    浅谈前后端分离与实践(一)
    javascript新手实例1-DOM基本操作
    一个看一次就永远不会忘的windows环境开发小技巧
    细说Web API中的Blob
    所见即所得,实现一个有趣的动画效果
    带你玩转prefetch, preload, dns-prefetch,defer和async
    Hologres+Flink流批一体首次落地4982亿背后的营销分析大屏
    浏览器报错:ERR_PROXY_CONNECTION_FAILED的解决方法
  • 原文地址:https://www.cnblogs.com/zzb-Dream-90Time/p/8340233.html
Copyright © 2011-2022 走看看