下面以配置 HD0 上 VGA DHMI 1080p@60 的输出, SD 上 CVBS PAL 输出为例进行介绍
- 配置 jpeg 解码参数
setenv jpeg_addr 0x94000000;
setenv jpeg_size 0xb85f9;
setenv vobuf 0x94000000;
saveenv
- 解码 JPEG 到内存
decjpg
- 配置 HD0 设备启动
startvo 0 36 10
- 配置 SD 设备启动 startvo 2 1 0
- 配置图形层 0 启动 startgx 0 0x94000000 3840 0 0 1920 1080
- 配置图形层 2 启动 startgx 2 0x94000000 3840 0 0 720 576
- 关闭图形层 0 stopgx 0
其他
- 执行擦除logo命令
erase 0x34060000 0x10000
- 上传logo图片
tftp 0x34060000 logo.jpg
- 设置图片大小的启动变量 A:获取图片大小:在图片右键点击属性 b:打开计算器,计算18691的十六进制值
- 设置环境变量,
使用命令
setenv jpeg_size <0x值>
- sa 保存即可
logo图片生成
- 选择格式为jpg的图片,图片大小为12801024,形式为rgb,8位。并且命名为logo.jpg,用Bin2C.exe转换为.c的文件logo.c,将logo.c放置uboot的driver/dec目录下,其他uboot源码改动请看driver/dec以及common目录下的main.c。具体如何修改源码,请参考如下参数设置(已经在项目中使用)
setenv jpeg_addr 0x82000000
setenv jpeg_size 0x100000
setenv vobuf 0x8ff00000
tftp 0x82000000 logo.jpg
decjpg
setvobg 0 0x0
startvo 0 52 15
startgx 0 0x8ff00000 2560 0 0 1280 1024
注:当前只支持jpg图片并且必须为8位的rgb,图片大小也必须为12801024。否则uboot无法为图片解码。