【正文】
1 摘 要 隨著嵌入式技術(shù)在智能手機(jī)、 PDA 等手持終端設(shè)備的應(yīng)用越來(lái)越廣泛,觸摸屏作為一種終端輸入設(shè)備, 具有節(jié)省空間、 操作簡(jiǎn)單、 反應(yīng)速度快等優(yōu)點(diǎn),非常適用作手持終端等嵌入式系統(tǒng)的輸入設(shè)備。 S3C2410 是一款具有 ARM920T 內(nèi)核的 16/32 位微處理器。作為新一代嵌入式平臺(tái)的核心, ARM9 采用 5 級(jí)流水線,使用大量寄存器,并支持協(xié)處理器和片上調(diào)試,以指令執(zhí)行速度快,尋址方式靈活簡(jiǎn)單,執(zhí)行效率高為優(yōu)勢(shì),在工業(yè)控制、無(wú)線通訊、消費(fèi)類電子產(chǎn)品、成像和安全產(chǎn)品等各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。嵌入式 Linux 是在開(kāi)放源 代碼 Linux 的 基礎(chǔ)上發(fā)展起來(lái)的,內(nèi)核精簡(jiǎn),內(nèi)存管理功能強(qiáng)大,支持多任務(wù),以設(shè)備驅(qū)動(dòng)程序的方式提供統(tǒng)一的外設(shè)接口。因此 Linux是嵌入式操作系統(tǒng)的最佳選擇。 Qt/Embedded是一個(gè)專門(mén)為嵌入式系統(tǒng)提供圖形界面的用戶系統(tǒng),提供了豐富的窗口小部件,支持窗口部件的定制,而且內(nèi)存消耗少。 本文介紹了基于 S3C2410 處理器平臺(tái),以嵌入式 Linux 操作 系統(tǒng)和Qt/Embedded為接口 的 LCD觸摸屏操作界面 的設(shè)計(jì) 。該方案 可運(yùn)用于 高檔汽車 GPS巡航系統(tǒng)、 工程機(jī)械安全儀表和電能質(zhì)量監(jiān)測(cè)儀等實(shí)際工程應(yīng)用中。 關(guān)鍵詞: 觸摸屏;嵌入式 Linux; ARM; Qtopia移植 2 Title Realization of the Handhold Terminals? Touch Screen based on the S3C2410 Processor Abstract With the application of embedded technology in smart phones, PDA and other handhold terminal equipments is increasingly extensive. As an input device of terminal equipment, the Touch screen has the advantages of space saving, simple operation, fast response, is very suitable as the input equipment of the handhold terminals and other embedded systems. S3C2410 is one 16/32bit microprocessor with ARM920T core. As the core of the new generation of the embedded platform, ARM9 uses 5 levels of assembly lines and massive registers, supporting the cooperated processor and debugging online, has the advantage of carries out the instruction quickly and efficiently. It is widely applied in the industry control, the wireless munication, the expense class electronic products, the imagery and the security product and so on. The embedded Linux developed from the open source code Linux, It has simply core and the function of strongly managing the memory, support the multiduties. It provides the general interface in the way of device drivers. Therefore the Embedded Linux was considered as one of the most superior choices in the current embedded operating systems. Qt/Embedded is the system that provides the graphical user interface special used in the embedded system. It integrates a lot of small window parts, supports the custommade window and consumes memory fewer. This paper introduced the realization of the operation of the touch screen, which in the foundation of the Embedded Linux operation system and the S3C2410 processor, is designed by Qt/Embedded .This plan may utilize to the upscale automobile GPS cruise 3 system, the project mechanical security meter and the electrical energy quality monitor meter and so on. Keywords: Touch Screen。 Embedded Linux。 ARM。 Qtopia Porting 4 目 次 1 引言 ............................................................. 1 2 硬件平臺(tái) ......................................................... 2 ARM 體系結(jié)構(gòu) ................................................ 2 S3C2410 處理器簡(jiǎn)介 ......................................... 2 觸摸屏接口電路 ............................................. 3 3 交叉編譯環(huán)境的建立 .............................................. 7 Linux 交叉編譯環(huán)境簡(jiǎn)介 ...................................... 7 開(kāi)發(fā)環(huán)境的配置 ............................................. 7 開(kāi)發(fā)工具的安裝 ............................................. 8 4 基于 Qt 的圖形用戶界面設(shè)計(jì) ...................................... 10 Qt 體系結(jié)構(gòu) ................................................ 10 Qt 環(huán)境的建立 .............................................. 12 Qt Designer 的使用 .......................................... 15 Qtopia 虛擬平臺(tái)建立 ........................................ 16 Qtopia 的移植 .............................................. 17 5 觸摸屏圖形操作界面的實(shí)現(xiàn) ....................................... 19 Linux 設(shè)備驅(qū)動(dòng)程序 ......................................... 19 觸摸屏驅(qū)動(dòng)程序分析 ........................................ 22 Qt/Eembedded 中的觸摸屏驅(qū)動(dòng)接口 ............................ 28 Qt/Embedded 的觸摸屏驅(qū)動(dòng)接口的設(shè)置 ........................ 30 驅(qū)動(dòng)程序調(diào)試過(guò)程中出現(xiàn)的問(wèn)題 .............................. 31 結(jié) 論 ............................................................. 34 致 謝 ............................................................. 35 參 考 文 獻(xiàn) ........................................................ 36 附錄 A 觸摸屏驅(qū)動(dòng)部分源程序 ....................................... 37 5 1 引言 嵌入式系統(tǒng)就是以應(yīng)用為中心、以計(jì)算機(jī)技術(shù)為基礎(chǔ),軟、 硬件可裁剪 , 對(duì)功能可靠性、成本、體積和 功耗等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng) [1]。 隨著嵌入式技術(shù)的發(fā)展,手持終端設(shè)備的應(yīng)用越來(lái)越廣泛,如智能手機(jī)、警務(wù)通、手持抄表系統(tǒng)等。由于手持終端對(duì)體積要求很嚴(yán)格,而觸摸屏作為一種 實(shí)用 的電腦輸入設(shè)備, 具有節(jié)省空間、堅(jiān)固耐用、反應(yīng)速度快、易于交流等優(yōu)點(diǎn),非常 適合用作 手持終端設(shè)備的輸入設(shè)備。 Linux 操作系統(tǒng)因開(kāi)放源碼、便于裁 剪 ,是當(dāng)前嵌入式操作系統(tǒng)的主要選擇。 ARM9 作為新一代嵌入式平臺(tái) , 憑借其強(qiáng)大的功能與良好的設(shè)備支持在數(shù)據(jù)通信、多媒體顯示和手持終端設(shè)備等領(lǐng)域得到了廣泛的應(yīng) 用。因此 作為與用戶交互的終端媒介,如何在以 ARM9 為核心的系統(tǒng)中集成觸摸屏模塊以及在嵌入式 Linux 操作系統(tǒng)中實(shí)現(xiàn)其驅(qū)動(dòng)程序,是一個(gè)非常值得去研究和解決的課題。 ARM9 微處理器作為新一代嵌入式平臺(tái), 它 采用 5 級(jí)流水線,使用 大量 寄存器, 并 支持協(xié)處理器和片上調(diào)試 ,以 指令執(zhí)行速度快 , 尋址方式靈活簡(jiǎn)單,執(zhí)行效率高 為優(yōu)點(diǎn) [2,14]。在工業(yè)控制、無(wú)線通訊、消費(fèi)類電子產(chǎn)品、成像和安全產(chǎn)品等各個(gè)領(lǐng)域得到了廣泛的應(yīng)用。 嵌入式 Linux 是在開(kāi)放源代碼的 Linux 基礎(chǔ)上發(fā)展起來(lái)的,它內(nèi)核精簡(jiǎn), 可移植性強(qiáng), 內(nèi)存管理功能 強(qiáng)大 ; 支持多任務(wù);以設(shè)備驅(qū)動(dòng) 程序的方式提供統(tǒng)一的外設(shè)接口 [3,4]。因此 Linux 是 嵌入式 平臺(tái)上操作系統(tǒng)的最佳選擇。 Qtopia 是 在 基于 Qt的嵌入式版本 Qt/Embedded 庫(kù)的基礎(chǔ)上,專門(mén)針對(duì) PDA、SmartPhone 這類運(yùn)行嵌入式 Linux 的移動(dòng)計(jì)算設(shè)備和手持 終端 所開(kāi)發(fā)的開(kāi)放源碼的一套應(yīng)用程序包和開(kāi)發(fā)庫(kù) [5]。 它 是 用 Qt/Embedded 程序庫(kù)編寫(xiě)的應(yīng)用程序環(huán)境 , 界面優(yōu)美 , 主要應(yīng)用于高端手機(jī) 、 PDA 等 手持設(shè)備, 具有廣闊的發(fā)展前景。 在本次畢業(yè)設(shè)計(jì)中,以博創(chuàng)科技嵌入式教學(xué)科研 UPNETARM2410S 開(kāi)發(fā)板為硬件平臺(tái), 實(shí)現(xiàn)基于 S3C2410 處理器的嵌入式 LINUX 內(nèi)核的 編譯與移植 ,開(kāi)發(fā)基于 Qt 的人機(jī)友好 LCD 觸摸屏操作界面,并在 S3C2410 處理器上完成 的移植。 6 2 硬件平臺(tái) ARM 體系結(jié)構(gòu) 及應(yīng)用 ARM9 微處理器作為新一代嵌入式平臺(tái),它采用 5 級(jí)流水線, 支持Thumb/ARM 雙指令集,能很好地兼容 8 位 /16 位器件 ; 大量使用寄存器,指令執(zhí)行速度快;尋址方式靈活簡(jiǎn)單,執(zhí)行效率高;支持協(xié)處理器和片上調(diào)試。到目前為止, ARM 微處理器及技術(shù)已經(jīng)深入到各個(gè)領(lǐng)域。 作為 32 位的 RISC 架構(gòu),基于 ARM 內(nèi)核的為控制器芯片不但占據(jù)了微控制器市場(chǎng)的大部分市場(chǎng)份額,同時(shí)也逐漸向低端微控制器應(yīng)用領(lǐng)域擴(kuò)展, ARM 微處理器的低功耗、高性價(jià)比,向傳統(tǒng)的 8 位 /16 位微控制器提出了挑戰(zhàn)。目前已有超過(guò) 85﹪ 的無(wú)線通訊設(shè)備采用了 ARM 技術(shù), 手機(jī)中的 32 位 SIM 智能卡也采用了 ARM 技術(shù) [5], ARM 以其高性能和低成本,在該領(lǐng)域的地位日益鞏固。隨著寬帶技術(shù)的推廣,采用 ARM 技術(shù)的 ASDL 芯片正逐漸獲得競(jìng)爭(zhēng)優(yōu)勢(shì)。此外,ARM 在語(yǔ)音及視頻處理上進(jìn)行了優(yōu)化 。 并獲得了廣泛支持,也對(duì) DSP 的應(yīng)用領(lǐng)域提出了挑戰(zhàn)。 S3C2410 處理器 簡(jiǎn)介 S3C2410 處理器 是一款基于 ARM920T 內(nèi)核的 16/32 位 RISC 嵌入式處理器,主要面向手持設(shè)備 、移動(dòng)通信等 應(yīng)用 領(lǐng)域 。 它 集成了大量的功能單元 : ( 1) A