一.修改Uboot配置
路径 : ./boot/configs/infinity2m_defconfig
编辑:
CONFIG_CMD_BOOTLOGO=y
CONFIG_SSTAR_DISP=y
CONFIG_SSTAR_PNL=y
CONFIG_SSTAR_JPD=y
二.添加ubootlogo命令
路径:./boot/common/main.c
编辑:void main_loop(void)函数
在“run_preboot_environment_command();”后面添加如下代码
run_command("bootlogo 0 1 0 0 0", 0);
三.选择logo图片和屏参
1.复制logo图片到project
路径:./project/board/ini/misc/
编辑:将logo图片拷贝一份到此目录下(我这边的logo文件名为:“bootlogo.jpg”);
备注:jpg图片的宽为16的倍数,高为偶数
2.选择logo图片和屏参
路径:
64Mb:./project/configs/i2m/8.2.1/nor.glibc-squashfs.011a.64
128Mb:/project/configs/i2m/8.2.1/nor.glibc-squashfs.011a.128
编辑:
BOOTLOGO_FILE=bootlogo.jpg
DISP_OUT_NAME = SAT070CP50
四.生成制作logo 镜像的执行文件
路径:./projct/image/makefiletools/src/rawgenerator/
执行make 后会生成两个执行文件
1.discfggen:将显示logo的屏参添加到logo镜像文件中
2.logogen:将jpg图片添加到logo镜像文件中
注意:在这之前需要做好屏参,并且在“disp_data_main.c”中将屏参相关信息加入到文件中。
1.在data_data_main.c中,添加头文件
“#include “SAT070CP50_1024x600.h”(本人调试的屏参)
2.在SS_SHEADER_InsertDispTable函数中,stTable数组中添加自己的屏参
”{“SAT070CP50”, &stPanel_SAT070CP50_1024x600, NULL},“
五.制作logo镜像文件
路径:./project/image/makefiletools/bin/
执行:./dispcfggen -c -o …/…/output/images/logo -p 0x0003300000 -s 0x0000300000 -d SAT070CP50
执行:./logogen -a -i …/…/…/board/ini/misc/bootlogo.jpg -o …/…/output/images/logo
参数说明:
./dispcfggen -c -o …/…/output/images/logo -p 0x0003300000 -s 0x0000300000 -d SAT070CP50
-c:创建一个Raw data的header,并添加显示的sub header和数据,若-o指定的文件存在,则清空文件
-a: 在已经有Raw data header和相关数据的文件末尾追加一个显示相关的sub header以及数据
-o: 指定输出的文件
-p 板子上用于显示的物理地址
-s 显示地址的内存大小
-d 显示输出的索引名
-i jpeg 文件的路径
-p,-s的数值需要到具体的路径中查找
路径:
64Mb:./board/i2m/mmap/MMAP_I2M_64M.h
128Mb: ./board/i2m/mmap/MMAP_I2M_128M.h
-p的值= E_LX_LOGO_RESERVED_FB_ADR
-s的值= E_LX_LOGO_RESERVED_FB_LEN
六.重新编译project生成文件系统
我用的是64Mb的,脚本如下:
cd project/
./setup_config.sh ./configs/nvr/i2m/8.2.1/nor.glibc-squashfs.011a.64
cd kbuild/4.9.84/
./release.sh -k ${kernel_path} -b 011A -p nvr -f nor -c i2m -l glibc -v 8.2.1
cd …/…/
make image