如何修改驱动
- 格式:doc
- 大小:27.00 KB
- 文档页数:2
如何设置电脑自动更新驱动程序在如何设置电脑自动更新驱动程序这个主题下,我会以教程的形式来向您介绍几种常见的设置方法。
无论您是使用 Windows 还是 macOS 等操作系统,都可以参考以下步骤来实现电脑自动更新驱动程序。
一、使用Windows Update自动更新驱动程序Windows 操作系统提供了 Windows Update 功能,可以帮助用户自动更新系统驱动程序,以下是具体的设置步骤:1. 打开“设置”:点击电脑屏幕左下角的“开始”按钮,选择“设置”图标。
2. 进入“Windows 更新”:在“设置”窗口中,点击“更新和安全”选项。
3. 打开“高级选项”:在“Windows 更新”窗口中,点击“高级选项”链接。
4. 激活自动更新驱动程序功能:在“高级选项”窗口中,找到“自动更新驱动程序”选项,并将其开启。
5. 完成设置:设置完成后,Windows 会在适当的时候自动搜索、下载和安装最新的驱动程序。
二、使用第三方驱动程序更新工具除了依赖操作系统自带的功能外,还可以通过第三方的驱动程序更新工具来实现自动更新。
以下是其中一种推荐的方法:1. 下载和安装驱动程序更新工具:从官方网站或可信赖的下载平台下载并安装一款可靠的驱动程序更新工具,如驱动人生(Driver Genius)、驱动精灵(Driver Talent)等。
2. 打开驱动程序更新工具:双击打开已安装的驱动程序更新工具。
3. 扫描系统驱动程序状态:在驱动程序更新工具的主界面中,选择“扫描”或类似功能,等待扫描完成。
4. 完成自动更新设置:根据工具提供的选项,选择自动更新驱动程序的方式,并完成设置。
通常,工具会为您提供自动下载和安装最新驱动程序的选项。
5. 驱动程序更新检查:设置完成后,工具会定期检查系统中是否有新的驱动程序,并进行自动下载和安装。
三、手动下载和安装驱动程序如果您不希望使用自动更新功能,也可以通过手动方式来下载和安装最新的驱动程序,以下是具体步骤:1. 确认硬件信息:首先,您需要确定您的设备的具体型号和制造商,可以通过查看设备的实体标签或访问制造商的官方网站来获取相关信息。
发表于2009-09-29 21:00 浏览量:4534楼主强帖:GT130M与GT240M显卡驱动文件修改方法!!应个别朋友要求,我写了显卡驱动文件修改帖子。
大家看看吧!!!大家解压后桌面显卡驱动里都有个NV4_DISP文件,移动显卡驱动为NVCT.INF。
其实两个文件的性质是一样的,可以说都是驱动安装的引导文件。
我们可以修改下让他所带的驱动装入我们的小Y中。
为什么有的移动显卡驱动出来后,像最新的GT240M显卡不能装呢?原因是驱动中是安装文件没有GT240M的相关的硬件ID信息,但只要我们自己写入驱动的硬件ID,就可以顺利安装了。
修改安装引导文件很简单,就加入两条硬件ID的信息就可以,但要加对地方。
以GT130M为例:打开NVCT文件,第一处修改:找到如图这片区域,在%NVIDIA_DEV.0646.01% = S ection005, PCI\VEN_10DE&DEV_0646下面加入:%NVIDIA_G96.DEV_0652.3% = Section002, PCI\VEN_10DE&DEV_0652&SUBSYS_387A17AA在该文件下面还有一处修改:在NVIDIA_DEV.0646.01 = "NVIDIA GeForce GT 120 "下面加入:NVIDIA_G96.DEV_0652.3 = "NVIDIA GeForce GT 130M "改好后保存退出!!就可安装。
所以GT240M也同理(打开nv4_disp.inf文件,在%NVIDIA_DEV.0A20.01% = Sec tion009, PCI\VEN_10DE&DEV_0A20下面加入:%NVIDIA_DEV.0A34.01% = Se ction009, PCI\VEN_10DE&DEV_0A34。
在NVIDIA_DEV.0A20.01 = "NVIDIA Ge Force GT 220"下面加入:NVIDIA_DEV.0A34.01 = "NVIDIA GeForce GT 240M")GT240M的朋友们,如果你们还没有找到驱动,就记下这个,一切好办喽查看硬件ID方法:右键我的电脑-属性-设备管理器-右键GT130M-属性-详细信息-属性-硬件ID此文件修改后可永久使用,如果下次出了新驱动你只要覆盖原来的文件安装就OK!如果你为了完美,每出一款新驱动就可以修改下这个文件的驱动版本号与驱动日期:如上图,就是DriverVer这个项目(如果不改动DriverVer是日期与版本号,那么你的设备管理下的驱动版本号与日期永远是09/19/2009, 6.14.11.9103。
如何解决电脑显示驱动问题在日常使用电脑的过程中,我们经常会遇到电脑显示驱动问题,如屏幕花屏、分辨率不正常等。
这些问题不仅影响我们的正常使用,还可能导致系统崩溃。
因此,解决电脑显示驱动问题是非常重要的。
本文将介绍一些解决电脑显示驱动问题的方法,帮助大家更好地应对这些问题。
一、更新驱动程序更新驱动程序是解决电脑显示驱动问题的最常见方法之一。
首先,我们需要确定电脑的显示适配器型号,可以通过以下步骤进行查看:点击“开始”菜单,选择“控制面板”,然后找到“设备管理器”。
在设备管理器中,展开“显示适配器”选项,就可以看到电脑的显示适配器型号了。
一旦确定了显示适配器型号,我们可以通过访问电脑制造商的官方网站或者驱动程序提供商的官方网站来下载最新的驱动程序。
在下载驱动程序之前,我们需要确保选择与电脑操作系统版本和显示适配器型号相匹配的驱动程序。
一旦下载完成,双击运行驱动程序进行安装。
在安装过程中,我们需要按照提示进行操作,最后重启电脑以完成安装。
二、使用驱动程序更新工具对于一些不太熟悉电脑操作的用户来说,更新驱动程序可能会比较麻烦。
幸运的是,有一些驱动程序更新工具可以帮助我们自动检测和更新驱动程序,大大简化了这个过程。
这些驱动程序更新工具通常会自动扫描电脑的硬件信息,并与其数据库中的驱动程序信息进行匹配。
一旦找到匹配的驱动程序,工具就会自动下载并安装它们。
这种方式不仅简单方便,还可以确保驱动程序的兼容性。
然而,我们也需要注意,不要随便下载和安装来路不明的驱动程序更新工具。
一些不良的工具可能会携带恶意软件或者广告插件,给电脑带来安全隐患。
因此,我们应该选择知名的、信誉良好的驱动程序更新工具。
三、恢复系统如果以上方法都无法解决电脑显示驱动问题,那么我们可以尝试使用系统恢复功能。
系统恢复是一种将电脑恢复到以前正常工作状态的方法,可以解决由于软件或驱动程序问题引起的显示驱动问题。
在使用系统恢复功能之前,我们需要先备份重要的文件和数据,以免恢复过程中丢失。
电脑驱动怎么更新
要更新电脑驱动,可以按照以下步骤操作:
1. 确定需要更新的驱动:可以从设备管理器中查看电脑中已安装的硬件设备,找到需要更新的设备及其相应驱动程序。
2. 下载最新的驱动程序:可以从设备制造商的官方网站上下载最新的驱动程序。
也可以使用一些第三方的驱动程序更新工具,如驱动人生、驱动精灵等。
这些工具可以自动检测电脑中需要更新的驱动,并提供下载链接。
3. 安装驱动程序:如果下载的是一个压缩包,需要先解压缩。
然后,双击打开驱动程序安装文件,并按照提示逐步进行安装。
安装过程中可能需要同意一些协议、选择安装位置等操作。
4. 重启电脑:安装完驱动程序后,可能需要重新启动电脑,以使驱动程序生效。
在更新电脑驱动过程中,建议注意以下事项:
- 使用官方网站上提供的驱动程序,以免安装不可靠或恶意软件。
- 如果不确定如何更新驱动程序,可以参考设备制造商提供的相关文档或在线支持。
- 在安装驱动程序之前,最好备份重要的文件和设置,以防意外发生。
- 如果电脑出现问题或驱动程序不兼容,可以尝试还原驱动程序或联系技术支持。
如何设置电脑的系统更新和驱动程序随着科技的不断发展,电脑已成为我们生活中不可或缺的重要工具。
为了保持电脑的正常运行和提高其性能,我们需要定期更新系统和驱动程序。
在本文中,我们将介绍如何设置电脑的系统更新和驱动程序,让您的电脑始终保持最佳状态。
一、系统更新1. 打开设置:点击开始菜单,选择“设置”图标进入设置界面。
2. 进入更新与安全:在设置界面中,点击“更新与安全”选项。
3. 执行系统检查:在更新与安全界面中,点击“检查更新”按钮,系统将自动检查是否有可用的更新。
4. 安装更新:如果有可用的更新,系统会显示更新的列表。
点击“安装”按钮开始下载并安装更新。
在更新过程中,保持电脑连接到互联网。
5. 重启电脑:安装完成后,系统会提示您重新启动电脑以应用更新。
点击“现在重启”按钮,让更新生效。
6. 配置自动更新:为了保持电脑的安全和性能,我们建议配置自动更新。
在更新与安全界面中,找到“更改活动小时”选项,选择“自动安装更新”。
二、驱动程序更新1. 确定电脑型号:了解自己电脑的型号是更新驱动程序的第一步。
可以通过以下方法查找型号:在键盘上按下Win + X键,选择“设备管理器”,找到自己所需要更新驱动的硬件设备,右键点击该设备,选择“属性”,在“详细信息”标签下找到“硬件ID”。
2. 下载驱动程序:一旦确定了电脑型号,就可以去官方网站下载相应的驱动程序。
搜索电脑型号和操作系统的官方网站,然后找到“驱动程序”或“支持”页面,选择正确的驱动程序进行下载。
3. 安装驱动程序:下载完成后,双击驱动程序进行安装。
在安装过程中,按照提示完成相应的设置。
4. 更新驱动:除了官方网站,也可以使用第三方驱动管理软件来更新驱动程序。
这些软件能够帮助您自动检测并更新过时的驱动程序。
三、常见问题解决1. 驱动程序冲突:在安装新的驱动程序时,可能会出现与现有驱动程序冲突的情况。
解决这个问题的方法是使用驱动程序管理软件来卸载冲突的驱动程序,然后重新安装正确的驱动程序。
如何在惠普家用电脑上更改硬盘/光驱驱动器盘符一、故障现象在电话支持过程中,有时会有用户来电报修,反映在我的电脑中硬盘或光驱的盘符出现错乱。
如图1中盘符错乱:硬盘的两个分区不再连接在一起,而是一个是C盘,一个是E 盘,光驱做为D盘夹在了当中优易客打印耗材商城。
这种现象会造成一定的问题,比如由于驱动器盘符更改,导致之前安装的程序找不到安装路径,无法正常工作或系统(Windows Xp / Vista)出现问题。
如图1所示。
图1:硬盘驱动器C:E:盘符,中间夹了光驱D:二、故障原因产生盘优易客打印耗材商城符错乱现象的主要原因是由于用户安装了虚拟光驱软件,或是进行了硬盘分区,或者加装了其他驱动器引起。
三、解决方法在不知道如何处理的情况下,通过重装系统可以解决问题。
但其实根本无需重新安装系统,只需要手动更改相应盘符设置就可以解决。
1、XP设置方法。
(1)点击“开始”,右键点击“我的电脑”,左键点击“管理”。
如图2所示。
图2(2)点击左侧“磁盘管理”,右键点击选择右侧下方需要更改盘符的驱动器,选择“更改驱动器名和路径”(系统盘不允许修改,如此例的C盘)。
如图3、图4所示。
图3(硬盘)图4(光驱)(3)点击“更改”。
如图4所示。
图4(4)点击“指派以下驱动器号”后的“下拉列表”,选择需要设置的驱动器号。
如图5所示。
图5(5)点击“确定”按钮。
优易客打印耗材商城如图6所示。
图6(6)在弹出警告框中,点击“是”。
如图7所示。
图7(7)正常情况下驱动器盘符更改立即生效(也可以重新启动电脑)!2、VISTA设置方法(1)点击“开始”,右键点击“计算机”,优易客打印耗材商城 左键点击“管理”。
如图8所示。
图8(2)用户帐户控制开启的话会有警告框,请点击“继续”。
如图9所示。
图9(3)点击左侧“磁盘管理”,右键点击选择右侧下方需要更改盘符的驱动器,选择“更改驱动器号和路径”(系统盘不允许修改)。
如图10所示。
图10(4)点击“更改”。
华兴DM500驱动器参数修改
驱动是华兴DM500驱动器最重要的组成部分,它是电机控制系统中最简单、最基本的自动控制系统,它可以把控制信号转换为恰当的电力和转动力输送给电机,并按照期望的方式运行电动机。
为了使电机的运行达到最佳的性能和效果,我们首先需要让华兴DM500驱动器可以自行对其参数进行调整。
对华兴DM500驱动器参数的修改应遵循这样的步骤:1、首先,应该先找出当前使用的驱动器的型号,仔细观察型号上全部的参数信息,然后根据用户的需要,将参数信息修改成自己的需要的参数;2、确定华兴DM500驱动器的模型号后,按照安装要求,对驱动器进行安装,注意安装过程中的安全等级;3、此时将驱动器的数据线连接到电脑及控制系统上,打开驱动器软件,根据驱动器类型,进入驱动器参数面板,修改驱动器参数;4、修改成自己想要的参数后,点击“确定”按钮完成修改。
最后,对华兴DM500驱动器参数修改是一个必须掌握的技术,在实际应用中,要注意做好各项安全措施,以确保电机运行的最佳性能和效果。
另外,在驱动器参数修改过程中,最好采用易操作的编程界面,以减轻操作的复杂性,让驱动器的操作变得更加轻松高效。
附录一、驱动程序:at91sam9g20核心板的看门狗驱动看门狗的驱动一般来说比较简单,只要做寄存器的设置实现开启、关闭、喂狗功能。
本项目中我们使用的是at91sam920处理器,带有看门狗定时器。
这个看门狗的驱动却比较复杂,应用层想用它的话,将涉及到boot引导设置,uboot配置及驱动,改写驱动程序。
下面将逐步说明。
1、boot引导(bootstrap-v1.15)由于该看门狗的MR寄存器只能写一次(Only a processor reset resets it.),而默认情况下看门狗在boot引导程序中被关闭了,所以在boot引导程序中我们要开启看门狗。
在board/at91sam9g20ek/at91sam9g20ek.c文件的硬件初始化函数hw_init中注释掉下面的配置即可开启看门狗:/* writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR); */为了功能设置:我们配置如下:writel(AT91C_WDTC_WDV | AT91C_WDTC_WDD | AT91C_WDTC_WDRSTEN | AT91C_WDTC_WDFIEN, AT91C_BASE_WDTC + WDTC_WDMR);2、uboot配置及驱动(uboot-v1.3.4):默认情况下,看门狗在uboot中没有配置,需要手动添加配置,在文件include/configs/at91sam9g20ek.h中添加如下配置#define CONFIG_HW_WA TCHDOG 1#define CONFIG_AT91SAM9_WA TCHDOG 1此时编译uboot,会提示你找不到hw_watchdog_reset复位函数,这是因为虽然我们配置看门狗,但看门狗的uboot驱动并不存在,下面就来添加uboot下的看门狗驱动。
1)添加include/asm-arm/arch-at91sam9/at91_wdt.h,内容如下/** [origin: Linux kernel arch/arm/mach-at91/include/mach/at91_wdt.h]** Copyright (C) 2008 Jean-Christophe PLAGNIOL-VILLARD <plagnioj at >* Copyright (C) 2007 Andrew Victor* Copyright (C) 2007 Atmel Corporation.** Watchdog Timer (WDT) - System peripherals regsters.* Based on AT91SAM9261 datasheet revision D.** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.*/#ifndef AT91_WDT_H#define AT91_WDT_H#define AT91_WDT_CR (AT91_WDT + 0x00) /* Watchdog Control Register */ #define AT91_WDT_WDRSTT (1<<0) /* Restart */#define AT91_WDT_KEY (0xa5 << 24) /* KEY Password */#define AT91_WDT_MR (AT91_WDT + 0x04) /* Watchdog Mode Register */ #define AT91_WDT_WDV (0xfff << 0) /* Counter Value */#define AT91_WDT_WDFIEN (1 << 12) /* Fault Interrupt Enable */#define AT91_WDT_WDRSTEN (1 << 13) /* Reset Processor */#define AT91_WDT_WDRPROC (1 << 14) /* Timer Restart */#define AT91_WDT_WDDIS (1<< 15) /* Watchdog Disable */#define AT91_WDT_WDD (0xfff << 16) /* Delta Value */#define AT91_WDT_WDDBGHLT (1 << 28) /* Debug Halt */#define AT91_WDT_WDIDLEHLT (1 << 29) /* Idle Halt */#define AT91_WDT_SR (AT91_WDT + 0x08) /* Watchdog Status Register */#define AT91_WDT_WDUNF (1 << 0) /* Watchdog Underflow */#define AT91_WDT_WDERR (1 << 1) /* Watchdog Error */#endif2)添加drivers/watchdog/at91sam9_wdt.c,内容如下/** [origin: Linux kernel drivers/watchdog/at91sam9_wdt.c]** Watchdog driver for Atmel AT91SAM9x processors.** Copyright (C) 2008 Jean-Christophe PLAGNIOL-VILLARD <plagnioj at > * Copyright (C) 2008 Renaud CERRATO r.cerrato at til-technologies.fr** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License* as published by the Free Software Foundation; either version* 2 of the License, or (at your option) any later version.*//** The Watchdog Timer Mode Register can be only written to once. If the * timeout need to be set from U-Boot, be sure that the bootstrap doesn't * write to this register. Inform Linux to it too*/#include <common.h>#include <watchdog.h>#include <asm/arch/hardware.h>#include <asm/arch/io.h>#include <asm/arch/at91_wdt.h>//#include <asm-arm/arch-at91sam9/at91_wdt.h>#define ms_to_ticks(t) (((t << 8) / 1000) - 1)#define ticks_to_ms(t) (((t + 1) * 1000) >> 8)/* Hardware timeout in seconds */#define WDT_HW_TIMEOUT 2/** Set the watchdog time interval in 1/256Hz (write-once)* Counter is 12 bit.*/static int at91_wdt_settimeout(unsigned int timeout){unsigned int reg;unsigned int mr;/* Check if disabled */mr = at91_sys_read(AT91_WDT_MR);if (mr & AT91_WDT_WDDIS){printf("sorry, watchdog is disabled/n");return -1;}/** All counting occurs at SLOW_CLOCK / 128 = 256 Hz** Since WDV is a 12-bit counter, the maximum period is* 4096 / 256 = 16 seconds.*/reg = AT91_WDT_WDRSTEN /* causes watchdog reset *//* | AT91_WDT_WDRPROC causes processor reset only */| AT91_WDT_WDDBGHLT /* disabled in debug mode */| AT91_WDT_WDD /* restart at any time */| (timeout & AT91_WDT_WDV); /* timer value */at91_sys_write(AT91_WDT_MR, reg);return 0;}void hw_watchdog_reset(void){at91_sys_write(AT91_WDT_CR,A T91_WDT_KEY | AT91_WDT_WDRSTT); }void hw_watchdog_init(void){/* 16 seconds timer, resets enabled */at91_wdt_settimeout(ms_to_ticks(WDT_HW_TIMEOUT * 1000));}3)添加drivers/watchdog/Makefile## (C) Copyright 2008# Wolfgang Denk, DENX Software Engineering, wd at denx.de.## See file CREDITS for list of people who contributed to this# project.## This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License as# published by the Free Software Foundation; either version 2 of# the License, or (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY W ARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston,# MA 02111-1307 USA#include $(TOPDIR)/config.mkLIB := $(obj)libwatchdog.aCOBJS-$(CONFIG_AT91SAM9_WATCHDOG) += at91sam9_wdt.oCOBJS := $(COBJS-y)SRCS := $(COBJS:.o=.c)OBJS := $(addprefix $(obj),$(COBJS))all: $(LIB)$(LIB): $(obj).depend $(OBJS)$(AR) $(ARFLAGS) $@ $(OBJS)######################################################################### # defines $(obj).depend targetinclude $(SRCTREE)/rules.mksinclude $(obj).depend######################################################################### 4)修改uboot的Makefile,主要是把watchdog编辑到工程里修改1:LIBS += drivers/video/libvideo.a+LIBS += drivers/watchdog/libwatchdog.a(添加)LIBS += common/libcommon.a修改2:TAG_SUBDIRS += drivers/usbTAG_SUBDIRS += drivers/video+TAG_SUBDIRS += drivers/watchdog (添加)5)另外,为了在其它地方调用WA TCHDOG_RESET函数,可以将watchdog.h添加包含到include/common.h文件中:#if defined (CONFIG_HW_WATCHDOG)#include <watchdog.h>#endif6)修改串口驱动drivers/serial/atmel_usart.c,主要是在串口读的时候复位看门狗,防止系统重启int serial_getc(void){- while (!(usart3_readl(CSR) & USART3_BIT(RXRDY))) ; (删除)+ while (!(usart3_readl(CSR) & USART3_BIT(RXRDY))) (添加)+ WATCHDOG_RESET(); (添加)return usart3_readl(RHR);}3、改写驱动程序(linux2.6.30内核)1、配置内核在默认情况,系统并不加载看门狗驱动,需要配置内核:make menuconfigDevice drivers-->Watchdog Timer Support-->AT91SAM9X / A T91CAP9 watchdog 然后编译,重新烧写uImage文件到板子上。
附录一、驱动程序:at91sam9g20核心板的看门狗驱动看门狗的驱动一般来说比较简单,只要做寄存器的设置实现开启、关闭、喂狗功能。
本项目中我们使用的是at91sam920处理器,带有看门狗定时器。
这个看门狗的驱动却比较复杂,应用层想用它的话,将涉及到boot引导设置,uboot配置及驱动,改写驱动程序。
下面将逐步说明。
1、boot引导(bootstrap-v1.15)由于该看门狗的MR寄存器只能写一次(Only a processor reset resets it.),而默认情况下看门狗在boot引导程序中被关闭了,所以在boot引导程序中我们要开启看门狗。
在board/at91sam9g20ek/at91sam9g20ek.c文件的硬件初始化函数hw_init中注释掉下面的配置即可开启看门狗:/* writel(AT91C_WDTC_WDDIS, AT91C_BASE_WDTC + WDTC_WDMR); */为了功能设置:我们配置如下:writel(AT91C_WDTC_WDV | AT91C_WDTC_WDD | AT91C_WDTC_WDRSTEN | AT91C_WDTC_WDFIEN, AT91C_BASE_WDTC + WDTC_WDMR);2、uboot配置及驱动(uboot-v1.3.4):默认情况下,看门狗在uboot中没有配置,需要手动添加配置,在文件include/configs/at91sam9g20ek.h中添加如下配置#define CONFIG_HW_WA TCHDOG 1#define CONFIG_AT91SAM9_WA TCHDOG 1此时编译uboot,会提示你找不到hw_watchdog_reset复位函数,这是因为虽然我们配置看门狗,但看门狗的uboot驱动并不存在,下面就来添加uboot下的看门狗驱动。
1)添加include/asm-arm/arch-at91sam9/at91_wdt.h,内容如下/** [origin: Linux kernel arch/arm/mach-at91/include/mach/at91_wdt.h]** Copyright (C) 2008 Jean-Christophe PLAGNIOL-VILLARD <plagnioj at >* Copyright (C) 2007 Andrew Victor* Copyright (C) 2007 Atmel Corporation.** Watchdog Timer (WDT) - System peripherals regsters.* Based on AT91SAM9261 datasheet revision D.** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License as published by* the Free Software Foundation; either version 2 of the License, or* (at your option) any later version.*/#ifndef AT91_WDT_H#define AT91_WDT_H#define AT91_WDT_CR (AT91_WDT + 0x00) /* Watchdog Control Register */ #define AT91_WDT_WDRSTT (1<<0) /* Restart */#define AT91_WDT_KEY (0xa5 << 24) /* KEY Password */#define AT91_WDT_MR (AT91_WDT + 0x04) /* Watchdog Mode Register */ #define AT91_WDT_WDV (0xfff << 0) /* Counter Value */#define AT91_WDT_WDFIEN (1 << 12) /* Fault Interrupt Enable */#define AT91_WDT_WDRSTEN (1 << 13) /* Reset Processor */#define AT91_WDT_WDRPROC (1 << 14) /* Timer Restart */#define AT91_WDT_WDDIS (1<< 15) /* Watchdog Disable */#define AT91_WDT_WDD (0xfff << 16) /* Delta Value */#define AT91_WDT_WDDBGHLT (1 << 28) /* Debug Halt */#define AT91_WDT_WDIDLEHLT (1 << 29) /* Idle Halt */#define AT91_WDT_SR (AT91_WDT + 0x08) /* Watchdog Status Register */#define AT91_WDT_WDUNF (1 << 0) /* Watchdog Underflow */#define AT91_WDT_WDERR (1 << 1) /* Watchdog Error */#endif2)添加drivers/watchdog/at91sam9_wdt.c,内容如下/** [origin: Linux kernel drivers/watchdog/at91sam9_wdt.c]** Watchdog driver for Atmel AT91SAM9x processors.** Copyright (C) 2008 Jean-Christophe PLAGNIOL-VILLARD <plagnioj at > * Copyright (C) 2008 Renaud CERRATO r.cerrato at til-technologies.fr** This program is free software; you can redistribute it and/or* modify it under the terms of the GNU General Public License* as published by the Free Software Foundation; either version* 2 of the License, or (at your option) any later version.*//** The Watchdog Timer Mode Register can be only written to once. If the * timeout need to be set from U-Boot, be sure that the bootstrap doesn't * write to this register. Inform Linux to it too*/#include <common.h>#include <watchdog.h>#include <asm/arch/hardware.h>#include <asm/arch/io.h>#include <asm/arch/at91_wdt.h>//#include <asm-arm/arch-at91sam9/at91_wdt.h>#define ms_to_ticks(t) (((t << 8) / 1000) - 1)#define ticks_to_ms(t) (((t + 1) * 1000) >> 8)/* Hardware timeout in seconds */#define WDT_HW_TIMEOUT 2/** Set the watchdog time interval in 1/256Hz (write-once)* Counter is 12 bit.*/static int at91_wdt_settimeout(unsigned int timeout){unsigned int reg;unsigned int mr;/* Check if disabled */mr = at91_sys_read(AT91_WDT_MR);if (mr & AT91_WDT_WDDIS){printf("sorry, watchdog is disabled/n");return -1;}/** All counting occurs at SLOW_CLOCK / 128 = 256 Hz** Since WDV is a 12-bit counter, the maximum period is* 4096 / 256 = 16 seconds.*/reg = AT91_WDT_WDRSTEN /* causes watchdog reset *//* | AT91_WDT_WDRPROC causes processor reset only */| AT91_WDT_WDDBGHLT /* disabled in debug mode */| AT91_WDT_WDD /* restart at any time */| (timeout & AT91_WDT_WDV); /* timer value */at91_sys_write(AT91_WDT_MR, reg);return 0;}void hw_watchdog_reset(void){at91_sys_write(AT91_WDT_CR,A T91_WDT_KEY | AT91_WDT_WDRSTT); }void hw_watchdog_init(void){/* 16 seconds timer, resets enabled */at91_wdt_settimeout(ms_to_ticks(WDT_HW_TIMEOUT * 1000));}3)添加drivers/watchdog/Makefile## (C) Copyright 2008# Wolfgang Denk, DENX Software Engineering, wd at denx.de.## See file CREDITS for list of people who contributed to this# project.## This program is free software; you can redistribute it and/or# modify it under the terms of the GNU General Public License as# published by the Free Software Foundation; either version 2 of# the License, or (at your option) any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY W ARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston,# MA 02111-1307 USA#include $(TOPDIR)/config.mkLIB := $(obj)libwatchdog.aCOBJS-$(CONFIG_AT91SAM9_WATCHDOG) += at91sam9_wdt.oCOBJS := $(COBJS-y)SRCS := $(COBJS:.o=.c)OBJS := $(addprefix $(obj),$(COBJS))all: $(LIB)$(LIB): $(obj).depend $(OBJS)$(AR) $(ARFLAGS) $@ $(OBJS)######################################################################### # defines $(obj).depend targetinclude $(SRCTREE)/rules.mksinclude $(obj).depend######################################################################### 4)修改uboot的Makefile,主要是把watchdog编辑到工程里修改1:LIBS += drivers/video/libvideo.a+LIBS += drivers/watchdog/libwatchdog.a(添加)LIBS += common/libcommon.a修改2:TAG_SUBDIRS += drivers/usbTAG_SUBDIRS += drivers/video+TAG_SUBDIRS += drivers/watchdog (添加)5)另外,为了在其它地方调用WA TCHDOG_RESET函数,可以将watchdog.h添加包含到include/common.h文件中:#if defined (CONFIG_HW_WATCHDOG)#include <watchdog.h>#endif6)修改串口驱动drivers/serial/atmel_usart.c,主要是在串口读的时候复位看门狗,防止系统重启int serial_getc(void){- while (!(usart3_readl(CSR) & USART3_BIT(RXRDY))) ; (删除)+ while (!(usart3_readl(CSR) & USART3_BIT(RXRDY))) (添加)+ WATCHDOG_RESET(); (添加)return usart3_readl(RHR);}3、改写驱动程序(linux2.6.30内核)1、配置内核在默认情况,系统并不加载看门狗驱动,需要配置内核:make menuconfigDevice drivers-->Watchdog Timer Support-->AT91SAM9X / A T91CAP9 watchdog 然后编译,重新烧写uImage文件到板子上。
公司新买一台拼装机机,华硕P5KPL-CM主板,Intel G33/G31芯片整合,三星 SyncMaster 733显示器,装Win2003Server,显示驱动先是装的ASUS光盘上的,却怎么都不能将分辨率调整到SyncMaster733NW的最佳分辨率1440×900。
只有1440×1050、1600×900,显示失真,很是不爽。
开始以为733驱动没装的缘故,安装之,不行;删除重启后貌似可以找到1440×900的设置,再重启又没有了,反复做两三次后,安装、删除驱动重启也没有用鸟。
便宜货害死人啊GoogleBaidu无所不能,不过大多都说是驱动问题,要下载最新驱动,也有说要恢复显示器出厂设置,根本没看见这个选项啊(工程模式不知道有没有),更有甚者还说要一条HD cable,切~。
在Intel网站上官方消息是说驱动有瑕疵啦,对宽屏幕的支持不太好,已经修改了驱动,可惜下载用来无效,猜想是XP的驱动而已,对2003无效?(牵强一点点),参考:/Detail_Desc.aspx?strSt ate=LIVE&lang=eng&ProductID=2996&DwnldID=17191
继续万能的GOOGLE,还是洋人NB,给出了一个自行修改驱动配置inf文件的方法,可以奏效。
先去Intel或者什么地方下载一个驱动,新点的,经过试验,偏偏是上面那个Intel官网修改过貌似已经解决但在俺这里不行的驱动经过修改后无效,奇怪了(无解,已经Out Of俺的理解范围),好在俺顺手下载了那个早一点点版本的驱动“Intel? Graphics Media Accelerator Driver win2k_xp 14371 Driver Revision: Production Version 14.37.1.5029 For Windows * XP”
下面是修改步骤:
1、将驱动解压到某目录,Ctrl-F找到这个文件“igxp32.inf”,双击打开,Ctrl-F查找“[NonEDIDMode_AddSwSettings]”字段
2、将该字段下面第一行“HKR,, TotalDTDCount, %REG_DWORD%, 0”里那个“0”改成“5”,分号后面的注释可以忽略。
3、往下找到“HKR,, DTD_5,%REG_BINARY%, 00, 00, 00 ,00, 00, 00,00, 00, 00,00, 00, 00,00, 00, 00,00, 00, 00,00, 00 ;Fifth DTD”
将这行改成:“HKR,, DTD_5,%REG_BINARY%, 97,29,A0,D0,51,84,20,30,50, 98,13,00,00,00,00,00,00,1C,37,01 ;1440x900@60........”就是那串神奇的数字Out Of my Mem……存盘退出
4、删除原来的驱动,重启。
运行Setup安装刚才改过的驱动,再重启。
天下太平,至少在俺的机机上太平了,文字不再有毛边了、反复重启也不变了、S yncMaster驱动懒管了……
5、根据那个及其他洋人牛人说,这个方法应该适合GMA900 @ 915G/GM、GM A950 @ 945G/GM、GMA3000/3000X @ G965/Q965/946Z、GMA3100X @ GM965、GMA
3100 @ G31/G33、GMA3500X @ G35
另外,前面说的那个Intel放出的修正过的驱动,对应的Inf文件是kit16 795.inf,修改,重装后,不行,不知道为啥。