【实验目的】
了解FS_S5PC100平台LCD液晶屏的原理,通过修改驱动实现FS_S5PC100平台的LCD液晶屏显示功能。
【实验环境】
● 主机:Ubuntu 10.10 (64bit);
● 目标机:FS_S5PC100平台;
● 交叉编译工具链:arm-eabi-4.4.0(Android4.0.4自带交叉工具链);
【实验步骤】
1.平台代码修改
修改arch/arm/mach-s5pc100/mach-smdkc100.c;
修改smdkc100_fb_win0结构体内容为:
01 static struct s3c_fb_pd_win smdkc100_fb_win0 = {
02 /* this is to ensure we use win0 */
03 .win_mode = {
04 .pixclock = 1000000000000ULL
05 / ((8+43+1+480)*(4+10+12+272)*80),
06 .left_margin = 8,
07 .right_margin = 43,
08 .upper_margin =4,
09 .lower_margin = 12,
10 .hsync_len = 1,
11 .vsync_len = 10,
12 .xres = 480,
13 .yres = 272,
14 },
15 .max_bpp = 32,
16 .default_bpp = 16,
17 };
去黑快
注释drivers/video/console/bitblit.c
386 //if (err)
387 // soft_cursor(info, &cursor);
配置内核
$ make menuconfig
Device Drivers --->
Graphics support --->
Support for frame buffer devices --->
Samsung S3C framebuffer support
Console display driver support --->
Framebuffer Console support
[*] Bootuplogo --->
编译内核
编译内核,并把镜像文件拷贝到tftpboot目录下:
$ make zImage
$ cp arch/arm/boot/zImage /tftpboot
测试
插上LCD液晶屏,启动开发板,内核启动时能够看到屏幕上显示一个小企鹅,就是移植成功了。