freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于處理器sc22410的手持終端觸摸屏的設(shè)計(jì)-文庫(kù)吧資料

2025-01-24 14:31本頁(yè)面
  

【正文】 下面的步驟工作:觸摸屏控制器將自動(dòng)地切換X軸坐標(biāo)和Y軸坐標(biāo)并讀取兩個(gè)坐標(biāo)軸方向上的坐標(biāo)。Y軸坐標(biāo)轉(zhuǎn)換(AUTO_PST=0且XY_PST=2)將Y軸坐標(biāo)轉(zhuǎn)換數(shù)值寫入到ADCDAT1寄存器的YPDATA域。X軸坐標(biāo)轉(zhuǎn)換(AUTO_PST=0且XY_PST=1)將X軸坐標(biāo)轉(zhuǎn)換數(shù)值寫入到ADCDAT0寄存器的XPDATA域。不需要重新啟動(dòng)內(nèi)核,這使驅(qū)動(dòng)調(diào)試效率大大提高[9]。第一種方法效率較低,但在某些場(chǎng)合是唯一的方法。驅(qū)動(dòng)程序中定義的ioctl 方法原型為:int (*ioctl) (struct inode *inode, struct file *file,unsigned int cmd, unsigned long arg)inode 和 filp 兩個(gè)指針對(duì)應(yīng)應(yīng)用程序傳遞的文件描述符fd,cmd 不會(huì)被修改地傳遞給驅(qū)動(dòng)程序,可選的參數(shù)arg 則無(wú)論用戶應(yīng)用程序使用的是指針還是其他類型值,都以u(píng)nsigned long 的形式傳遞給驅(qū)動(dòng)[9,12]。unsigned long copy_from_user(void *to,const void *from,unsigned long count)。ssize_t demo_write(struct file *filp,const char * buffer, size_t count,loff_t *ppos)ssize_t demo_read(struct file *filp, char *buffer, size_t count, loff_t *ppos)對(duì)于者兩個(gè)方法,參數(shù)filp 是文件指針,count 是請(qǐng)求傳輸數(shù)據(jù)的長(zhǎng)度,buffer 是用戶空間的數(shù)據(jù)緩沖區(qū),ppos 是文件中進(jìn)行操作的偏移量,類型為64 位數(shù)。(2) Release 方法與open方法相反,release方法應(yīng)完成如下功能:1)釋放由open 分配的filpprivate_data 中的所有內(nèi)容;2)在最后一次關(guān)閉操作時(shí)關(guān)閉設(shè)備;3)使用計(jì)數(shù)減一。(1) Open 方法Open方法提供給驅(qū)動(dòng)程序初始化設(shè)備的能力,從而為以后的設(shè)備操作做好準(zhǔn)備,此外open操作一般還會(huì)遞增使用計(jì)數(shù),用以防止文件關(guān)閉前模塊被卸載出內(nèi)核。static struct file_operations _fops = {…}完成了將驅(qū)動(dòng)函數(shù)映射為標(biāo)準(zhǔn)接口,devfs_register()和register_chrdev()函數(shù)完成將驅(qū)動(dòng)向內(nèi)核注冊(cè)。}。ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int)。ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *)。int (*fasync) (int, struct file *, int)。int (*release) (struct inode *, struct file *)。int (*open) (struct inode *, struct file *)。int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long)。ssize_t (*write) (struct file *, const char *, size_t, loff_int (*readdir) (struct file *, void *, filldir_t)。loff_t (*llseek) (struct file *, loff_t, int)。通常所說(shuō)的設(shè)備驅(qū)動(dòng)程序接口是指結(jié)構(gòu)file_operations{},它定義在include/linux/。設(shè)備操作宏MAJOR()和MINOR()可分別用于獲取主次設(shè)備號(hào)設(shè)備類型、主次設(shè)備號(hào)是內(nèi)核與設(shè)備驅(qū)動(dòng)程序通信時(shí)所使用的,但是對(duì)于開(kāi)發(fā)應(yīng)用程序的用戶來(lái)說(shuō)比較難于理解和記憶,所以Linux使用了設(shè)備文件的概念來(lái)統(tǒng)一對(duì)設(shè)備的訪問(wèn)接口,在引入設(shè)備文件系統(tǒng)(devfs)之前Linux將設(shè)備文件放在/dev目錄下,設(shè)備的命名一般為設(shè)備文件名加上數(shù)字或字母表示的子類。內(nèi)核需要一對(duì)稱作主次設(shè)備號(hào)的參數(shù),才能唯一標(biāo)識(shí)一個(gè)設(shè)備。它在驅(qū)動(dòng)退出時(shí)被調(diào)用。 Linux設(shè)備驅(qū)動(dòng)程序的構(gòu)成應(yīng)用程序一般有一個(gè)main 函數(shù),從頭到尾執(zhí)行一個(gè)任務(wù);驅(qū)動(dòng)程序卻不同,它沒(méi)有main函數(shù),通過(guò)使用宏module_init(初始化函數(shù)名)將初始化函數(shù)加入內(nèi)核全局初始化函數(shù)列表中,在內(nèi)核初始化時(shí)執(zhí)行驅(qū)動(dòng)的初始化函數(shù),從而完成驅(qū)動(dòng)的初始化和注冊(cè),之后驅(qū)動(dòng)便停止等待被應(yīng)用軟件調(diào)用。它們的數(shù)據(jù)傳送往往并不是面向流的(少數(shù)如telnet,F(xiàn)TP等是面向流的),所以不容易把它們映射到一個(gè)文件系統(tǒng)的節(jié)點(diǎn)上。(3) 網(wǎng)絡(luò)接口設(shè)備:網(wǎng)絡(luò)接口設(shè)備是Linux中比較復(fù)雜的一種設(shè)備,通常它們指的是硬件設(shè)備,但有時(shí)也可是一個(gè)軟件設(shè)備(如回環(huán)接口loopback)。與字符設(shè)備類似,塊設(shè)備也是通過(guò)文件系統(tǒng)來(lái)進(jìn)行訪問(wèn),它們之間的區(qū)別僅僅在于內(nèi)核內(nèi)部管理數(shù)據(jù)的方式不同。字符設(shè)備驅(qū)動(dòng)程序一般要包含open,close,read,write 等幾個(gè)系統(tǒng)調(diào)用。(1) 字符設(shè)備:所有能夠像字節(jié)流一樣訪問(wèn)的設(shè)備比如文件等在Linux中都通過(guò)字符設(shè)備驅(qū)動(dòng)程序來(lái)實(shí)現(xiàn)。 5 觸摸屏圖形操作界面的實(shí)現(xiàn) Linux設(shè)備驅(qū)動(dòng)程序 設(shè)備驅(qū)動(dòng)程序分類Linux中的驅(qū)動(dòng)程序設(shè)計(jì)是嵌入式Linux開(kāi)發(fā)中十分重要的部分,驅(qū)動(dòng)程序是應(yīng)用程序與硬件之間的一個(gè)中間軟件層。而根文件系統(tǒng)是只讀的,/lib和/usr/bin都是屬于根文件系統(tǒng),所以文件無(wú)法復(fù)制。: Permission denied起初認(rèn)為是cp的參數(shù)設(shè)置錯(cuò)誤,可將cp的每個(gè)參數(shù)都試了仍然提示上面的錯(cuò)誤。但是在調(diào)試過(guò)程中遇到了問(wèn)題:實(shí)驗(yàn)文檔上給出的是:將src/ 下載到目標(biāo)機(jī)的/usr/bin 目錄下將src/e2fsinstall/lib/*下載到目標(biāo)機(jī)的/lib 目錄下將src/jpeginstall/lib/*下載到目標(biāo)機(jī)的/lib 目錄下通過(guò)NFS將開(kāi)發(fā)板掛載到宿主機(jī)后,依次執(zhí)行:cp /root/share/ /usr/bincp /root/share/* /libcp /root/share/* /lib終端上總提示錯(cuò)誤:cp: unable to open ‘/lib/*’:Operation not permitted cp: unable to open ‘/lib/.*’: Operation not permitted cp: unable to open 39。 宿主機(jī)上的虛擬Qtopia平臺(tái) Qtopia的移植,其編譯方法和建立本機(jī)Qtopia平臺(tái)類似,、jpeg6b和tslib三個(gè)工具包,Qtopia分別用到它們中的libuuid、jpeg和tslib庫(kù)文件。這里多出了libqte庫(kù)文件和qtopia的編譯。、 .。使用Qt/Embedded不僅可以開(kāi)發(fā)Qtopia也可以用來(lái)開(kāi)發(fā)面向Qtopia的第三方軟件。 Qtopia虛擬平臺(tái)建立Qtopia是TrollTech公司為采用嵌入式Linux系統(tǒng)的移動(dòng)計(jì)算設(shè)備和手持設(shè)備而開(kāi)發(fā)的綜合應(yīng)用平臺(tái),包含完整的應(yīng)用層、靈活的用戶界面、窗口操作系統(tǒng)、應(yīng)用程序啟動(dòng)程序以及開(kāi)發(fā)框架。到這一步編譯出來(lái)的Qt應(yīng)用程序只能在宿主機(jī)上運(yùn)行,若要移植到開(kāi)發(fā)板上還要對(duì)Qt/Embedded重新編譯。 Qt 。程序員可以選擇建立一個(gè)函數(shù)(稱為插槽)并調(diào)用connect( )來(lái)將這個(gè)信號(hào)與插槽連接起來(lái)。另一個(gè)問(wèn)題是,這種回調(diào)方法緊緊得綁定了GUI得基本功能元素,使得很難進(jìn)行獨(dú)立的分類開(kāi)發(fā)。當(dāng)這個(gè)按鈕被按下,這個(gè)函數(shù)就會(huì)被執(zhí)行。Qt應(yīng)用程序的完成包括以下幾個(gè)步驟:(1) 創(chuàng)建和初始化子部件(2) 設(shè)置子部件的布局(3) 設(shè)置Tab鍵的次序(4) 建立信號(hào)與插槽的連接將部件布置好后,就可以根據(jù)我們的需要來(lái)建立連接,Qt開(kāi)創(chuàng)性的使用了信號(hào)與插槽機(jī)制,與傳統(tǒng)的回調(diào)函數(shù)方式不同,它是一種靈活、類型安全、快速、完全面向?qū)ο蟮腃++機(jī)制。利用Qt Designer可以用一種所見(jiàn)既所得的方式來(lái)生成Qt程序GUI 圖形界面的程序源碼,并且只需要手工編寫一個(gè)main函數(shù)就可以進(jìn)行編譯了。最終可以生成一個(gè)二進(jìn)制的可執(zhí)行文件。生成工程文件需要使用progen工具,它的位置在$TMAKEDIR/bin下,使用progen生成工程文件的方法如下:$TMAKEDIR/bin/progen –t –o (2) 生成Makefile 文件Qt提供了生成Makefile文件的工具tmake,這極大地方便了應(yīng)用程序的開(kāi)發(fā),節(jié)省了大量的時(shí)間,而且還可根據(jù)不同平臺(tái)的需要生成適合于不同平臺(tái)的Makefile文件。其中編譯qvfb時(shí),在輸入make指令后,提示“Nothing to be done for all”,查找資料后知道要在make前先執(zhí)行make clean命令,以清除上次編譯產(chǎn)生的中間文件。(1) cd $QT2DIRexport TMAKEPATH=$TMAKEDIR/lib/linuxg++export QTDIR=$QT2DIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH./configure noxft makecp –arf bin/uic $QTEDIR/bin/(2) 編譯qvfbexport TMAKEPATH=$TMAKEDIR/lib/linuxg++export QTDIR=$QT2DIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATHcd $QTEDIR/tools/qvfb/root/2410sQt/makemv qvfb $QTEDIR/bin/(3) 編譯Qt/Embeddedcd $QTEDIRexport TMAKEPATH=$TMAKEDIR/lib/qws/linuxx86g++export QTDIR=$QTEDIRexport PATH=$QTDIR/bin:$PATHexport LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH./configure noxft qvfb depths 4,8,16,32make開(kāi)始幾次編譯時(shí),對(duì)整個(gè)編譯過(guò)程還不了解,在設(shè)置環(huán)境變量時(shí)容易漏掉“$”符號(hào)或是拼寫錯(cuò)誤,而且擔(dān)心make失敗后,中間生成的文件會(huì)對(duì)下一次make產(chǎn)生影響。使得我們?cè)诿看握{(diào)試應(yīng)用時(shí)不需要經(jīng)常刷新開(kāi)發(fā)板上的FLASH存儲(chǔ)空間,從而加速了應(yīng)用程序的開(kāi)發(fā)。Qtopia應(yīng)用程序的系統(tǒng)程序,qvfb使用了共享存儲(chǔ)區(qū)域(虛擬的幀緩沖)來(lái)模擬幀緩沖并且在一個(gè)窗口中(qvfb)模擬一個(gè)應(yīng)用來(lái)顯示幀緩沖,顯示的區(qū)域被周期性的改變和更新。 Qt包含的工具及環(huán)境變量聲明其中tmake是qt應(yīng)用程序的編譯工具,用于生成Makefile文件;x11主要包含三個(gè)工具moc、uic和designer,moc用于Qt C++擴(kuò)展的metraobject編譯器,uic從XML文件生成代碼的用戶界面編譯器,而designer是用于設(shè)計(jì)窗口組件的應(yīng)用程序。Qt/Embedded 應(yīng)用程序 QWSSever――圖形事件服務(wù)Qt/Embeddedframebuffer輸入設(shè)備驅(qū)動(dòng) Linux操作系統(tǒng)底層硬件平臺(tái) Qt/Embedded的實(shí)現(xiàn)結(jié)構(gòu) Qt文件架構(gòu)Qt由三個(gè)文件構(gòu)成:、 。Framebuffer驅(qū)動(dòng)程序是最重要的驅(qū)動(dòng)程序之一,正是這個(gè)驅(qū)動(dòng)程序才能使系統(tǒng)屏幕顯示內(nèi)容。這種接口采用mmap系統(tǒng)調(diào)用,將顯示設(shè)備抽象為幀緩沖區(qū)。 應(yīng)用源程序Qt APIQt/EmbeddedQt/X11 Qt/XLibX Window Server幀緩沖Linux 內(nèi)核它的類庫(kù)接口完全兼容于同版本的Qt X11 ,使用X Window下的開(kāi)發(fā)工具可以直接開(kāi)發(fā)基于Qt/Embedded的應(yīng)用程序GUI界面[12]。同時(shí),將外部輸入設(shè)備抽象為keyboard和mouse輸入事件,底層接口支持鍵盤、GPM 鼠標(biāo)、觸摸屏以及用戶自定義的設(shè)備等。Qt/Embedded是著名的Qt庫(kù)開(kāi)發(fā)商Trolltech公司開(kāi)發(fā)的面向嵌入式系統(tǒng)的Qt版本。Qt/Embedded是最優(yōu)秀的嵌入式GUI開(kāi)發(fā)工具之一,在畢業(yè)設(shè)計(jì)中采用它來(lái)編寫用于觸摸屏的圖形界面。另外,由于嵌入式系統(tǒng)硬件本身的特殊性,嵌入式GUI應(yīng)具備高度可移植性與可裁剪性,以適應(yīng)不同的硬件條件和使用需求[8,12]。 4 基于Qt的圖形用戶界面設(shè)計(jì)圖形用戶界面GUI(Graphics User Interface)是迄今為止計(jì)算機(jī)系統(tǒng)中最為成熟的人機(jī)交互技術(shù)。如果一步步來(lái)做是比較復(fù)雜的,一般可以從網(wǎng)上下載別人整理好的整個(gè)文件包。其主要步驟為:(1)下載binutils、gcc、glibs的源碼;(2)配置并編譯binutils,得到下一步要用到的匯編器和連接器;(3) 配置并編譯gcc源代碼,生成gcc編譯器;(4) 配置glibc并編譯生成glibc的c函數(shù)庫(kù)(5) 再次配置并編譯gcc源代碼,生成其它語(yǔ)言的編譯器如:C++等[10,11]。 開(kāi)發(fā)工具的安裝開(kāi)發(fā)工具主要包括針對(duì)目標(biāo)板的編譯器gcc、目
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1