uboot下启动logo

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 #

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值