mini2440 w35 制作开机logo 去除logo光标

一、制作.ppm文件

默认的logo文件是 drivers/video/logo/logo_linux_clut224.ppm,因此制作一个新.ppm文件,覆盖它即可。

一般的linux发行版系统都已自带netpbm-10.35-6.fc6工具。最好把你的图片做为png格式,做以下步骤:

pngtopnm logo.png>logo.pnm  #转换png成pnm格式

pnmquant 224 logo.pnm > logo_224.pnm #转换像素数为224

pnmtoplainpnm logo_224.pnm > logo_linux_clut224.ppm  #转换二进制的pnm格式为文本的ppm格式

cp  logo_linux_clut224.ppm kernel/drivers/video/logo/logo_linux_clut224.ppm #覆盖原有文件

做完以上这些步骤,重新编译内核,烧入板上,可以看到logo已改,但如果是mini2440 w35屏的话,图片显示会有点不兼容。

因此还要继续下面的修改

二、修改led显示驱动

在/arch/arm/mach-s3c2440/mach-mini2440.c文件中

#elif defined(CONFIG_FB_S3C2410_N480272)

#define LCD_WIDTH 480

#define LCD_HEIGHT 272

#define LCD_PIXCLOCK 100000

#define LCD_RIGHT_MARGIN 36

#define LCD_LEFT_MARGIN 19

#define LCD_HSYNC_LEN 5

#define LCD_UPPER_MARGIN 1

#define LCD_LOWER_MARGIN 5

#define LCD_VSYNC_LEN 1

//加入以下w35屏配制的代码

#elif defined(CONFIG_FB_S3C2410_W320240)      

#define LCD_WIDTH      320

#define LCD_HEIGHT     240

#define LCD_PIXCLOCK   70000

#define LCD_RIGHT_MARGIN       68

#define LCD_LEFT_MARGIN        66

#define LCD_HSYNC_LEN          4

#define LCD_UPPER_MARGIN       4

#define LCD_LOWER_MARGIN       4

#define LCD_VSYNC_LEN          9

#define LCD_CON5 (S3C2410_LCDCON5_FRM565 |S3C2410_LCDCON5_INVVDEN | S3C2410_LCDCON5_INVVFRAME | S3C2410_LCDCON5_INVVLINE| S3C2410_LCDCON5_INVVCLK | S3C2410_LCDCON5_HWSWP)

打开 drivers/video/Kconfig

config FB_S3C2410_T240320

        boolean "3.5 inch 240X320 Toppoly LCD"

        depends on FB_S3C2410

        help

          3.5 inch 240X320 Toppoly LCD

 //加入以下w35kconfig的配制菜单

configFB_S3C2410_W320240                 

       boolean "3.5 inch 320x240 W35i LCD"

       depends on FB_S3C2410

       help

         3.5 inch 320x240 W35i LCD

 

命令行输入make  menuconfig


Device Drivers    --->

Graphics support    --->

<*> Support for frame buffer devices    --->

LCD select (3.5 inch 320x240 W35i LCD)    --->

里面选择你刚才增加的w35屏配制

 

三、去除开机logo待机光标

如果你发现logo左下角会有闪烁的光标,可以再看下面的步骤

在drivers/video/console/fbcon.c文件中将static void fb_flashcursor(void *private) static void fbcon_cursor(struct vc_data *vc, int mode)的内容

注释掉

原文地址:https://www.cnblogs.com/zxj015/p/2753526.html