Bootlogo使用说明
1. 概述¶
本文档主要介绍910Q&920G Bootlogo的使用。
目前910Q&920G都使用MISC分区,MISC分区使用的是开源的littlefs文件系统,此文件系统支持读写,比较容易跨平台移植,rtk、uboot和linux中都有支持,并且读取速度非常快,支持掉电保护以及有不错的写均衡机制,对于使用者来说也更加方便对屏参进行修改。
uboot需要打开CONFIG_FS_LITTLEFS=y,同时misc分区类型也需要改为lfs;SDK uboot默认为CONFIG_FS_FIRMWAREFS=y,misc默认分区类型为fwfs,config.ini为只读模式。
project\image\configs\m6\spinand.squashfs.partition.config misc$(RESOUCE) = $(OUTPUTDIR)/misc misc$(PATSIZE) = 0x60000 misc$(FSTYPE) = fwfs//lfs misc$(MOUNTTG) = /misc misc$(OPTIONS) = rw misc$(MOUNTPT) = /dev/mtd9 misc$(MTDPART) = $(misc$(PATSIZE))(MISC)
2. 使用说明¶
2.1. 基础配置¶
默认情况下MISC分区下的bootlogo.jpg和config.ini可能是不可见的(upgrade.jpg类同),需要打开以下配置。
2.1.1. Uboot¶
在boot\configs下找到使用的config文件打开如下config:
CONFIG_FS_FIRMWAREFS=y CONFIG_SSTAR_INI_PARSER=y
2.1.2. Kernel¶
通过make menuconfig打开FUSE。

以上设置完成并升级后可以看到board misc路径下有如下文件:

config.ini实际对应代码里面project\board\ini\misc\config.ini,所有对LOGO显示的配置都集中在INI的"LOGO"的section中:
[LOGO] m_eDeviceType = 1; #0 None, 1 LCD, 2 HDMI, 3 VGA m_sParaTarget = ST7710S m_wDispWidth = 0 m_wDispHeight = 0 m_wDispFps = 0 m_sLogoFile0 = sigmastar1024_600.jpg m_sLogoFile1 = upgrade.jpg
m_eDeviceType:表示需要显示LOGO的设备类型。
m_sParaTarget:显示的屏参section索引,只有LOGO设备类型为LCD时才会生效。
m_wDispWidth,m_wDispHeight,m_wDispFps:当显示设备为非LCD类型时,这些参数才有意义,表示的是HDMI/VGA输出的timming。
m_sLogoFile0,m_sLogoFile1:LOGO的id所对应的jpeg文件。
INI文件修改完成后重启生效。
2.1.3. project¶
-
注意
config.ini的打包配置,删除misc目录外其他目录的config.ini打包如
project/image/configs/m6/customer.mk中
-
检查
project/image/configs/m6/misc.mk中config.ini的路径是否为project\board\ini\misc\config.ini,不一致请修改为cp -rf $(PROJ_ROOT)/board/ini/misc/config.ini $(misc$(RESOUCE))/config.ini ;\
-
添加bootlogo cmd到boot env
@echo setenv bootcmd \' $(if $(findstring misc,$(IMAGE_LIST)),bootlogo 0 0 0 0\;) $(kernel$(BOOTCMD)) $(rootfs$(BOOTCMD)) bootm $(KERNELBOOTADDR)\;$(kernel$(BOOTREC)) $(rootfs$(BOOTREC)) bootm $(KERNELBOOTADDR) >> $(SCRIPTDIR)/set_config
2.2. HDMI输出配置¶
2.2.1. Uboot¶
打开如下config:
CONFIG_CMD_BOOTLOGO CONFIG_SSTAR_DISP CONFIG_SSTAR_DISP_HDMITX_VGA CONFIG_SSTAR_HDMITX CONFIG_SSTAR_JPD
并需要关掉CONFIG_SSTAR_PNL。
2.2.2. config.ini¶
参考如下:
[LOGO] m_eDeviceType = 2; #0 None, 1 LCD, 2 HDMI, 3 VGA 4 CVBS m_sParaTarget = DACOUT_1080P_60 m_wDispWidth = 1920 m_wDispHeight = 1080 m_wDispFps = 60 m_sLogoFile0 = sigmastar1024_600.jpg m_sLogoFile1 = upgrade.jpg
以上修改需要更新uboot和重启,完成后可以开机进uboot下通过如下cmd测试是否可以正常显示:
bootlogo [logo index] [aspect ratio] [x] [y]
此命令会带四个参数:
logo index: LOGO中打包的JPEG的数字索引。
aspect ratio:显示logo的aspect
ratio,0表示zoom,全屏显示,1表示center,居中显示,2表示user,用户设定起始点,点对点显示。
x,y:若aspect ratio为user,x、y表示图片显示的起始点。
举例:
SigmaStar # bootlogo 0 0 0 0
2.3. VGA输出配置¶
-
Uboot menuconfig同HDMI配置。
-
config.ini需要修改为VGA type,例如[LOGO] m_eDeviceType = 3; #0 None, 1 LCD, 2 HDMI, 3 VGA m_sParaTarget = DACOUT_1080P_60 m_wDispWidth = 1280 m_wDispHeight = 800 m_wDispFps = 60 m_sLogoFile0 = sigmastar1024_600.jpg m_sLogoFile1 = upgrade.jpg
2.4. PNL输出配置¶
-
Uboot
打开如下config:
CONFIG_CMD_BOOTLOGO CONFIG_MS_GPIO CONFIG_SSTAR_DISP CONFIG_SSTAR_PNL CONFIG_SSTAR_JPD
-
config.ini需要修改m_eDeviceType为LCD, m_sParaTarget记得需要设置为对应的屏参,可参考config.ini的m_pnlList。
2.5. CVBS输出配置¶
-
Uboot menuconfig同HDMI配置。
-
config.ini需要修改为CVBS type,例如[LOGO] m_eDeviceType = 4; #0 None, 1 LCD, 2 HDMI, 3 VGA 4 CVBS m_sParaTarget = DACOUT_1080P_60 m_wDispWidth = 720 m_wDispHeight = 480 m_wDispFps = 30 m_sLogoFile0 = sigmastar720_480.jpg m_sLogoFile1 = upgrade.jpg
目录misc中的图片尺寸也要跟上面设定尺寸一致。
2.6. HDMI/VGA+CVBS同时输出配置¶
-
Uboot menuconfig同HDMI配置。
-
config.ini中增加LOGO1的配置参数LOGO/LOGO1可以任意定义显示HDMI/VGA,还是CVBS [LOGO]。
m_eDeviceType = 4; #0 None, 1 LCD, 2 HDMI, 3 VGA m_sParaTarget = DACOUT_1080P_60 m_wDevId = 0 m_wDispWidth = 720 m_wDispHeight = 576 m_wDispFps = 25 m_sLogoFile0 = sigmastar720_576.jpg m_sLogoFile1 = upgrade.jpg [LOGO1] m_eDeviceType = 3; #0 None, 1 LCD, 2 HDMI, 3 VGA m_sParaTarget = DACOUT_1080P_60 m_wDevId = 1 m_wDispWidth = 1920 m_wDispHeight = 1080 m_wDispFps = 60 m_sLogoFile0 = sigmastar1024_600.jpg m_sLogoFile1 = upgrade.jpg
bootcmd需要增加bootlogo cmd参数 [section_name]用来区分两个LOGO:
bootlogo [logo_id] [aspect ratio '0: zoom' '1: center' '2: usr'] [x] [y] [section_name]
如:
bootcmd=bootlogo 0 0 0 0 LOGO;bootlogo 0 0 0 0 LOGO1;
可自行在image\configs\m6\script_nand.mk中修改自动增加LOGO1的bootcmd。
@echo setenv bootcmd \' $(if $(findstring misc,$(IMAGE_LIST)),bootlogo 0 0 0 0 LOGO\;) $(if $(findstring misc,$(IMAGE_LIST)),bootlogo 0 0 0 0 LOGO1\;) $(kernel$(BOOTCMD)) $(rootfs$(BOOTCMD)) bootm $(KERNELBOOTADDR)\;$(kernel$(BOOTREC)) $(rootfs$(BOOTREC)) bootm $(KERNELBOOTADDR) >> $(SCRIPTDIR)/set_config
2.7. 升级UI显示¶
在uboot中需要打开 SSTAR UPGRADE UI,此命令依赖于SSTAR RGN 、SSTAR DISP。

也可通过bootlogo cmd测试。
Uboot修改后请重新编译后手动Release更新后的u-boot_spinand.xz.img.bin到project\board\m6\boot\spinand\uboot\对应板子的路径下,再到project下重新make image打包烧录。
注意:SSR920G对应016A,SSR910Q对应017A。