版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八部分嵌入式驅(qū)動(dòng)開(kāi)發(fā)TX-2440A
嵌入式視頻教程更多資料請(qǐng)登錄
出品:天祥電子網(wǎng)址:第十九講Linux字符設(shè)備驅(qū)動(dòng)第十九講Linux字符設(shè)備驅(qū)動(dòng)嵌入式設(shè)備驅(qū)動(dòng)概述字符設(shè)備驅(qū)動(dòng)框架GPIO驅(qū)動(dòng)程序設(shè)計(jì)實(shí)例中斷處理和同步機(jī)制嵌入式設(shè)備驅(qū)動(dòng)概述驅(qū)動(dòng)程序設(shè)計(jì)是嵌入式Linux開(kāi)發(fā)中重要的一部分,也是比較困難的一部分需要熟悉Linux的內(nèi)核機(jī)制、驅(qū)動(dòng)程序與用戶級(jí)應(yīng)用程序的接口需要考慮系統(tǒng)對(duì)設(shè)備的并發(fā)操作需要非常熟悉所開(kāi)發(fā)硬件的工作原理嵌入式設(shè)備驅(qū)動(dòng)概述預(yù)備知識(shí):應(yīng)用程序、庫(kù)、內(nèi)核、驅(qū)動(dòng)程序的關(guān)系設(shè)備類型主設(shè)備號(hào)與從設(shè)備號(hào)設(shè)備文件驅(qū)動(dòng)程序與應(yīng)用程序的區(qū)別用戶態(tài)與內(nèi)核態(tài)Linux驅(qū)動(dòng)程序功能嵌入式設(shè)備驅(qū)動(dòng)概述應(yīng)用程序、庫(kù)、內(nèi)核、驅(qū)動(dòng)程序的關(guān)系 應(yīng)用程序調(diào)用應(yīng)用程序函數(shù)庫(kù)完成功能 應(yīng)用程序以文件形式訪問(wèn)各種資源 應(yīng)用程序函數(shù)庫(kù) 部分函數(shù)直接完成功能部分函數(shù)通過(guò)系統(tǒng)調(diào)用由內(nèi)核完成
內(nèi)核處理系統(tǒng)調(diào)用,調(diào)用設(shè)備驅(qū)動(dòng)程序設(shè)備驅(qū)動(dòng)直接與硬件通信嵌入式設(shè)備驅(qū)動(dòng)概述設(shè)備類型字符設(shè)備對(duì)字符設(shè)備發(fā)出讀/寫請(qǐng)求時(shí),實(shí)際的硬件I/O操作一般緊接著發(fā)生塊設(shè)備塊設(shè)備與之相反,它利用系統(tǒng)內(nèi)存作為緩沖區(qū)網(wǎng)絡(luò)設(shè)備網(wǎng)絡(luò)設(shè)備是一類特殊的設(shè)備,它不像字符設(shè)備或塊設(shè)備那樣通過(guò)對(duì)應(yīng)的設(shè)備文件節(jié)點(diǎn)訪問(wèn),也不能直接通過(guò)read或write進(jìn)行數(shù)據(jù)訪問(wèn)請(qǐng)求主設(shè)備號(hào)和從設(shè)備號(hào)在設(shè)備管理中,除了設(shè)備類型外,內(nèi)核還需要一對(duì)被稱為主從設(shè)備號(hào)的參數(shù),才能唯一標(biāo)識(shí)一個(gè)設(shè)備主設(shè)備號(hào)相同的設(shè)備使用相同的驅(qū)動(dòng)程序從設(shè)備號(hào)用于區(qū)分具體設(shè)備的實(shí)例cat/proc/devices可以查看系統(tǒng)中所有設(shè)備對(duì)應(yīng)的主設(shè)備號(hào)設(shè)備文件設(shè)備類型、主從設(shè)備號(hào)是內(nèi)核與設(shè)備驅(qū)動(dòng)程序通信時(shí)使用的應(yīng)用程序使用設(shè)備文件節(jié)點(diǎn)訪問(wèn)對(duì)應(yīng)設(shè)備每個(gè)主從設(shè)備號(hào)確定的設(shè)備都對(duì)應(yīng)一個(gè)文件節(jié)點(diǎn)每個(gè)設(shè)備文件都有其文件屬性(c或者b)每個(gè)設(shè)備文件都有2個(gè)設(shè)備號(hào)(主,從)設(shè)備文件的主設(shè)備號(hào)必須與設(shè)備驅(qū)動(dòng)程序在登記時(shí)申請(qǐng)的主設(shè)備號(hào)一致系統(tǒng)調(diào)用是內(nèi)核與應(yīng)用程序之間的接口設(shè)備驅(qū)動(dòng)程序是內(nèi)核與硬件之間的接口驅(qū)動(dòng)程序與應(yīng)用程序的區(qū)別應(yīng)用程序以main開(kāi)始驅(qū)動(dòng)程序沒(méi)有main,它以一個(gè)模塊初始化函數(shù)作為入口應(yīng)用程序從頭到尾執(zhí)行一個(gè)任務(wù)驅(qū)動(dòng)程序完成初始化之后不再運(yùn)行,等待系統(tǒng)調(diào)用應(yīng)用程序可以使用GLIBC等標(biāo)準(zhǔn)C函數(shù)庫(kù)驅(qū)動(dòng)程序不能使用標(biāo)準(zhǔn)C庫(kù)用戶態(tài)與內(nèi)核態(tài)驅(qū)動(dòng)程序是內(nèi)核的一部分,工作在內(nèi)核態(tài)應(yīng)用程序工作在用戶態(tài)數(shù)據(jù)空間訪問(wèn)問(wèn)題無(wú)法通過(guò)指針直接將二者的數(shù)據(jù)地址進(jìn)行傳遞系統(tǒng)提供一系列函數(shù)幫助完成數(shù)據(jù)空間轉(zhuǎn)換 copy_from_user copy_to_userLinux驅(qū)動(dòng)程序功能對(duì)設(shè)備初始化和釋放把數(shù)據(jù)從內(nèi)核傳送到硬件和從硬件讀取數(shù)據(jù)讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請(qǐng)求的數(shù)據(jù)檢測(cè)和處理設(shè)備出現(xiàn)的錯(cuò)誤Linux字符設(shè)備驅(qū)動(dòng)框架file_operations結(jié)構(gòu)體規(guī)定了驅(qū)動(dòng)程序向應(yīng)用程序提供的操作接口實(shí)現(xiàn)函數(shù):open當(dāng)應(yīng)用程序打開(kāi)設(shè)備時(shí)對(duì)設(shè)備進(jìn)行初始化release關(guān)閉設(shè)備時(shí)處理關(guān)閉操作read從硬件讀取數(shù)據(jù)并交給應(yīng)用程序write從應(yīng)用程序接收數(shù)據(jù)送到硬件ioctl為應(yīng)用程序提供對(duì)硬件行為的控制Linux字符設(shè)備驅(qū)動(dòng)框架驅(qū)動(dòng)初始化:Linux在加載內(nèi)核模塊時(shí)會(huì)調(diào)用初始化函數(shù)staticint__intXXXX_init(void)使用register_chrdev向內(nèi)核注冊(cè)驅(qū)動(dòng)程序驅(qū)動(dòng)退出:Linux在卸載內(nèi)核模塊時(shí)會(huì)調(diào)用退出函數(shù)staticvoid__exitXXXX_exit(void)使用unregister_chrdev從內(nèi)核中卸載驅(qū)動(dòng)程序Linux字符設(shè)備驅(qū)動(dòng)框架將驅(qū)動(dòng)程序模塊注冊(cè)到內(nèi)核
內(nèi)核需要知道模塊的初始化函數(shù)和退出函數(shù),才能將模塊放入自己的管理隊(duì)列中module_init(XXXX_init)向內(nèi)核聲明當(dāng)前模塊的初始化函數(shù)module_exit(XXXX_exit)向內(nèi)核聲明當(dāng)前模塊的退出函數(shù)中斷處理申請(qǐng)中斷:request_irq()釋放中斷:free_irq()禁止單個(gè)中斷:disable_irq()允許單個(gè)中斷:enable_irq()禁止所有中斷:local_irq_disable()允許所有中斷:local_irq_enable()同步機(jī)制當(dāng)多個(gè)進(jìn)程、線程同時(shí)訪問(wèn)一個(gè)資源時(shí),可能導(dǎo)致錯(cuò)誤。內(nèi)核需要提供并發(fā)控制機(jī)制,對(duì)公共資源的訪問(wèn)進(jìn)行同步控制,確保共享資源的安全訪問(wèn)。Linux同步機(jī)制:自旋鎖(spinlock),信號(hào)量(semaphore),讀寫鎖(rwlock),順序鎖(seqlock),RCU(Read-CopyUpdate)第八部分嵌入式驅(qū)動(dòng)開(kāi)發(fā)TX-2440A
嵌入式視頻教程
出品:天祥電子網(wǎng)址:第二十講其他類型設(shè)備驅(qū)動(dòng)塊設(shè)備驅(qū)動(dòng)網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)Framebuffer驅(qū)動(dòng)音頻設(shè)備驅(qū)動(dòng)第二十講其他類型設(shè)備驅(qū)動(dòng)塊設(shè)備數(shù)據(jù)傳輸以塊為單位(扇區(qū))塊設(shè)備與文件系統(tǒng)息息相關(guān)塊設(shè)備與字符設(shè)備僅在內(nèi)核內(nèi)部管理時(shí)二者有差異,內(nèi)核/驅(qū)動(dòng)之間的接口上有差異,為用戶提供的操作方法和方式是相同的常見(jiàn)的塊設(shè)備SD卡、硬盤、Flash塊設(shè)備注冊(cè)塊設(shè)備registerblkdev()注銷塊設(shè)備unregister_blkdev()塊設(shè)備驅(qū)動(dòng)數(shù)據(jù)結(jié)構(gòu):structblock_device_operations塊設(shè)備在linux系統(tǒng)中,提供了MTD(MemoryTechnologyDevice,內(nèi)存技術(shù)設(shè)備)系統(tǒng)來(lái)建立Flash針對(duì)linux的統(tǒng)一、抽象的接口引入MTD后,linux系統(tǒng)中的Flash設(shè)備驅(qū)動(dòng)及接口可分為4層:設(shè)備節(jié)點(diǎn)MTD設(shè)備層MTD原始設(shè)備層硬件驅(qū)動(dòng)層MTD驅(qū)動(dòng)分析MTD驅(qū)動(dòng)分析網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)Linux網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)層次結(jié)構(gòu)為:網(wǎng)絡(luò)協(xié)議接口層網(wǎng)絡(luò)設(shè)備接口層設(shè)備驅(qū)動(dòng)功能層網(wǎng)絡(luò)設(shè)備與媒介層網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)網(wǎng)絡(luò)設(shè)備驅(qū)動(dòng)intregister_netdev(structnet_device*dev)voidunregister_netdev(structnet_device*dev)net_device結(jié)構(gòu)體存儲(chǔ)了一個(gè)網(wǎng)絡(luò)接口的重要信息,是網(wǎng)絡(luò)驅(qū)動(dòng)的核心Linux網(wǎng)絡(luò)各層之間的數(shù)據(jù)傳送都是通過(guò)sk_buff進(jìn)行的sk_buff是LinuxTCP/IP協(xié)議棧中用于管理數(shù)據(jù)緩沖的結(jié)構(gòu),它在數(shù)據(jù)包的發(fā)送和接收中起著重要作用Framebuffer驅(qū)動(dòng)FrameBuffer幀緩沖Linux抽象出FrameBuffer這個(gè)設(shè)備來(lái)供用戶態(tài)進(jìn)程實(shí)現(xiàn)直接寫屏。Framebuffer機(jī)制模仿顯卡的功能,將顯卡硬件結(jié)構(gòu)抽象掉,可以通過(guò)Framebuffer的讀寫直接對(duì)顯存進(jìn)行操作。用戶可以將Framebuffer看成是顯示內(nèi)存的一個(gè)映像,將其映射到進(jìn)程地址空間之后,就可以直接進(jìn)行讀寫操作,而寫操作可以立即反應(yīng)在屏幕上。音頻設(shè)備驅(qū)動(dòng)音頻設(shè)備本質(zhì)上是一種字符型設(shè)備Linux內(nèi)核中包含兩大音頻體系:OSS和ALSAALSA--AdvancedLinuxSoundArchitecture高級(jí)linux聲音體系。OSS--OpenSoundSystem
音頻設(shè)備驅(qū)動(dòng)I2S(Inter—ICSound)總線是飛利浦公司為數(shù)字音頻設(shè)備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標(biāo)準(zhǔn),該總線專責(zé)于音頻設(shè)備之間的數(shù)據(jù)傳輸,廣泛應(yīng)用于各種多媒體系統(tǒng)S3C2440內(nèi)置一個(gè)IIS總線控制器,該控制器實(shí)現(xiàn)了到一個(gè)外部8/16位立體聲AudioCodecIC的接口支持IIS數(shù)據(jù)格式和左對(duì)齊數(shù)據(jù)格式此控制器包含F(xiàn)IFO,支持DMA傳輸模式音頻設(shè)備驅(qū)動(dòng)UDA1341是Philips公司生產(chǎn)的一款音頻芯片,提供標(biāo)準(zhǔn)的IIS接口,可直接和S3C2440的IIS引腳連接提供L3接口作為控制接口提供麥克風(fēng)和揚(yáng)聲器接口提供線性數(shù)字音量調(diào)節(jié)提供重低音增強(qiáng)處理功能支持16b、18b、20b數(shù)據(jù)輸入音頻設(shè)備驅(qū)動(dòng)L3接口
用來(lái)對(duì)聲音處理單元進(jìn)行編程或系統(tǒng)特性包含三根信號(hào)/數(shù)據(jù)線:L3DATA:串行數(shù)據(jù)傳輸線L3MODE:地址/數(shù)據(jù)模式選擇線L3CLK:串行時(shí)鐘信號(hào)線第九部分QT圖形界面開(kāi)發(fā)TX-2440A
嵌入式視頻教程
出品:天祥電子網(wǎng)址:第二十一講QT及Qtopia介紹嵌入式GUI簡(jiǎn)介
QT概述QT/X11的安裝
Qtopia簡(jiǎn)介第二十一講QT及Qtopia介紹GUI(GraphicUserInterface)UNIX環(huán)境下的圖形窗口標(biāo)準(zhǔn)為:XWindowsSystemXServerGraphicLibraryToolkitsWindowMangerI18NLinux的GUI架構(gòu)XServerClient/Server架構(gòu),XClient就是我們?cè)赬上執(zhí)行的軟件,XServer則是負(fù)責(zé)顯示、傳遞使用者輸入事件(包括鍵盤鼠標(biāo)的輸入)GraphicLibrary(底層繪圖函數(shù)庫(kù))實(shí)現(xiàn)畫點(diǎn)、畫線、畫圓、上色等高階函數(shù)Toolkits
將構(gòu)成窗口的抽象組件(Widget)抽離出來(lái),重新定義一個(gè)更高階的函數(shù)庫(kù)。如QT,GTK+Linux的GUI架構(gòu)WindowManger
負(fù)責(zé)不同窗口間的溝通、協(xié)調(diào)(如窗口的切換、放大、縮小等)桌面環(huán)境提供一整套圖形界面下使用的程序,如應(yīng)用程序,辦公軟件,瀏覽器,文件管理器等I18N(Internationalization)
解決國(guó)際化問(wèn)題Linux的GUI架構(gòu)QtopiaCore(Qt/Embedded)MiniGUIMicroWindowsTiny-X嵌入式GUIMiniGUI是一種面向嵌入式系統(tǒng)的圖形用戶界面支持系統(tǒng),是國(guó)內(nèi)做的較好的自由軟件之一.跨操作系統(tǒng)支持多漢字輸入法支持輕型、占用資源少高性能、高可靠性可配置性MiniGUIMicroWindows(2005年更名為Nano-XWindow)是一個(gè)基于客戶/服務(wù)器體系結(jié)構(gòu)的GUI系統(tǒng).其主要特色是提供了類似XWindow的客戶/服務(wù)器體系結(jié)構(gòu)并提供了相對(duì)完善的圖形功能.MicroWindowsMicroWindows作為XWindow的替代品,可以使用更少的存儲(chǔ)空間(100KB-600KB)和RAM提供與XWindow相似的功能MicroWindows可移植性好,基本上用C語(yǔ)言實(shí)現(xiàn),只有某些關(guān)鍵代碼使用了匯編以提高速度.MicroWindowsTiny-XTiny-X實(shí)際上是XFree86Project的一部分,由SuSE公司贊助,XFree86Project核心團(tuán)隊(duì)的KeithPackard開(kāi)發(fā).Tiny-X的目標(biāo)是可以在小內(nèi)存或幾乎無(wú)內(nèi)存的情況下良好運(yùn)行.QT概述QT的版本和歷史Qt是Trolltech公司最早也是最有名的產(chǎn)品,它最初是作為一個(gè)跨平臺(tái)(Win32、Mac、Unix)的C++GUI庫(kù)開(kāi)發(fā)的,但隨著它的發(fā)展,其中增加了一系列與GUI無(wú)關(guān)的庫(kù),如Thread、Socket、XML等等,現(xiàn)在Qt已經(jīng)成為了一個(gè)通用的C++跨平臺(tái)類庫(kù)。Qt的版本號(hào)分為三部分,例如4.5.3。大版本號(hào)之間會(huì)有很大的不同,通常類庫(kù)的結(jié)構(gòu)會(huì)進(jìn)行很大的調(diào)整,因此在大版本號(hào)發(fā)生變化時(shí),新的Qt庫(kù)無(wú)法與原來(lái)的程序保持源碼級(jí)兼容。中間版本號(hào)的變化通常會(huì)引入新的類庫(kù)和組件,但現(xiàn)有類庫(kù)的結(jié)構(gòu)一般不會(huì)改變。小版本號(hào)的變化通常是錯(cuò)誤修正,一般會(huì)保證二進(jìn)制兼容。QT概述Qt的授權(quán)分為兩條路線,商業(yè)版本和開(kāi)源版本。
如果使用商業(yè)版的Qt,那么開(kāi)發(fā)出的程序可以是私有的和商業(yè)的。
如果使用的是開(kāi)源版的Qt,由于其使用的是GPL協(xié)議,那么可發(fā)出的程序也必須遵循GPL協(xié)議。QT概述Qt是一個(gè)全面的C++應(yīng)用程序開(kāi)發(fā)框架。Qt包含一個(gè)類庫(kù)和用于跨平臺(tái)開(kāi)發(fā)及國(guó)際化的工具。Qt類庫(kù)QtDesignerQtLinguistQtAssistantQT概述Qt類庫(kù)是一個(gè)擁有超過(guò)400個(gè)C++類,同時(shí)不斷擴(kuò)展的庫(kù)。它封裝了用于端到端應(yīng)用程序開(kāi)發(fā)所需要的所有基礎(chǔ)結(jié)構(gòu)。同時(shí)還集成數(shù)據(jù)庫(kù),網(wǎng)絡(luò),XML,國(guó)際化,OpenGL等等。QtDesigner是一個(gè)功能強(qiáng)大的GUI布局與窗體構(gòu)造器,能夠快速開(kāi)發(fā)高性能的用戶界面。QtLinguistQt語(yǔ)言家,Qt的國(guó)際化工具。QtAssistantQt助手,Qt的幫助文檔。QT概述Qt可用于下列平臺(tái):Qt/WindowsQt/MacQt/X11QtopiaCoreQT概述Qt針對(duì)不同操作系統(tǒng)發(fā)布的不同版本,它們所定義的提供給應(yīng)用程序開(kāi)發(fā)人員的API其實(shí)是相同的,在應(yīng)用程序開(kāi)發(fā)人員看來(lái),他們不必關(guān)心當(dāng)前的操作系統(tǒng)是哪一種,只需要調(diào)用同一套API來(lái)實(shí)現(xiàn)他們的應(yīng)用即可.用Qt/X11開(kāi)發(fā)的應(yīng)用程序只需要在Windows下重新用Qt/Windows版本編譯,即可順利運(yùn)行于Windows系統(tǒng)中,這種優(yōu)良的跨平臺(tái)性使跨平臺(tái)的應(yīng)用開(kāi)發(fā)顯得非常方便.QT概述QT概述Qtopia
CoreQtopiaCore是Trolltech公司在Qt/Embedded的基礎(chǔ)上,于2006年1月推出的一款基于嵌入式Linux的嵌入式產(chǎn)品開(kāi)發(fā)平臺(tái)。QtopiaCore采用與桌面版本同樣的一套API,但在其內(nèi)部實(shí)現(xiàn)上作了很多調(diào)整和優(yōu)化來(lái)適應(yīng)嵌入式平臺(tái)的限制。Qtopia
CoreQtopia
CoreQtopiaCore與Qt/X11最大的區(qū)別在于QtopiaCore不依賴于XServer或者Xlib,而是直接訪問(wèn)幀緩存(FrameBuffer),只需要一個(gè)QtopiaCore的動(dòng)態(tài)鏈接庫(kù)就足以替代XServer、Xlib庫(kù)和其他嵌入式解決方案的圖形工具包,這樣做的好處是減少了內(nèi)存消耗。FrameBufferFrameBuffer是一種對(duì)圖形硬件設(shè)備的抽象,是linux的標(biāo)準(zhǔn)顯示設(shè)備驅(qū)動(dòng)接口。它將顯示設(shè)備抽象為幀緩沖區(qū),應(yīng)用程序可以通過(guò)一組定義好的接口來(lái)操作顯示設(shè)備,從而將底層的硬件細(xì)節(jié)隱藏起來(lái)。默認(rèn)情況下,應(yīng)用程序使用/dev/fb0作為FrameBuffer設(shè)備.QtopiaQtopia最初是構(gòu)建于Qt/Embedded之上的類似桌面系統(tǒng)的應(yīng)用環(huán)境,包括了PDA和手機(jī)等掌上系統(tǒng)的常見(jiàn)功能如電話簿、圖像瀏覽、Media播放器、日程表等。從4.1版本開(kāi)始,Qt/Embedded并入了Qtopia,改稱為QtopiaCore,作為嵌入式版本的核心,并在此基礎(chǔ)上開(kāi)發(fā)了面向于手機(jī)、PDA等的版本,稱為QtopiaPhoneEdition和QtopiaPDAEdition等。第九部分QT圖形界面開(kāi)發(fā)TX-2440A
嵌入式視頻教程移植tslib(觸摸屏校正)
Qt/E-4.5.3在ARM上的移植Qtopa4.2.4手機(jī)平臺(tái)在ARM上的移植第二十二講QT在ARM平臺(tái)的移植什么是tslib?tslib是一個(gè)開(kāi)源的觸摸屏支持庫(kù),它是上開(kāi)發(fā)的,作者是RussulKing,DouglasLowder和ChrisLarson。它給上層的應(yīng)用程序,為不同的觸摸屏提供了一個(gè)統(tǒng)一的接口。它提供諸如濾波、去抖、校準(zhǔn)之類的功能。Tslib1.4的配置TSLIB_CONSOLEDEVICE控制臺(tái)設(shè)備文件名noneTSLIB_FBDEVICEframebuffer設(shè)備文件名TSLIB_TSDEVICE觸摸屏設(shè)備文件名TSLIB_CALIBFILE觸屏校正信息保存文件TSLIB_CONFFILEtslib配置文件TSLIB_PLUGINDIRtslib需要加載模塊所在目錄安裝Qt/E-4.5.3forARM#./configure-embeddedarm-xplatformqws/linux-arm-g++-no-mouse-linuxtp-qt
-mouse-tslib-I/usr/local/tslib/include-L/usr/local/tslib/lib#make#makeinstallexportQTLIB=/usr/libexportTSLIB_ROOT=/usr/local/tslibexportTSLIB_TSDEVICE=/dev/event0exportTSLIB_CALIBFILE=/etc/pointercalexportTSLIB_CONFILE=$TSLIB_ROOT/etc/ts.confexportTSLIB_PLUGINDIR=$TSLIB_ROOT/lib/tsexportTSLIB_CONSOLEDEVICE=noneexportTSLIB_FBDEVICE=/dev/fb0exportLD_LIBRARY_PATH=$LD_LIBRARY_PATH:$TSLIB_ROOT/lib:$QTLIBexportQWS_SIZE=320x240exportQWS_MOUSE_PROTO=Tslib:/dev/event0exportQWS_DISPLAY="LinuxFb:mmWidth35:mmHeight45:0“
設(shè)置環(huán)境變量什么是QWSClient和QWSServer?
QTEmbedded也是一種C/S結(jié)構(gòu),需要有一個(gè)QTapplication做QWSServer,程序啟動(dòng)時(shí)帶有-qws參數(shù)的就是QWSServer,不帶這個(gè)參數(shù)就是QWSClient。因此任何一個(gè)基于QT的application都可以做QWSServer。當(dāng)然QWSServer一定先于QWSClient啟動(dòng),否則QWSClient將啟動(dòng)失敗。在實(shí)際應(yīng)用中,會(huì)指定某個(gè)特殊的application做QWSServer,這個(gè)application一般還會(huì)管理一些其它的系統(tǒng)資源。
QWS第九部分QT圖形界面開(kāi)發(fā)TX-2440A
嵌入式視頻教程
出品:天祥電子網(wǎng)址:第二十三講Qt應(yīng)用程序的開(kāi)發(fā)
Qt編程入門,使用Qt助手元對(duì)象編譯器介紹信號(hào)和槽機(jī)制Qt應(yīng)用開(kāi)發(fā)實(shí)例第二十三講Qt應(yīng)用程序的開(kāi)發(fā)
Qt編程入門使用QT助手#assistant參考資料:《24小時(shí)學(xué)通QT編程》編譯QT程序#qmake–project#qmake#make元對(duì)象編譯器元對(duì)象編譯器Meta-ObjectCompiler
(MOC)用來(lái)處理QT的C++擴(kuò)展,moc分析C++源文件,如果它發(fā)現(xiàn)在一個(gè)頭文件中包含Q_OBJECT宏定義,然后動(dòng)態(tài)的生成另外一個(gè)C++源文件,這個(gè)新的源文件包含Q_OBJECT的實(shí)現(xiàn)代碼,這個(gè)新的C++源文件也會(huì)被編譯、鏈接到這個(gè)類的二進(jìn)制代碼中去,因?yàn)樗彩沁@個(gè)類的完整的一部分。通常,這個(gè)新的C++源文件會(huì)在以前的C++源文件名前面加上moc_作為新文件的文件名。Qt程序的編譯過(guò)程g++-c–omyqt.omyqt.cppmocmyqt.h–omoc_myqt.cppg++-c–omoc_myqt.omoc_myqt.cppg++-omyqtmyqt.omoc_myqt.o–lqt信號(hào)和槽機(jī)制signals:
voidmySignal();publicslots:
voidmySlot();connect(sender,SIGNAL(signal),receiver,SLOT(slot));
信號(hào)和槽機(jī)制一個(gè)信號(hào)可以連接到多個(gè)槽多個(gè)信號(hào)可以連接到同一個(gè)槽一個(gè)信號(hào)可以和另一個(gè)信號(hào)相連連接可以被刪除disconnect信號(hào)和槽函數(shù)必須有著相同的參數(shù)類型及順序第24講智能網(wǎng)絡(luò)家居系統(tǒng)項(xiàng)目項(xiàng)目演示搭建系統(tǒng)核心技術(shù)-CGI編程原理代碼分析完善功能CGI簡(jiǎn)介CGI是:“公共網(wǎng)關(guān)接口”(CommonGatewayInterface)的簡(jiǎn)稱是Web服務(wù)器和主機(jī)應(yīng)用程序之間進(jìn)行信息交換的一種接口標(biāo)準(zhǔn)或規(guī)范。通過(guò)CGI,Web服務(wù)器可以激活一個(gè)應(yīng)用程序,同時(shí)將用
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國(guó)電腦設(shè)備行業(yè)競(jìng)爭(zhēng)戰(zhàn)略與投資模式分析報(bào)告
- 2024年環(huán)氧大豆油項(xiàng)目規(guī)劃申請(qǐng)報(bào)告
- 2024-2030年中國(guó)玉米種植及深加工行業(yè)產(chǎn)能預(yù)測(cè)及發(fā)展?jié)摿ρ芯繄?bào)告
- 2024-2030年中國(guó)炭化木產(chǎn)業(yè)發(fā)展戰(zhàn)略及投資規(guī)模分析報(bào)告(版)
- 2024-2030年中國(guó)湖畔營(yíng)項(xiàng)目可行性研究報(bào)告
- 2024-2030年中國(guó)海南水泥行業(yè)發(fā)展態(tài)勢(shì)及投資需求分析報(bào)告
- 2024-2030年中國(guó)澆鑄大理石行業(yè)市場(chǎng)運(yùn)營(yíng)模式及未來(lái)發(fā)展動(dòng)向預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)油亮計(jì)項(xiàng)目可行性研究報(bào)告
- 2024-2030年中國(guó)汽車真皮座椅面套行業(yè)營(yíng)銷模式及投資前景預(yù)測(cè)報(bào)告
- 2024-2030年中國(guó)汽車工業(yè)用涂料行業(yè)市場(chǎng)運(yùn)營(yíng)模式及未來(lái)發(fā)展動(dòng)向預(yù)測(cè)報(bào)告
- 2024年江蘇省中等職業(yè)學(xué)校學(xué)生學(xué)業(yè)水平考試機(jī)械CAD繪圖試卷(含5張圖)
- 2023年中國(guó)鐵路國(guó)際有限公司招聘考試試題及答案
- 滬科版(2024)八年級(jí)全一冊(cè)物理第一學(xué)期期中學(xué)業(yè)質(zhì)量測(cè)試卷(含答案)
- 2024年山東省港口集團(tuán)有限公司招聘筆試參考題庫(kù)含答案解析
- 《學(xué)生儀容儀表》主題班會(huì)PPT課件
- 畢業(yè)設(shè)計(jì)(論文)長(zhǎng)沙辦公樓空調(diào)系統(tǒng)設(shè)計(jì)
- 第三章電阻材料
- 公務(wù)員考試遴選、選調(diào)考試答題卡練字方格(A4紙可直接打印)
- 口腔科消毒記錄
- 《電工電子技術(shù)》全套課件(完整版)
- 五年級(jí)英語(yǔ)家長(zhǎng)會(huì)教師發(fā)言稿ppt課件
評(píng)論
0/150
提交評(píng)論