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