1 电路分析
依据电路:
- FUART_RTS(GPIO18) 用来使能电源模块 MP1540DJ-LF-Z 驱动LCM驱动电路得到 VGH ,VGL ,VCOM, LCD_AVDD
- GPIO4/PWM0 使能电源模块SY7201ABC 驱动升压电路得到 V_LED+, V_LED-
- LCD屏采用 CC0702I50R
2 注意点
从官方参考手册里指导:
- 只支持jpg;
- 软解图片,过大图片会较慢;
- 公版内存1M,分辨率需要满足 widthheight1.5 < 1M;
- 公版logo分区为128KB
- 图片宽度16对齐
3 2种实现方式
- LOGO分区:仅供UBOOT使用,本文就使用这种
- MISC分区:littlefs 文件系统; uboot、 linux、 rtk 共享一套配置
4 Uboot 配置
- CONFIG_CMD_BOOTLOGO=y
- CONFIG_SSTAR_DISP=y
- CONFIG_SSTAR_PNL=y
- CONFIG_SSTAR_JPD=y
5 LOGO分区制作
5.1 步骤
Project/configs/current.configs
BOOTLOGO_FILE = sigmastar1024_600.jpg
BOOTLOGO_ADDR = E_LX_LOGO_RESERVED_FB
DISP_OUT_NAME = CC0702I50R
Project/image/image.mk
logo_nofsimage:
@echo [[$@]]
$(PROJ_ROOT)/image/makefiletools/bin/dispcfggen -c -o
(
l
o
g
o
(logo
(logo(RESOUCE)) -p $(LOGO_ADDR) -s $(BOOTLOGO_BUFSIZE) -d $(DISP_OUT_NAME)
$(PROJ_ROOT)/image/makefiletools/bin/logogen -a -i
(
P
R
O
J
R
O
O
T
)
/
b
o
a
r
d
/
i
n
i
/
m
i
s
c
/
(PROJ_ROOT)/board/ini/misc/
(PROJROOT)/board/ini/misc/(BOOTLOGO_FILE) -o
(
l
o
g
o
(logo
(logo(RESOUCE))
$(PROJ_ROOT)/image/makefiletools/bin/logogen -a -i $(PROJ_ROOT)/board/ini/misc/upgrade.jpg -o
(
l
o
g
o
(logo
(logo(RESOUCE))
/opt/project/image/makefiletools/bin/dispcfggen -c -o /opt/project/image/output/images/logo -p 0x7c00000 -s 0x300000 -d CC0702I50R
/opt/project/image/makefiletools/bin/logogen -a -i /opt/project/board/ini/misc/sigmastar1024_600.jpg -o /opt/project/image/output/images/logo
/opt/project/image/makefiletools/bin/logogen -a -i /opt/project/board/ini/misc/upgrade.jpg -o /opt/project/image/output/images/logo
dispcfggen :产生显示相关的参数数据 源码:image\makefiletools\src\rawgenerator\disp_data_main.c
logogen: 生成由图片组成的LOGO数据 源码:image\makefiletools\src\rawgenerator\logo_data_main.c
5.2 屏参设置
参数 -d CC0702I50R
disp_data_main.c:
SS_SHEADER_TableHandler_t stTable[] = {{“RM68200”, &stPanel_720x1280_60_RM68200, &tPanel_RM68200_720x1280_4Lane_Sync_Pulse_RGB888},
{“SAT070CP50”, &stPanel_SAT070CP50_1024x600, NULL},
{“ADT07016BR50”, &stPanel_ADT07016BR50_1024x600, NULL},
{“CC0702I50R”, &stPanel_CC0702I50R_1024x600, NULL},
{“SAT070BO30I21Y0”, &stPanel_SAT070BO30I21Y0_1024x60, &stMipiDsiConfig_SAT070BO30I21Y0_1024x600}};
stPanel_CC0702I50R_1024x600 定义在 /pnl/CC0702I50R_1024x600.h中
有资料说,stTable 包含的所有屏参均会被写入LOGO分区,可通过uboot的环境变量来进行切换,未试验,能用就好了。
5.3 新增LCD屏支持
- 利用存在的类似屏幕参数/pnl/CC0702I50R_1024x600.h,复制一份进行修改
- 在disp_data_main.c 进行include和stTable[] 进行添加
- 编译工具
5.4 改变LOGO文件
依据步骤里的参数/opt/project/board/ini/misc/sigmastar1024_600.jpg进行替换或者修改spinand.glibc.011a.128的BOOTLOGO_FILE
6 板卡演示
Uboot:
SigmaStar # gpio output 18 1
gpio debug MHal_GPIO_Pad_Set: pin=18
gpio[18] is 1
SigmaStar # bootlogo 0 0 0 0 0
NAND read: device 0 offset 0x4e0000, size 0x60000
Time:59554 us, speed:6602 KB/s
393216 bytes read: OK
SigmaStar #