6、修改uboot的开机logo - LCD屏显示原理

1. LOGO的作用

     1)商业行为    
     2)更好的用户体验

2.LOGO显示的原理

     2.1 实现LCD屏的驱动程序 board/s5p6818/x6818/x6818-lcds.c

           uboot中已经实现了LCD的驱动程序,主要完成了
           1)LCD控制器的时序配置
           2)申请一片连续的内存作为显存使用
           3)将显存的起始地址通知LCD控制器
           效果:LCD控制器会自动地、周期性地将显存中的数据刷新到LCD屏上去
           应用程序如果要在LCD屏上显示图像的其实就是将图像相关的数据写入显存即可

     2.2 图像显示的基本原理

           图像是由像素点组成的
           每个像素点的颜色值由RGB三原色构成,通常RGB的取值各占一个字节
           32bit真彩色:  透明度  R   G   B  
           开发板使用的LCD分辨率:1024*600

3. 显示图片到LCD屏

       3.1  将图片转换为RGB数据:Image2Lcd.rar  c数据文件  : tarena_logo.c
       3.2  复制c数据文件到对应的文件夹并编写显示数据的函数
                 cp tarena_logo.c  uboot/arch/arm/cpu/slsiap/commoncommon/
                 vi common/draw_logo.c      //编写图像到对应的内存的函数 void draw_picture(void)
       3.3  使uboot调用该函数
                 vi arch/arm/cpu/slsiap/common/cmd_draw_logo.c   //在此文件的下方提示的位置替换为编写的draw_picture函数
                 408 extern void draw_picture(void);
                 409 #if (1)
                 410 static void fill_lcd(U32 FrameBase, int XResol, int YResol, U32 PixelByte)
                 411 {
                 412     draw_picture();
                 413 }

        3.4  使uboot编译并链接该函数
                 vi common/Makefile     //在此文件的提示位置插入这两句
                 7 obj-y += tarena_logo.o
                 8 obj-y += draw_logo.o

        3.5  make

        3.6  将新生成ubootpak.bin烧写到emmc
                 cp ubootpak.bin /tftpboot/
                 tftp 48000000 ubootpak.bin
                 update_mmc 2 2ndboot 48000000 200  下载字节数
                 re

 

你可能感兴趣的:(Linux移植)