當前位置:首頁 » 數據倉庫 » 如何配置屏寫驅動程序
擴展閱讀
ftp上傳速度影響大嗎 2022-08-12 23:11:20
硬碟最小存儲區間 2022-08-12 23:11:11

如何配置屏寫驅動程序

發布時間: 2022-07-06 21:51:25

1. 如何編寫網卡驅動程序

實現方法和步驟如下:

1、如果網路設備(包括wireless)是PCI規范的,則先是向內核注冊該PCI設備(pci_register_driver),然後由pci_driver數據結構中的probe函數指針所指向的偵測函數來初始化該PCI設備,並且同時注冊和初始化該網路設備。

申明為PCI設備:

staticstructpci_drivertg3_driver={
.name=DRV_MODULE_NAME,
.id_table=tg3_pci_tbl,//此驅動所支持的網卡系列,vendor_id,device_id
.probe=tg3_init_one,//初始化網路設備的回調函數
.remove=__devexit_p(tg3_remove_one),//注銷網路設備的回調函數
.suspend=tg3_suspend,//設備掛起函數
.resume=tg3_resume//設備恢復函數
};

PCI設備探測函數probe,初始化網路設備:

staticint__devinittg3_init_one(structpci_dev*pdev,conststructpci_device_id*ent)
{

//初始化設備,使I/O,memory可用,喚醒設備
pci_enable_device(pdev);

//申請內存空間,配置網卡的I/O,memory資源
pci_request_regions(pdev,DRV_MODULE_NAME);
pci_set_master(pdev);

//設置DMA屬性
pci_set_dma_mask(pdev,(u64)0xffffffffffffffff);

//網卡I/O,memory資源的啟始地址
tg3reg_base=pci_resource_start(pdev,0);

//網卡I/O,memory資源的大小
tg3reg_len=pci_resource_len(pdev,0);

//分配並設置網路設備
dev=alloc_etherdev(sizeof(*tp));

//申明為內核設備模塊
SET_MODULE_OWNER(dev);

//初始化私有結構中的各成員值
tp=dev->priv;
tp->pdev=pdev;
tp->dev=dev;
……
//鎖的初始化
spin_lock_init(&tp->lock);

//映射I/O,memory地址到私有域中的寄存器結構
tp->regs=(unsignedlong)ioremap(tg3reg_base,tg3reg_len);
dev->irq=pdev->irq;

//網路設備回調函數賦值
dev->open=tg3_open;
dev->stop=tg3_close;
dev->get_stats=tg3_get_stats;
dev->set_multicast_list=tg3_set_rx_mode;
dev->set_mac_address=tg3_set_mac_addr;
dev->do_ioctl=tg3_ioctl;
dev->tx_timeout=tg3_tx_timeout;
dev->hard_start_xmit=tg3_start_xmit;

//網卡的MAC地址賦值dev->addr
tg3_get_device_address(tp);

//注冊網路設備
register_netdev(dev);

//把網路設備指針地址放入PCI設備中的設備指針中
pci_set_drvdata(pdev,dev);
}

打開網路設備:

/*intrequest_irq(unsignedintirq,
void(*handler)(intirq,void*dev_id,structpt_regs*regs),
unsignedlongirqflags,
constchar*devname,
void*dev_id);
irq是要申請的硬體中斷號。在Intel平台,范圍0--15。
handler是向系統登記的中斷處理函數。
這是一個回調函數,中斷發生時,系統調用這個函數,傳入的參數包括硬體中斷號,deviceid,寄存器值。
dev_id就是下面的request_irq時傳遞給系統的參數dev_id。
irqflags是中斷處理的一些屬性。比較重要的有SA_INTERRUPT,
標明中斷處理程序是快速處理程序(設置SA_INTERRUPT)還是慢速處理程序(不設置SA_INTERRUPT)。
快速處理程序被調用時屏蔽所有中斷。慢速處理程序不屏蔽。
還有一個SA_SHIRQ屬性,設置了以後運行多個設備共享中斷。dev_id在中斷共享時會用到。
一般設置為這個設備的device結構本身或者NULL。
中斷處理程序可以用dev_id找到相應的控制這個中斷的設備,或者用rq2dev_map找到中斷對應的設備。
*/

staticinttg3_open(structnet_device*dev)
{
//分配一個中斷
request_irq(dev->irq,tg3_interrupt,SA_SHIRQ,dev->name,dev);

//初始化硬體
tg3_init_hw(tp);

//初始化收包和發包的緩沖區
tg3_init_rings(tp);

//初始化定時器
init_timer(&tp->timer);
tp->timer.expires=jiffies+tp->timer_offset;
tp->timer.data=(unsignedlong)tp;
tp->timer.function=tg3_timer;//超時回調函數
add_timer(&tp->timer);

//允許網卡開始傳輸包
netif_start_queue(dev);
}

2. 怎樣給驅動板寫程序我想知道給液晶電視驅動板寫程序的操作過程 我是樂華VST29.02B的驅動板 屏是M190Z1_P0

首先看你選擇用哪種方式刷程序,可以用USB介面,25針並口,U盤等,像你說的V29我們通常用U盤寫(如果板上沒USB介面就用自製的轉介面(一端插U盤一端連接在板上,也就是4針的通常為蘭色的介面。不要說找不到哦,板上4針的介面不多且還標明了的)寫)按照你這屏的的型號先拷個M190A1程序到U盤,先插上U盤,再給板供電,當顯示燈紅綠交替閃爍時就說明正在寫程序,當顯示燈閃爍的頻率加快了時就已經寫好了,此時先斷電,再拔U盤,之後就可以全部連上看圖像對不對了(要連信號線,看有無干擾,非燈管原因引起的圖像抖動,解析度對不對等)。
至此,在寫完程序後全部連接上時是要將驅動板、驅屏線、升壓板、燈管線及按鍵上的顯示燈(按鍵可以不要,但顯示的狀態燈一定要要)連接好(不要把屏線插錯了),將板上電壓跳到5V,要跳5V哦。
注意,刷好程序連接了全套的東西時在通電瞬間准備好拔電,防止因屏內的短路或因插屏線沒插好引起的短路(甚至拿屏線時不小心的粗心大意拿成了反雙八的屏線了)樂華板的好處就在這里,特別是PC板在通電很短的短時間內如果顯示燈顏色不正常立即斷電是絕大多數情況下可以避免燒板或燒屏的
,這也是為什麼一定要插指示燈的原因。
至於其它寫程序的方式不再累述,能用U盤用U盤,不能用U盤的就用25針並口,因為它便宜。

3. 當筆記本外接一個顯示器時,怎麼設置外接的顯示器驅動程序。

台式電腦連接顯示器:
1)先設置解析度和刷新率,要設置到電視所支持的范圍。
2)用VGA線連接,線的長度不要超過6米。
3)連接好以後將電視切換到VGA狀態。
4)重新啟動電腦。
筆記本連接顯示器:
1)先設置解析度和刷新率,要設置到電視所支持的范圍。
2)用VGA線連接,線的長度不要超過6米。
3)連接好以後,將電視切換到VGA狀態。
4)按筆記本VGA輸出鍵「FN+ 」筆記本品牌不同,按鍵設置也不同。
IBM:FN+F7 富士通:FN+F10 戴爾DELL:FN+F8 三星:FN+F4 惠普:FN+F4 華碩:FN+F8 東芝:FN+F5 索尼:FN+F7 宏基:FN+F5/F6 聯想:FN+F3。

4. 怎麼往顯示器驅動板里寫程序啊,都需要什麼工具啊。 麻煩大神們指點 謝謝

液晶顯示器驅動板內的驅動程序,維修店才有的。需要專用工具與屏幕配套程序重刷。網上是找不到的(畢竟那不是用戶自已能解決,重要一點那軟體可以說是維修工具,沒人會放在網上共享的)。如果你有重刷工具,或許我能幫你。

5. 在電腦中如何驅動程序

一、光碟機啟動
1、聯想本本默認是光碟機啟動,已改動的可再改過來。啟動電腦,按F2進入AMI BIOS設置程序主界面,在上方菜單中找到「Boot」選中,回車,在打開的界面中將CD-ROM Drive(光碟機啟動)用鍵盤+和-鍵(F5/F6)設置在最上端,保存退出。
2、將XP安裝光碟插入光碟機,重啟,在看到屏幕底部出現CD……字樣的時候,及時按任意鍵,否則計算機跳過光啟又從硬碟啟動了。
二、預前安裝(不同的系統光碟因設置不同,以下進程可能不一樣,但大體相同)
1、掃描後進歡迎安裝程序,選安裝--回車;
2、檢查啟動環境--回車;
3、協議,同意,按F8;
4、指定安裝到那個分區,C--回車;
5、指定使用文件系統,用FAT32(或NTFS)格式化磁碟分區(C)--回車;
6、進安裝程序格式化,創建復制列表,將文件復制到WIN安裝文件夾;
7、開始初始化XP相關文件和配置,保存初始化參數,重啟。
三、安裝向導
1、區域和語言選項—下一步;
2、姓名、公司名稱—下一步;
3、產品密鑰—下一步;
4、計算機名、管理員密碼,下一步;
5、日期和時間設置—下一步;
6、安裝網路,選典型 –下一步;
7、工作組和計算機域—下正點;
8、復制文件,安裝開始菜童,注冊組件,保存設置,刪除安裝的臨時文件,重啟。
四、完成安裝(這步可以跳過,等以後安裝)
1、自動調整解析度;
2、啟用自動更新—下一步;
3、連接到IT—下一步;
4、激活WIN—下一步;
5、誰使用這台計算機—重啟。
五、如果是電腦自帶的系統光碟,裝完後是不會缺什麼驅動的,如果不是那冬缺什麼驅動裝什麼驅動。最簡單的辦法是,從網上下載驅動精靈2008,下載地址:,ttp:// ,下載後打開,點擊「Dri……」解壓安裝,開機上網,打開驅動精靈,在界面中選「驅動更新」,打開「智能識別硬體配置,自動匹配驅動程序並完成更新」去安裝驅動。

6. 怎樣給驅動板寫程序我想知道給液晶電視驅動板寫程序的操作過程

首先你得有參驅動這個液晶屏的程序,有了程序要有編程器,可以把這個驅動板上的存儲IC取下,也可以在線ISp燒錄,還要有電腦,基本的操作要會,如果刷錯了知道如何判斷,就這樣

7. 如何配置驅動程序開發環境

安裝以上兩款軟體到電腦
2
打開vs2010
環境配置

3
新建VC 控制台項目(選擇為空項目)

配置屬性-常規
配置屬性-C/C++-常規

配置屬性-C/C++-預處理器

配置屬性-C/C++-代碼生成

配置屬性-C/C++-高級

配置屬性-鏈接器-常規
我們看到路徑是…\WXP\i386,意思就是針對Windows XP系統和i386架構CPU,如果想編譯其他系統,或者其他CPU的驅動,修改此路徑即可。

配置屬性-鏈接器-輸入

配置屬性-鏈接器-清單文件

配置屬性-鏈接器-系統

配置屬性-鏈接器-高級

8. 液晶電視萬能驅動板怎麼寫程序

需要准備一個U盤就可以更換所有的LVDS介面的液晶屏程序。
U盤升級方法:
把屏所對應的程序復制到U盤中
把U盤插到板上的USB口上
接上按鍵板,按住按鍵板上的任意一個按鍵再通電,直到看到按鍵板上的指示燈出現紅綠交替閃爍後,再松開按鍵,直到指示燈閃爍結束後,拔掉電源,再拔掉U盤就OK了,重新通電即可.

9. 如何編寫驅動程序

代碼:

#include<linux/mole.h>

#include<linux/kernel.h>

#include<asm/io.h>

#include<linux/miscdevice.h>

#include<linux/fs.h>

#include<asm/uaccess.h>

//流水燈代碼

#define GPM4CON 0x110002e0

#define GPM4DAT 0x110002e4

static unsigned long*ledcon=NULL;

static unsigned long*leddat=NULL;

//自定義write文件操作(不自定義的話,內核有默認的一套文件操作函數)

static ssize_t test_write(struct file*filp,const char __user*buff,size_t count,loff_t*offset)

{

int value=0;

int ret=0;

ret=_from_user(&value,buff,4);

//底層驅動只定義基本操作動作,不定義功能

if(value==1)

{

*leddat|=0x0f;

*leddat&=0xfe;

}

if(value==2)

{

*leddat|=0x0f;

*leddat&=0xfd;

}

if(value==3)

{

*leddat|=0x0f;

*leddat&=0xfb;

}

if(value==4)

{

*leddat|=0x0f;

*leddat&=0xf7;

}

return 0;

}

//文件操作結構體初始化

static struct file_operations g_tfops={

.owner=THIS_MODULE,

.write=test_write,

};

//雜設備信息結構體初始化

static struct miscdevice g_tmisc={

.minor=MISC_DYNAMIC_MINOR,

.name="test_led",

.fops=&g_tfops,

};

//驅動入口函數雜設備初始化

static int __init test_misc_init(void)

{

//IO地址空間映射到內核的虛擬地址空間

ledcon=ioremap(GPM4CON,4);

leddat=ioremap(GPM4DAT,4);

//初始化led

*ledcon&=0xffff0000;

*ledcon|=0x00001111;

*leddat|=0x0f;

//雜設備注冊函數

misc_register(&g_tmisc);

return 0;

}

//驅動出口函數

static void __exit test_misc_exit(void)

{

//釋放地址映射

iounmap(ledcon);

iounmap(leddat);

}

//指定模塊的出入口函數

mole_init(test_misc_init);

mole_exit(test_misc_exit);

MODULE_LICENSE("GPL");

(9)如何配置屏寫驅動程序擴展閱讀:

include用法:

#include命令預處理命令的一種,預處理命令可以將別的源代碼內容插入到所指定的位置;可以標識出只有在特定條件下才會被編譯的某一段程序代碼;可以定義類似標識符功能的宏,在編譯時,預處理器會用別的文本取代該宏。

插入頭文件的內容

#include命令告訴預處理器將指定頭文件的內容插入到預處理器命令的相應位置。有兩種方式可以指定插入頭文件:

1、#include<文件名>

2、#include"文件名"

如果需要包含標准庫頭文件或者實現版本所提供的頭文件,應該使用第一種格式。如下例所示:

#include<math.h>//一些數學函數的原型,以及相關的類型和宏

如果需要包含針對程序所開發的源文件,則應該使用第二種格式。

採用#include命令所插入的文件,通常文件擴展名是.h,文件包括函數原型、宏定義和類型定義。只要使用#include命令,這些定義就可被任何源文件使用。如下例所示:

#include"myproject.h"//用在當前項目中的函數原型、類型定義和宏

你可以在#include命令中使用宏。如果使用宏,該宏的取代結果必須確保生成正確的#include命令。例1展示了這樣的#include命令。

【例1】在#include命令中的宏

#ifdef _DEBUG_

#define MY_HEADER"myProject_dbg.h"

#else

#define MY_HEADER"myProject.h"

#endif

#include MY_HEADER

當上述程序代碼進入預處理時,如果_DEBUG_宏已被定義,那麼預處理器會插入myProject_dbg.h的內容;如果還沒定義,則插入myProject.h的內容。