在线中文-在线在线ccc66-在线永久免费观看的毛片-在线永久免费观看的a站视频-久久精品最新免费国产成人-久久精品综合一区二区三区

以文本方式查看主題

-  曙海教育集團(tuán)論壇  (http://www.bgl88.cn/bbs/index.asp)
--  Linux驅(qū)動(dòng)開(kāi)發(fā)  (http://www.bgl88.cn/bbs/list.asp?boardid=33)
----  Linux設(shè)計(jì)液晶顯示屏驅(qū)動(dòng)技術(shù)  (http://www.bgl88.cn/bbs/dispbbs.asp?boardid=33&id=1739)

--  作者:wangxinxin
--  發(fā)布時(shí)間:2010-11-24 11:41:15
--  Linux設(shè)計(jì)液晶顯示屏驅(qū)動(dòng)技術(shù)
Linux設(shè)備驅(qū)動(dòng)程序?qū)儆贚inux內(nèi)核的一部分,并在Linux內(nèi)核中扮演著十分重要的角色。它們像一個(gè)個(gè)“黑盒子”,使某個(gè)特定的硬件響應(yīng)一個(gè)定義良好的內(nèi)部編程接口,同時(shí)完全隱蔽了設(shè)備的工作細(xì)節(jié)。用戶通過(guò)一組和具體設(shè)備驅(qū)動(dòng)無(wú)關(guān)的標(biāo)準(zhǔn)化的調(diào)用來(lái)完成相關(guān)操作,驅(qū)動(dòng)程序的任務(wù)就是把這些調(diào)用映射到具體設(shè)備對(duì)于實(shí)際硬件的特定操作上。

  硬件設(shè)備只是一個(gè)設(shè)備文件,應(yīng)用程序可以像操作普通文件一樣對(duì)硬件設(shè)備進(jìn)行操作。設(shè)備驅(qū)動(dòng)程序是內(nèi)核的一部分,它實(shí)現(xiàn)以下功能:

  ①對(duì)設(shè)備初始化和釋放。

  ②把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù)。

  ③讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請(qǐng)求的數(shù)據(jù)。

  ④檢測(cè)和處理設(shè)備出現(xiàn)的錯(cuò)誤。

  可以把設(shè)備驅(qū)動(dòng)作為內(nèi)核的一部分直接編譯到內(nèi)核中(即靜態(tài)編譯),也可以單獨(dú)作為一個(gè)模塊編譯,在需要的時(shí)候動(dòng)態(tài)地插入到內(nèi)核中,在不需要的時(shí)候可把它從內(nèi)核中刪除(即動(dòng)態(tài)鏈接)。

  目前Linux支持的設(shè)備驅(qū)動(dòng)可以分為3種:字符設(shè)備(character device)、塊設(shè)備(block device)、網(wǎng)絡(luò)接口設(shè)備(network device)。當(dāng)然它們之間也并不是嚴(yán)格地加以區(qū)分。字符設(shè)備是所有能夠像字節(jié)流一樣被訪問(wèn)的設(shè)備(如文件等),在Linux中通過(guò)字符設(shè)備驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。在Linux中它們也被映射為文件系統(tǒng)的1個(gè)節(jié)點(diǎn),通常在/dev目錄下。字符設(shè)備驅(qū)動(dòng)程序一般要包含openclose、read、write等幾個(gè)系統(tǒng)調(diào)用。

  本文為開(kāi)發(fā)字符設(shè)備驅(qū)動(dòng)實(shí)例,對(duì)于其他兩類不再贅述。

  1 Linux關(guān)于字符設(shè)備的管理

  驅(qū)動(dòng)程序在Linux內(nèi)核中往往是以模塊形式出現(xiàn)的。與應(yīng)用程序的執(zhí)行過(guò)程不同,模塊通常只是預(yù)先向內(nèi)核注冊(cè)自己,當(dāng)內(nèi)核需要時(shí)響應(yīng)請(qǐng)求。模塊中包含2個(gè)重要的函數(shù)init_module和cleanup_module。前者是模塊的入口,它為模塊調(diào)用做好準(zhǔn)備工作,而后者是在模塊即將卸載時(shí)被調(diào)用,做一些清掃工作。

圖片點(diǎn)擊可在新窗口打開(kāi)查看


  驅(qū)動(dòng)程序模塊通過(guò)函數(shù)int register_chrdev(unsignedint major,const char*name,struct file_operations*fops)來(lái)完成向內(nèi)核注冊(cè)。其中unsigned int major為主設(shè)備號(hào),const char*name為設(shè)備名,struct file_operations*fops為驅(qū)動(dòng)設(shè)備管理中重要的結(jié)構(gòu)指針,此結(jié)構(gòu)中每個(gè)字段都必須指向驅(qū)動(dòng)程序中實(shí)現(xiàn)特定操作的操作函數(shù)。

  2 FYD12864-0402B液晶模塊簡(jiǎn)介

  FYD12864-0402B是一種具有4位/8位并行、2線或3線串行多種接口方式,內(nèi)部含有國(guó)標(biāo)一級(jí)、二級(jí)簡(jiǎn)體中文字庫(kù)的點(diǎn)陣圖形液晶顯示模塊,低電壓,低功耗。其顯示分辨率為128×64,內(nèi)置8 192個(gè)16×16點(diǎn)陣的漢字,以及128個(gè)16×8點(diǎn)ASCII字符集。利用該模塊靈活的接口方式和簡(jiǎn)單、方便的操作指令,可構(gòu)成全中文人機(jī)交互圖形界面,可以顯示8×4行16×16點(diǎn)陣的漢字。也可完成圖形顯示。FYD12864-0402B液晶模塊框圖如圖1所示,其中ST7920為液晶顯示控制芯片ST7921為液晶顯示驅(qū)動(dòng)芯片

  FYD12864-0402B控制器接口信號(hào)說(shuō)明如下:

  ①RS、R/W的配合選擇決定控制界面的4種模式,如表1所列。

圖片點(diǎn)擊可在新窗口打開(kāi)查看


  ②E信號(hào)如表2所列。

圖片點(diǎn)擊可在新窗口打開(kāi)查看


  3 LCD讀寫(xiě)原理

  FYD12864-0402B每屏可顯示4行8列共32個(gè)16×16點(diǎn)陣的漢字,每個(gè)顯示RAM可顯示1個(gè)中文字符或2個(gè)16×8點(diǎn)陣全高ASCII碼字符,即每屏最多可顯示32個(gè)中文字符或64個(gè)ASCII碼字符。FYD12864-0402B內(nèi)部提供128×2字節(jié)的字符顯示RAM緩沖區(qū)(DDRAM)。字符顯示是通過(guò)將字符顯示編碼寫(xiě)入該字符顯示RAM實(shí)現(xiàn)的。根據(jù)寫(xiě)入內(nèi)容的不同,可分別在液晶屏上顯示CGROM(中文字庫(kù))、HCGROM(ASCII碼字庫(kù))及CGRAM(自定義字形)的內(nèi)容。3種不同字符/字型的選擇編碼范圍為:0000~0006H(其代碼分別是0000、0002、0004、0006,共4個(gè))顯示自定義字型,02H~7FH顯示半寬ASCII碼字符,A1A0H~F7FFH顯示8 192種GB2312中文字庫(kù)字形。字符顯示RAM在液晶模塊中的地址80H~9FH。字符顯示的RAM的地址與32個(gè)字符顯示區(qū)域有著一一對(duì)應(yīng)的關(guān)系。

  4 部分代碼解析

圖片點(diǎn)擊可在新窗口打開(kāi)查看


  5 編寫(xiě)Makefile和用戶級(jí)測(cè)試程序

圖片點(diǎn)擊可在新窗口打開(kāi)查看


  下面2行宏變量定義使用armv41-unknown-linux-gcc編譯器編譯驅(qū)動(dòng),默認(rèn)使用gcc編譯器、X86 PC平臺(tái)。

  結(jié)  語(yǔ)

  對(duì)Linux設(shè)備驅(qū)動(dòng)程序作了詳細(xì)的介紹,在實(shí)際開(kāi)發(fā)板AT91RM9200上加入FYD12864-0402B驅(qū)動(dòng)模塊,該液晶驅(qū)動(dòng)采用通用化接口和調(diào)用方法,對(duì)開(kāi)發(fā)Linux其他設(shè)備驅(qū)動(dòng)程序具有很好的指導(dǎo)意義。(單片機(jī)與嵌入式系統(tǒng)應(yīng)用


主站蜘蛛池模板: 国内精品日本久久久久影院 | 99国产精品视频免费观看 | 五月花激情 | 亚洲精品男人天堂 | 精品免费久久 | 欧美视频在线播放观看免费福利资源 | 国产精品视频视频久久 | 亚洲高清视频在线播放 | 国产成人精品久久二区二区 | 欧美日韩综合精品一区二区三区 | 免费视频久久看 | 国产乱视频在线观看播放 | 欧美日韩亚洲一区二区 | 中文字幕在线不卡精品视频99 | 六月丁香综合 | 久久精品视频国产 | 国色天香社区在线视频免费观看 | 国产做出在线 | 传媒麻豆 | 梦精爱3未删减完整版 | 亚洲综合欧美日韩 | 久久久亚洲精品视频 | 在线国产视频 | 日本一区二区三区在线观看视频 | 自拍偷拍免费 | 成人羞羞视频免费 | 亚洲成a人片77777在线播放 | 日本一区二区在线视频 | 一区二区免费视频 | 自拍偷拍免费 | 两性免费视频 | 成人精品一区久久久久 | 亚洲第一页在线播放 | 亚洲视频在线观看视频 | 一区二区不卡久久精品 | 欧美专区日韩专区 | 欧美日韩在线观看一区 | 99热国产这里只有精品99 | 亚洲色图天堂 | 婷婷色九月综合激情丁香 | 国色天香社区视频免费 | 国产精品黄页网站在线播放免费 |