Dm355增加启动boot logo
2010-07-16 14:05
176 查看
在内核中增加启动logo是比较简单的.make menuconfig->device driver->graphics support->logo configuration,里面的全都选上.编译内核的时候会将driver/video/logo中的图片转换为C语言的数组,编译进内核.所以如果需要更换图片,只需要将另外一张PPM图片覆盖就可以了.下面是PPM图片制作的过程.
1. 首先在linux中安装netpbm包.我使用的是ubuntu 10.04,输入以下命令
a) Sudo apt-get install netpbm
2. 首先使用 Photoshop 制作 png 文件(Windows下),或者使用最简单的画图工具另存为png图片即可.
3. 再将png图片转成pnm
# pngtopnm uclinux_logo.png > uclinux_logo.pnm
4. 然后将pnm图片的颜色数限制在224
# pnmquant 224 uclinux_logo.pnm > logo_linux_clut224.pnm
5. 最后将pnm图片转换成我们需要的ppm
# pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
6. 将 logo_linux_clut224.ppm 替换 linux-2.6/drivers/video/logo 中对应的图像
Dm355具有三个display窗口,video display, osd display, attribute display.video display使用的是V4L2,显示缓存使用的是user buffer.而osd display和attribute display使用的是FB实现的.不支持user buffer.所以选择OSD窗口显示logo.通过kconfig和makefile找出davinci FB实现文件是driver/video/davincifb.c文件.我们只看初始化部分,分别注册了四个窗口,呵呵.osd窗口就是在这里初始化的.:davincifb_init_window函数.这个函数的 return 0 上面加入下面这些语句:
#if !defined(CONFIG_FRAMEBUFFER_CONSOLE) && defined(CONFIG_LOGO)
if(is_osd_win(info))
{
if (fb_prepare_logo(info, FB_ROTATE_UR)) {
/* Start display and show logo on boot */
fb_set_cmap(&info->cmap, info);
fb_show_logo(info, FB_ROTATE_UR);
}
}
#endif
重新编译内核,启动dm355 EVM板,在电视机的左上角将显示一张图片.呵呵,成功了.
通过修改fbmem.c中的fb_show_logo函数的image.dx, image.dy的值,可能调整图片显示的位置.
1. 首先在linux中安装netpbm包.我使用的是ubuntu 10.04,输入以下命令
a) Sudo apt-get install netpbm
2. 首先使用 Photoshop 制作 png 文件(Windows下),或者使用最简单的画图工具另存为png图片即可.
3. 再将png图片转成pnm
# pngtopnm uclinux_logo.png > uclinux_logo.pnm
4. 然后将pnm图片的颜色数限制在224
# pnmquant 224 uclinux_logo.pnm > logo_linux_clut224.pnm
5. 最后将pnm图片转换成我们需要的ppm
# pnmtoplainpnm logo_linux_clut224.pnm > logo_linux_clut224.ppm
6. 将 logo_linux_clut224.ppm 替换 linux-2.6/drivers/video/logo 中对应的图像
Dm355具有三个display窗口,video display, osd display, attribute display.video display使用的是V4L2,显示缓存使用的是user buffer.而osd display和attribute display使用的是FB实现的.不支持user buffer.所以选择OSD窗口显示logo.通过kconfig和makefile找出davinci FB实现文件是driver/video/davincifb.c文件.我们只看初始化部分,分别注册了四个窗口,呵呵.osd窗口就是在这里初始化的.:davincifb_init_window函数.这个函数的 return 0 上面加入下面这些语句:
#if !defined(CONFIG_FRAMEBUFFER_CONSOLE) && defined(CONFIG_LOGO)
if(is_osd_win(info))
{
if (fb_prepare_logo(info, FB_ROTATE_UR)) {
/* Start display and show logo on boot */
fb_set_cmap(&info->cmap, info);
fb_show_logo(info, FB_ROTATE_UR);
}
}
#endif
重新编译内核,启动dm355 EVM板,在电视机的左上角将显示一张图片.呵呵,成功了.
通过修改fbmem.c中的fb_show_logo函数的image.dx, image.dy的值,可能调整图片显示的位置.
相关文章推荐
- Porting:uboot简介、移植、代码阅读、uboot添加启动logo
- Am335x之u-boot LOGO的增加
- Am335x下增加u-boot的LOGO
- 自定义u-boot启动logo的方法
- DM355的启动方式,nand boot,uart boot
- linux启动logo修改 bootlogo
- 自定义u-boot启动logo的方法
- SpringBoot实践:更换启动Logo字样
- 自定义u-boot启动logo的方法
- 天漠SOC8200(TI AM3517 ARM芯片)u-boot增加开机logo
- 自定义u-boot启动logo的方法
- D-Chip IMX6 android下增加kernel启动logo的办法
- 自定义u-boot启动logo的方法
- DM355的启动方式,nand boot,uart boot
- 自定义u-boot启动logo的方法
- smdkv210 uboot增加GPIO按键和开机logo的制作
- 光盘启动 (Boot from CDROM) Part 2- SakiProject
- WinCE动态修改启动LOGO
- Android LK Bootlaoder启动概览
- Spring Boot启动流程详解