海思3515开发方案实现开机启动画面功能
来源:互联网 发布:淘宝网火车票 编辑:程序博客网 时间:2024/03/29 07:29
海思提供的uboot是支持开机启动画面的,在提供的帮助文档中提到了一些命令来实现该功能:
setenv jpeg_addr 0x800C0000
setenv jpeg_size 0x10000
setenv vobuf 0xC7160000
接下来需用tftp下载图片到指定的内存地址中,注意这里的地址必须是一个有效的地址,要不然图片载入不成功。
烧写开机画面:
tftp 0x800C0000 logo.jpg
protect off 0x800C0000 0x800fffff
erase 0x800C0000 0x800fffff
tftp 0x800C0000 logo.jpg
接下来就是解码和显示:
decjpeg
startvo 0 2 7
startvo 2 0 0
stopgx 0
stopvo 0
通过命令测试成功了,接下来就是在uboot源码中实现了。
我们是在uboot启动内核之前做的。
修改Cmd_bootm.c中的do_bootm函数,添加如下代码:
char *s=NULL;
long u =0;
long vobufAddr = 0;
s = getenv("vobuf");
if(s)
{
vobufAddr = simple_strtol(s,NULL,0);
}
else
{
printf("Invalid vobuf address!\n");
vobufAddr = 0xc8000000;
}
printf("+++++++++++++++++<<vobufAddr=%#x>>\n", vobufAddr);
load_jpeg();
jpeg_decode();
set_vobg(0, 0x000000);
start_vo(0,2,7); // start_vo[dev, type, sync], -<dev> : 0(HD), 1(AD), 2(SD)
start_vo(2,0,0); // 第3个参数, 0(PAL),1(NTSC), 7(800x600), 8(1024x768),9(1280x1024),10(1366x768),11(1440x900)
start_gx(0,vobufAddr,1600,0,0,800,600);
start_gx(2,vobufAddr,1600,0,0,720,576);
然后图片是放在flash的某个固定地址中的。
- 海思3515开发方案实现开机启动画面功能
- 设置linux开发板开机启动画面
- linux开发板下更改开机启动的画面(2)
- 【Qt开发】实现Qt程序启动画面
- 海思开机启动画面
- Activity开机画面延迟启动
- Qt中开机启动画面
- android开发开机自启动功能
- java程序实现开机自启动功能
- Windows下C++开机启动功能实现
- Android启动画面实现
- 如何实现启动画面
- Android启动画面实现
- Android启动画面实现
- Android实现启动画面
- Android启动画面实现
- Android启动画面实现
- Android启动画面实现
- 提高编程技巧的十大方法
- JS 获取上传文件大小的方法
- IT人员迅速提升自我效率的十大方法
- JDBC Class.forName(); 原代码讲解
- 反射实现toString工具类
- 海思3515开发方案实现开机启动画面功能
- 运算符优先级
- linux内核下等待队列的使用
- fstream和ifstream详细用法 .
- 第一帖
- 如何配置ADS1.2,生成.bin文件!
- bat 批处理极其常用命令
- wpa_supplicant的移植
- 关于C++的 explicit关键字