wince 6.0 如何更改 LCD驱动程序,需要修改哪些文件

wince 6.0 如何更改 LCD驱动程序,需要修改哪些文件,第1张

Note:LCD时序的参数和时钟相位因不同LCD而异,请参考相应LCD的datasheet

在WIN CE 42中修改LCD驱动程序有五个相关文件,分别是:

1

…\WINCE420\PLATFORM\SMDK2410\INC\s2410h

2

…\WINCE420\PLATFORM\SMDK2410\KERNEL\HAL\cfwc

3

…\WINCE420\PLATFORM\SMDK2410\DRIVERS\DISPLAY\S3C2410LCD\s3c2410dispcpp

4

…\WINCE420\PLATFORM\SMDK2410\FILES\configbib

5

…\ WINCE420\PLATFORM\SMDK2410\FILES\platformreg

1 s2410h

…\WINCE420\PLATFORM\SMDK2410\INC\s2410h

主要有LCD控制器的寄存器定义、LCD控制器的工作时序定义、分辨率的定义等等。红色部分为修改后的内容:

#define LCDTYPE

TFT16BPP

#define LCD_TYPE

TFT_

#define SCR_XSIZE_TFT

(1280)

#define SCR_YSIZE_TFT

(960)

#define LCD_XSIZE_TFT

(1024)

#define LCD_YSIZE_TFT

(768)

#define VBPD

((2-1)&0xff)

#define VFPD

((2-1)&0xff)

#define VSPW

((2-1) &0x3f)

#define HBPD

((16-1)&0x7f)

#define HFPD

((200-1)&0xff)

#define HSPW

((16-1)&0xff)

#define CLKVAL_TFT

(1)

//这个值的定义在LCD初始化函数中并不用到,而是直接用数值表示。

2

cfwc

…\WINCE420\PLATFORM\SMDK2410\KERNEL\HAL\cfwc

红色部分为修改后的内容:

static void InitDisplay()

{

s2410LCD->rLCDCON1=(1<<8)|(MVAL_USED<<7)|(3<<5)|(12<<1)|0;

// CLKVAL_TFT = 1 , HCLK = 100MHz -> VCLK = 25MHz

//TFT LCD panel

//16 bpp for TFT

s2410LCD->rLCDCON2=(VBPD<<24)|(LINEVAL_TFT<<14)|(VFPD<<6)|(VSPW);

s2410LCD->rLCDCON3=(HBPD<<19)|(HOZVAL_TFT<<8)|(HFPD);

s2410LCD->rLCDCON4=(MVAL<<8)|(HSPW);

s2410LCD->rLCDCON5=

(1<<11)|(0<<10)|(0<<9)|(0<<8)|(0<<7)|(0<<6)|(0<<3)|(0<<1)|(1<<0);

//5:6:5 Format

//The video data is fetched at VCLK falling edge

//VLINE/HSYNC pulse polarity-Normal

//VFRAME/VSYNC pulse polarity-Normal

//VD (video data) pulse polarity-Normal

//VDEN signal polarity-Normal

//Disable PWREN signal

//Byte swap Disable

//Half-Word swap Enable

}

3

s3c2410dispcpp

…\WINCE420\PLATFORM\SMDK2410\DRIVERS\DISPLAY\S3C2410LCD\s3c2410dispcpp

红色部分为修改后的内容:

WORD

TempBuffer[1025][768];

S3C2410DISP::S3C2410DISP (void)

{

m_nScreenWidth = 1024;

m_nScreenHeight = 768;

}

到此修改工作基本完成,但还要一个问题:1024768分辨率占用的显示缓冲区大小是:10247682 = 1536 K Bytes,因此要确认所分配的内存空间够不够,是在configbib文件中定义的。如果以前定义的足够大,后面的步骤可以省略了。

4

configbib

…\WINCE420\PLATFORM\SMDK2410\FILES\configbib

#define NKNAME NK

#define NKSTART

8C200000

#define NKLEN

01D00000

#define RAMSTART

8E000000

#define RAMLEN

01F00000

$(NKNAME)

$(NKSTART)

$(NKLEN)

RAMIMAGE

RAM

$(RAMSTART)

$(RAMLEN)

RAM

AUD_DMA

8c002000

00002000

RESERVED

DRV_GLB

8c010000

00010000

RESERVED

DBGSER_DMA

8c022000

00002000

RESERVED

SER_DMA

8c024000

00002000

RESERVED

IR_DMA

8c026000

00002000

RESERVED

SD_DMA

8c028000

00008000

RESERVED

EDBG

8c030000

00020000

RESERVED

CPXIPCHAIN

8c050000

00008000

RESERVED

SLEEP_BUFF

8c058000

00004000

RESERVED

DISPLAY

8c100000

00100000

RESERVED

DISPLAY项就是显示缓冲区的内存空间定义, 8c100000是开始地址, 00100000是大小。可以看出原先只定义了1M Bytes的内存空间给LCD显示缓冲区;而1024768需要1536 K Bytes的内存空间,因此需要修改这里的定义。但是一旦修改到configbib文件的内容,将会涉及到很多地方的修改工作,过程比较繁琐。所幸的是我的目标板DISPLAY前面还有0x8C100000-(0x8C058000+0x00004000) = 656K Bytes未分配的内存空间,因此做如下修改:

AUD_DMA

8c002000

00002000

RESERVED

DRV_GLB

8c010000

00010000

RESERVED

DBGSER_DMA

8c022000

00002000

RESERVED

SER_DMA

8c024000

00002000

RESERVED

IR_DMA

8c026000

00002000

RESERVED

SD_DMA

8c028000

00008000

RESERVED

EDBG

8c030000

00020000

RESERVED

CPXIPCHAIN

8c050000

00008000

RESERVED

SLEEP_BUFF

8c058000

00004000

RESERVED

;DISPLAY

8c100000

00100000

RESERVED

DISPLAY

8c060000

001a0000

RESERVED

5

在(4)中修改了DISPLAY显示缓冲区的开始地址,因此要在“s2410h”中做相应的修改:

…\WINCE420\PLATFORM\SMDK2410\INC\s2410h

#define DMA_BUFFER_BASE

0xAC000000

#define DMA_PHYSICAL_BASE

0x30000000

//#define FRAMEBUF_BASE

(DMA_BUFFER_BASE + 0x00100000)

//#define FRAMEBUF_DMA_BASE

(DMA_PHYSICAL_BASE + 0x00100000)

#define FRAMEBUF_BASE

(DMA_BUFFER_BASE + 0x00060000)

#define FRAMEBUF_DMA_BASE

(DMA_PHYSICAL_BASE + 0x00060000)

6

在(4)中修改了DISPLAY显示缓冲区的大小, 因此要在“s3c2410dispcpp”中做相应的修改:

…\WINCE420\PLATFORM\SMDK2410\DRIVERS\DISPLAY\S3C2410LCD\s3c2410dispcpp

红色部分为修改后的内容:

void S3C2410DISP::InitializeHardware (void)

{

m_VirtualFrameBuffer = (DWORD)VirtualAlloc(0, (0x1A0000), MEM_RESERVE, PAGE_NOACCESS);

if (m_VirtualFrameBuffer == NULL)

{

RETAILMSG(0,(TEXT("m_VirtualFrameBuffer is not allocated\n\r")));

return;

}

else if (!VirtualCopy((PVOID)m_VirtualFrameBuffer, (PVOID)gdwLCDVirtualFrameBase, (0x1A0000), PAGE_READWRITE | PAGE_NOCACHE))

{

RETAILMSG(0, (TEXT("m_VirtualFrameBuffer is not mapped\n\r")));

VirtualFree((PVOID)m_VirtualFrameBuffer, 0, MEM_RELEASE);

return;

}

}

7

在(4)中修改了DISPLAY显示缓冲区的开始地址,还要对注册表文件“platformreg”做相应的修改:

…\ WINCE420\PLATFORM\SMDK2410\FILES\platformreg

[HKEY_LOCAL_MACHINE\Drivers\Display\S3C2410\CONFIG]

"DisplayDll"="s3c2410dispdll"

;"LCDVirtualFrameBase"=dword:ac100000

;"LCDPhysicalFrameBase"=dword:30100000

"LCDVirtualFrameBase"=dword:ac060000

"LCDPhysicalFrameBase"=dword:30060000

rog鼠标安装驱动修改不了很大的可能是驱动的问题,可以卸载原来的驱动,再重新安装驱动试试,或者这个鼠标不支持修改,也可能是中毒了,建议杀毒试试。

应该是需要更新驱动软件吧,如果没有提示的话,建议你卸载一下当前的驱动软件,然后去官网下载最新的驱动,好像是叫ROG Armoury II 吧,可以设置呼吸灯和光效联动,还能设置鼠标宏什么的。

1 通过网络自动安装驱动程序

在windows 7系统中,安装设备驱动程序往往都需要获得管理员权限。当发现新的设备后,

首先windows 7会尝试自动读取硬件设备固件内部的硬件信息,然后与%systemroot%\system32、

driver store\file repository文件夹系统自带的驱动程序安装信息文件夹包含的id进行比对,如果

能够找到相关符合的硬件∞,并且带有数字签名的驱动程序,那么会在不需要用户干涉的前提下

自动安装正确的驱动程序,如图15-3所示为提示正在安装设备驱动程序。安装后自动对系统进行

必要的设置,同时会在系统任务栏上,使用气球图标显示相关的提示信息。

图15-3 自动安装设备驱动程序

如果经过对比后,windows 7没有在自带的驱动程序安装信息文件夹中找到所对应的硬件信

息,则会自动d出“发现新硬件”对话框,接着根据对话框的提示进行安装硬件驱动程序即可

具体安装方法如下。

蕊 当电脑检测到新硬件时,会自动到网上windows update站点搜索所需的驱动程序。如果找到对应

的驱动程序,会自动下载并安装,如图15-4所示。

鬈囊如果系统在网上没有找到硬件所需的驱动程序,此时会允许用户手工安装驱动程序,如果有驱动

程序光盘,将相关光盘放入光驱,然后按照提示进行 *** 作即可完成安装。如果没有光盘,按照如

图15-5所示的方法进行 *** 作。

2 手动安装驱动程序

如果有些硬件设备的驱动程序为.inf格式,则需要用手动安装驱动的方式来安装。手动安装

驱动程序的方法如下。

从“设备管理器”窗口中查找没有安装驱动的设备,一般没有安装驱动程序的设备前面标着一个

**的问号或显示一个感叹号。一般常见的未知声卡设备名为:pci multimedia audio device或“未

知多媒体设备”;未知网卡为:pci network adpater device;未知usb设备为:“未知usb设备”,

如图15-6所示。

双击“设备管理器”窗口中的带感叹号的设备选项后,准备安装此选项的驱动程序,具体方法如

图15-7所示。

蒸单击“下一步”按钮,经过一些文件的复制,并自动安装了一些相应驱动后,此设备驱动安装

完毕。

3 自动更新驱动程序

虽然windows 7提供了超过1 5 000种硬件设备的支持,但还是有一些设备无法被windows 7

所自动识别,特别是摄像头和声卡的驱动程序。不过用户可以采用自动更新驱动程序的方法来安

装设备驱动程序。下面以安装声卡驱动程序为例,讲解自动更新驱动程序的方法。

爨虽然windows 7已经能够识别出硬件设备,但没有能自动安装驱动程序,这样我们在设备管理器

中就会发现**的感叹号,主要是由于安装文件的驱动夹中并没有内置相关的驱动程序所致。如

图15-8所示为“设备管理器”窗口中带**感叹号的设备。

懑右击有**感叹号的硬件(如上图中的“多媒体音频控制器”),从d出的快捷菜单中选择“更新

驱动程序软件”命令,然后在打开的对话框中单击“自动搜索更新的驱动程序软件”选项, *** 作

系统将从微软的驱动程序站点自动搜索相关的驱动程序,如图15-9所示。

图15-8 “设备管理器”窗口中带**感叹号的设备

图15-9 “更新驱动程序软件”对话框

siaij经过搜索后,会d出一个对话框报告驱动程序的相关信息,单击对话框中的“安装”按钮,即可

下载并安装搜索到的设备驱动程序,和安装一个普通的windows更新一样。

右击计算机图标

点击设备管理器

或者点击管理

打开设备管理器后

点击找到要更改驱动的设置

可以考虑自己删除该设备,然后重启,系统会自动搜索驱动,你可选择进行重新安装。

以上就是关于wince 6.0 如何更改 LCD驱动程序,需要修改哪些文件全部的内容,包括:wince 6.0 如何更改 LCD驱动程序,需要修改哪些文件、rog鼠标装了驱动怎么修改不了、win7如何改变驱动程序安装路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9475538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存