Bootlogo使用说明

Version 1.3


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.jpgconfig.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

  1. 注意config.ini的打包配置,删除misc目录外其他目录的config.ini打包

    project/image/configs/m6/customer.mk

  2. 检查project/image/configs/m6/misc.mkconfig.ini的路径是否为project\board\ini\misc\config.ini,不一致请修改为cp -rf $(PROJ_ROOT)/board/ini/misc/config.ini $(misc$(RESOUCE))/config.ini ;\

  3. 添加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输出配置

  1. Uboot menuconfig同HDMI配置。

  2. 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输出配置

  1. Uboot

    打开如下config:

    CONFIG_CMD_BOOTLOGO
    CONFIG_MS_GPIO
    CONFIG_SSTAR_DISP
    CONFIG_SSTAR_PNL
    CONFIG_SSTAR_JPD
    
  2. config.ini需要修改m_eDeviceType为LCD, m_sParaTarget记得需要设置为对应的屏参,可参考config.ini的m_pnlList。


2.5. CVBS输出配置

  1. Uboot menuconfig同HDMI配置。

  2. 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同时输出配置

  1. Uboot menuconfig同HDMI配置。

  2. 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。