linux logo持续时间,linux 2.6.29实现真彩色logo

#include #include "truecolor_logo.h"

#include "truecolor_logo_rc.h"

void fb_show_truecolor_logo(struct fb_info *info)

{

int i;

unsigned char* addr = (unsigned char*)info->screen_base;

for (i = 0; i     {

*(addr+i) = truecolor_logo_data[i];

}

}

2.然后要修改一个drivers/video/fbmem.c里的代码

1)加入一个宏#define TRUE_COLOR

2)添加一个头文件

#ifdef TRUE_COLOR

#include "truecolor_logo.h"

#endif

3)修改fb_show_logo函数

int fb_show_logo(struct fb_info *info, int rotate)

{

#ifdef TRUE_COLOR

fb_show_truecolor_logo(info);

return 1;

#else

int y;

y = fb_show_logo_line(info, rotate, fb_logo.logo, 0,

num_online_cpus());

y = fb_show_extra_logos(info, y, rotate);

return y;

#endif

}

重新编译下载运行内核会发现真彩图片已经显示,但是只能显示上面的一小部分,这是因为以前的默认的企鹅logo的高度就那么大,需要修改一下高度.

3)修改fb_prepare_logo函数以改变高度

该函数的最后return处改为

#ifdef TRUE_COLOR

return fb_prepare_extra_logos(info, YRES, YRES);

#else

return fb_prepare_extra_logos(info, fb_logo.logo->height, yres);

#endif

重新编译完之后,就能全部显示了.

3.这时又发现一个问题,lcd屏缺了一块,仔细辩认,原来是有光标这那里闪烁.需要去掉光标.

修改drivers/video/console/bitblit.c文件的bit_cursor函数

在该函数结尾处的

if (err)

soft_cursor(info, &cursor);

改为

if (0)

soft_cursor(info, &cursor);

这样就永远不会显示光标了.

其它更高位色可以按些法相应改过.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值