平台:
Linux :2.6.31
U-Boot:u-boot-2010.06
BusyBox: BusyBox 1.15.2
交叉编译器:arm-linux- v4.3.3
这篇实践有两部分:一是驱动程序移植,二是制作自己的开机LOGO。
一、驱动移植
1、设置时钟频率,不采用源码中复杂的计算方式,直接修改。
修改drivers/video/s3c2410fb.c中的函数,如下红色粗体:
arch/arm/mach-s3c2410/include/mach/fb.h
arch/arm/mach-s3c2440/mach-smdk2440.c
1000000/25 = 40000(ps)
(2)setclkval—是LCDCON1寄存器CLKVAL值,由它决定VCLK((Pixel clock signal)的值,如下图:
参数设置好后,还有一重要地方要改,就是其下面的函数:
Device Drivers:
Graphics Support --->
<*>support for frame buffer devices --->
[*] Enable frameware EDID
[*] Enable Vidoe Mode Handling Helpers
<*> S3C24X0 LCD framebuffer support
Console display driver support --->
<*> Framebuffer Console Support
[*] Bootup Logo --->
<*> Standard 224-color Linux logo
4、编译并烧写内核,可以
看到左上角一只企鹅,说明驱动移植正常。
二、LOGO制作
LOGO制作需要用到GNU开源软件GIMP(GNU Image Manipulation Program)。
1、用光影魔术手或其他软件得到320x240尺寸的图片,复制到Linux系统,用GIMP打开:
注:若不转换成320x240大小的图片,图片体积会很大
2、在图片编辑区右键依次选择:
Image—>Mode—>Indexed,出现图片转换配置选项,作如下设置:
点击Convert进行转换。
3、得到.ppm格式的文件:
右键依次:File—>Export,在弹出的对话框中作如下设置:
4、把文件重命名为logo_linux_clut224.ppm,复制到drivers/video/logo问件夹,覆盖原文件。
5、重新编译内核,烧录,启动过程中即可看到我们的LOGO图片(秦时明月):