<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于TQ2440和Linux的觸摸屏的驅動(dòng)研究

基于TQ2440和Linux的觸摸屏的驅動(dòng)研究

作者: 時(shí)間:2012-03-16 來(lái)源:網(wǎng)絡(luò ) 收藏

2 程序

2.1 建立嵌入式系統開(kāi)發(fā)環(huán)境

建立此開(kāi)發(fā)環(huán)境的步驟為:

(1)在Windows XP SP3系統下安裝虛擬機vmware5.5.3,在虛擬機里安裝Redhat9.0系統。在Redhat9.0系統下編譯開(kāi)發(fā)板所需的鏡像和文件,使用虛擬機工具實(shí)現了Windows和Redhat的文件共享,在Windows系統下可以直接下載鏡像和文件到開(kāi)發(fā)板上。

(2)使用Windows XP SP3自帶的超級終端,并使用串口線(xiàn)連接PC和開(kāi)發(fā)板。這樣就可以在PC上對開(kāi)發(fā)板進(jìn)行相關(guān)的操作。

(3)本次實(shí)驗開(kāi)發(fā)板使用的是2.6.30.4內核,而Redhat9.0系統是2.4.20.8內核,所以需要下載適合開(kāi)發(fā)板的編譯器。下載最新版本的支持EABI技術(shù)的交叉編譯器(本次實(shí)驗使用的是EABI_4.3.3_2009版本),復制到Redhat9.0系統目錄/opt/EABI_4.3.3_2009/下,打開(kāi)系統文件/etc/profile(可在終端使用命令vim /etc/profile),添加相應語(yǔ)句(本次實(shí)驗使用vim命令打開(kāi)profile文件,在第20行添加語(yǔ)句pathmunge/opt/EABI_4.3.3_2009/4.3.3/bin)讓編譯器生效,這樣就可以在PC上交叉編譯開(kāi)發(fā)板所需要的文件。至此開(kāi)發(fā)環(huán)境已經(jīng)建立。

2.2 內核的移植

本次實(shí)驗使用的boatload是天嵌公司自己開(kāi)發(fā)的u-boot,用J-TAG燒寫(xiě)方式寫(xiě)入NOR Flash,然后便可以使用u-boot自帶的USB下載(需要在Windows下安裝USB下載程序)功能下載開(kāi)發(fā)板上需要的Linux內核鏡像了,這樣方便而且高效。下載Linux2.6.30.4內核源代碼,復制到Redhat9.0系統目錄/opt下,并解壓。在目錄/opt/linux2.6.30.4/目錄下便可以進(jìn)行修改和編譯開(kāi)發(fā)板上需要的內核鏡像。在移植之前,需要移植板載256 MB NAND Flash的驅動(dòng)、yaffs文件系統,這樣便完善了串口驅動(dòng)程序,最后移植LCD屏的驅動(dòng)。

2.3 驅動(dòng)程序

Linux系統將存儲器和外設分為字符設備、塊設備、網(wǎng)絡(luò )設備三大類(lèi)。觸摸屏屬于字符設備,以串行順序依次進(jìn)行訪(fǎng)問(wèn)。在Linux系統中,以文件名的形式在/dev目錄下建立觸摸屏設備文件, 應用程序可以通過(guò)系統調用函數open()打開(kāi)此文件,建立起與設備的連接,然后通過(guò)函數read()、write()、release()、ioctl()等常規的文件操作對目標設備進(jìn)行操作。Linux為了把所有的設備當作文件系統進(jìn)行管理,為所有的文件及設備文件定義了統一的操作函數接口file_operations,每個(gè)文件都通過(guò)指向file_operations結構的指針字段與它自己的函數集相關(guān)聯(lián)。file_operations中成員為一系列指向各操作函數的指針,這些操作函數主要負責系統調用的實(shí)現,不同類(lèi)型的設備文件系統有不同類(lèi)型的file_operations結構[4]。觸摸屏的 file_operations 結構定義為:
static struct file_operation s3c2410_fops=
{
owner: THIS_MODULE,
open: s3c2410_ts_open,//打開(kāi)
read: s3c2410_ts_read,//讀坐標
release:
s3c2410_ts_release,
#ifdef USE_ASYNC
Fasync:s3c2410_ts_fasync,//fasync()函數
#endif
poll:s3c2410_ts_poll,//輪詢(xún)
}

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>