關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 基于TQ2440和Linux的觸摸屏的驅動研究

        基于TQ2440和Linux的觸摸屏的驅動研究

        作者: 時間:2012-03-16 來源:網絡 收藏

        2 程序

        2.1 建立嵌入式系統開發環境

        建立此開發環境的步驟為:

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

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

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

        2.2 內核的移植

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

        2.3 驅動程序

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

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 南丹县| 桑日县| 诸暨市| 修水县| 盐边县| 岑溪市| 云浮市| 南郑县| 太仓市| 兴山县| 九龙县| 育儿| 婺源县| 金川县| 开远市| 江口县| 屯昌县| 龙州县| 章丘市| 高尔夫| 普安县| 胶州市| 磐石市| 林周县| 抚顺市| 谢通门县| 莒南县| 肃宁县| 梁河县| 苏尼特左旗| 富阳市| 张家界市| 贵德县| 金乡县| 攀枝花市| 定西市| 清苑县| 姜堰市| 潜江市| 梓潼县| 那坡县|