谢谢版主回复。。。。我今天看了我修改的内核 ,,编译时间也对了,,确实我修改的地方没有被用到。。
我想修改LCD 的驱动,按照以下步骤修改了如下地方,,还请帮忙看看到底是哪里出了问题。
linux 内核版本 2.6.29, 系统fedora 9
1、在 /opt/friendlyarm/mini2440/linux-2.6.29/arch/arm/mach-s3c2440文件夹下面修改,mach-mini2440 文件,,修改内容为
.width = 320,
.height = 240,
.pixclock = 166667, // HCLK 60 MHz, divisor 10
.xres = 320,
.yres = 240,
.bpp = 16,
.left_margin = 7,//20
.right_margin = 8,//8
.hsync_len = 4,//4
.upper_margin = 8,//8
.lower_margin = 20,//7
.vsync_len = 4,//4
2、保存
3、在/opt/friendlyarm/mini2440/linux-2.6.29 文件夹下面执行
# cp config_mini2440_n35 .config
4、 make menuconfig,,选择load an alternate configuration file ,在加载了 .config文件之后,保存退出。
5、然后再次执行 make menuconfig ,
按照以下设置 make menuconfig
Device Drivers --->
Graphics support --->
<*>Support for frame buffer device
<*>S3C2410 LCD framebuffer support
console display driver support------>
<*> Framebuffer console support
[ ] Select compiled-in fonts
[*] Bootup logo ----->
[*]Standard 224-color linux logo
6、设置完成之后,保存,,然后 make zImage;
7、把最新编译的内核烧录进mini2440,,结果显示一点都不变,,但是内核编译时间有更新。
LCDCON寄存器中的数据不管我在程序中怎么改,,这边输出的信息都没有改变。。
s3c2410fb: check_var(var=c383e814, info=c383e800)
s3c2410fb: pixclk 100000, divisor is 10
s3c2410fb: s3c2410fb_activate_var: var->xres = 240
s3c2410fb: s3c2410fb_activate_var: var->yres = 320
s3c2410fb: s3c2410fb_activate_var: var->bpp = 16
s3c2410fb: setting vert: up=2, low=6, sync=2
s3c2410fb: setting horz: lft=20, rt=37, sync=6
s3c2410fb: new register set:
s3c2410fb: lcdcon[1] = 0x00000478
s3c2410fb: lcdcon[2] = 0x014fc141
s3c2410fb: lcdcon[3] = 0x0120ef13
s3c2410fb: lcdcon[4] = 0x00000005
s3c2410fb: lcdcon[5] = 0x00000b09
s3c2410fb: LCDSADDR1 = 0x19c80000
s3c2410fb: LCDSADDR2 = 0x19c92c00
s3c2410fb: LCDSADDR3 = 0x000000f0
还请各位帮忙给小弟看看,,这个到底是怎么回事呢?? 我按照
http://www.aiothome.net/read.php?tid-1561-keyword-LCD.html 这篇帖子的方法 改也不行的,,是不是哪个步骤有遗漏??
谢谢各位了
