版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、華南師范大學嵌入式系統(tǒng)課程設(shè)計報告 設(shè)計題目:基于ARM的嵌入式的電子相框系統(tǒng)專業(yè)班級 電路與系統(tǒng) 學 院 物理與電信工程學院 指導教師 熊愛民 姓 名 學 號 2015年 12 月25日 基于ARM的嵌入式電子相框系統(tǒng)摘要:本設(shè)計采用搭載飛思卡爾的MCIMX28x 芯片的Esayarm-i.max283A開發(fā)板作為目標機,使用安裝Windows 7的PC機作為宿主機,并在宿主機Windows平臺上安裝了一個虛擬機軟件,虛擬機里安裝的是Ubuntu作為開發(fā)環(huán)境。并在目標機上移植了u-boot,linux內(nèi)核,根文件系統(tǒng),構(gòu)成一個嵌入式linux操作系統(tǒng),該系統(tǒng)的最大特點就是,可以根據(jù)應用需求對
2、軟硬件進行裁剪,滿足應用系統(tǒng)的功能、可靠性、成本、體積等要求,主要用途就是對軟硬件資源的調(diào)度與分配。 在搭載了linux嵌入式系統(tǒng)的目標開發(fā)板上,本文設(shè)計了一個界面應用程序,該應用程序主要功能為:用戶通過對界面的操作就可對數(shù)碼相框中圖片的瀏覽與管理,以及進行幻燈片播放功能,實現(xiàn)個人圖片的掌上管理。關(guān)鍵詞:linux嵌入式系統(tǒng);周立功開發(fā)板;虛擬機環(huán)境;移植。 目 錄1. 61設(shè)計內(nèi)容71.1 設(shè)計目的71.2 設(shè)計意義71.3電子相框的設(shè)計任務(wù)和要求82. 周立功開發(fā)板的介紹92.1Esayarm-i.max283A開發(fā)板92.1.1 Freescale 的MCIMX28x 處理器102.1.
3、2SDRAM存儲系統(tǒng)102.1.3 FLASH 存儲系統(tǒng)112.2基于Esayarm-i.max283A的開發(fā)環(huán)境的搭建122.2.1搭建嵌入式交叉開發(fā)環(huán)境123 Linux 內(nèi)核143.1 Linux系統(tǒng)簡介143.2 Linux-2.6.29內(nèi)核移植到Esayarm-i.max283A174 電子相框的功能模塊以及程序框架174.1輸入程序框架解析174.2顯示界面的功能總框架184.3電子相框的主流程圖204.4程序模塊介紹214.4.1頁面規(guī)劃模塊214.4.2調(diào)試模塊224.4.3圖片渲染解析模塊224.4.4字符解碼模塊234.4.5顯示模塊245電子相框的相關(guān)驅(qū)動移植245.1
4、關(guān)于LCD驅(qū)動的配置245.2 關(guān)于觸摸屏驅(qū)動的配置256電子相框的效果演示及功能測試256.1 電子相框性能分析方法簡述256.2 電子相框的效果演示以及功能描述267設(shè)計體會268參考文獻271設(shè)計內(nèi)容1.1設(shè)計目的1、注重培養(yǎng)綜合運用所學知識、獨立分析和解決實際問題的能力,培養(yǎng)創(chuàng)新意識和創(chuàng)新能力,并獲得科學研究的基礎(chǔ)訓練。2、了解周立功開發(fā)板的硬件環(huán)境和豐富的接口資源,掌握對周立功開發(fā)板進行Linux內(nèi)核的移植,裁剪,配置和編譯。3、利用周立功開發(fā)板,通過軟硬件設(shè)計實現(xiàn)進行一個可以瀏覽與管理圖片功能的電子相框。1.2設(shè)計意義嵌入式系統(tǒng)是以應用為中心,以計算機技術(shù)為基礎(chǔ),且軟硬件可裁剪,適
5、應應用系統(tǒng)對功能、可靠性、成本、體積、功耗有嚴格要求的專用計算機系統(tǒng)1。它一般由以下幾部分組成:嵌入式微處理器、外圍硬件設(shè)備、嵌入式操作系統(tǒng)。嵌入式系統(tǒng)必須根據(jù)應用需求對軟硬件進行裁剪,滿足應用系統(tǒng)的功能、可靠性、成本、體積等要求。所以,如果能建立相對通用的軟硬件基礎(chǔ),然后在其上開發(fā)出適應各種需要的系統(tǒng),是一個比較好的發(fā)展模式。 基于ARM的嵌入式系統(tǒng)有諸多優(yōu)點是傳統(tǒng)電子系統(tǒng)無法比擬的,利用嵌入式開發(fā)本設(shè)計可以開發(fā)出具有良好的人機交互界面的實時系統(tǒng),同時嵌入式系統(tǒng)最大的優(yōu)點就是軟硬件可裁剪,依據(jù)自己系統(tǒng)的需要可以進行靈活的軟硬件設(shè)計開發(fā),而且基于ARM的嵌入式系統(tǒng)開發(fā)成本低,而且系統(tǒng)穩(wěn)定性高,
6、功耗低,體積小,并且能夠應用于多種應用場合2。另外,作為一個消費類電子產(chǎn)品,電子相框的設(shè)計必須考慮以下因素:1、用戶接口友好、操作方便。2、系統(tǒng)兼容性強。數(shù)碼相框應能識別和處理當前數(shù)碼相機主要的圖像格式,能訪問主流的外部半導體存儲卡。3、穩(wěn)定可靠。作為數(shù)碼相機的一種附屬產(chǎn)品,電子相框不僅具有傳統(tǒng)相框的特點,而且可以直接從數(shù)碼相機中選擇心儀的照片,定時更新照片。電子相框可以擺放在家居顯眼之處,成為現(xiàn)代家庭一道靚麗的風景線。1.3電子相框的設(shè)計任務(wù)和要求 本設(shè)計的電子相框系統(tǒng),實現(xiàn)了圖片的查看,圖片輪播功能的系統(tǒng)設(shè)計,該電子相框系統(tǒng)依靠ARM處理器和嵌入式Linux操作系統(tǒng)作為系統(tǒng)平臺,同時結(jié)合界
7、面應用程序,通過對觸摸屏的操作,在LCD屏幕上顯示圖譜按,實現(xiàn)了數(shù)碼相框系統(tǒng)與外界的信息交流,從而在目標板上實現(xiàn)電子相框的基本功能。如圖1.1所示。 圖1.1 電子相框系統(tǒng)1、周立功開發(fā)板的介紹2.1 Esayarm-i.max283A開發(fā)板Esayarm-i.max283A是一款真正低價實用的ARM9開發(fā)板,EasyARM-i.MX283A 采用Freescale 的MCIMX28x 處理器(基于ARM926EJ-S 內(nèi)核),具有豐富的硬件資源,提供了完善的Linux 軟件支持包、開發(fā)工具和豐富的實用范例,大大降低了Linux 學習門檻和開發(fā)難度3,可以幫助用戶在短期內(nèi)實現(xiàn)產(chǎn)品功能驗證和開發(fā)
8、。EasyARM -i.MX283A 的基本接口分布如圖2.1 所示。 圖 2.1 EasyARM -i.MX283A開發(fā)板其板載64M SDRAM、128MB SLC NAND FLASH和2M Nor Flash,足夠本系統(tǒng)使用。該開發(fā)板接口十分豐富,含:l 1個主USB接口,1個從USB接口l 1個100M以太網(wǎng)RJ-45口(采用DM9000網(wǎng)卡)l 1個SD/MMC卡存儲接口,3個串行口l 3個串口,COM0為RS232 DB9接口,COM2和COM3為2.0mm間距l(xiāng) 標轉(zhuǎn)JTAG接口(2.0mm間距)l 1路立體聲音頻輸出接口(標準3.5mm接口),1路麥克風接口l 引出CPU內(nèi)部
9、全部攝像頭信號引腳。2.1.1 Freescale 的MCIMX28x 處理器MCIMX28x是飛思卡爾公司的一款基于ARM926EJ-S 內(nèi)核的高性能、低功耗、高集成度的32位微處理器,主頻最高可達454MHz,具有16KB指令Cache和16KB數(shù)據(jù)Cache,主要特征如下:l 1.2V內(nèi)核供電,1.8V/2.5V/3.3V存儲器供電,3.3V外部I/O供電l LCD控制器(最大支持4K色STN和256K色TFT),提供1通道LCD專用DMAl 4通道DMA,并有外部請求引腳l 3通道UARTl 2通道SPIl 1通道IIC-BUS接口(多主支持)l 兼容SD主接口協(xié)議1.0板和MMC卡2
10、.11兼容版l 2端USB主機/1端口USB設(shè)備l 4通道PWM定時器和1通道內(nèi)部定時器/看門狗定時器l 8通道10bitADC和觸摸屏接口l 具有日歷功能的RTCl 130通用I/O口和24通道外部中斷源l 具有普通、慢速、空閑和掉電模式l 具有PLL片上時鐘發(fā)生器 2.1.2 SDRAM存儲系統(tǒng)Esayarm-i.max283A 使用了兩片外接的32M bytes 總共 64M bytes 的SDRAM 芯片( 型號為:HY57VFTP/MT48LC16M16A2),一般稱之為內(nèi)存,它們并接在一起形成 32-bit 的總線數(shù)據(jù)寬度,這樣可以增加訪問的速度;因為是并接,故它們都使用了 nGC
11、S6 作為片選,它們的物理起始地址為0x,下面是摘自Esayarm-i.max283A 原理圖中的SDRAM 部分原理圖。圖 2.2 SDRAM存儲系統(tǒng)原理圖2.1.3 FLASH 存儲系統(tǒng)Esayarm-i.max283A 具備兩種Flash,一種是 Nor Flash ,型號為 SST39VF1601(AMD29LV160DB與此引腳兼容) ,大小為2Mbyte;另一種是Nand Flash ,型號為K9F1G08,大小為128M( 舊版本為K9F1208 ,大小為64Mbyte) 。S3C2440 支持這兩種Flash啟動系統(tǒng),通過撥動開關(guān) S2,可以選擇從NOR還是從NAND 啟動系統(tǒng)
12、。 Nand Flash 不具有地址線,它有專門的控制接口與CPU 相連,數(shù)據(jù)總線為8-bit ,但這并不意味著Nand Flash 讀寫數(shù)據(jù)會很慢。大部分的優(yōu)盤或者SD卡等都是Nand Flash 制成的設(shè)備4。從下面的原理圖可以看出,Nor Flash 采用了A1-A22總共22條地址總線和16條數(shù)據(jù)總線與CPU 連接,地址是從A1開始的,這意味著它每次最小的讀寫單位是2-byte ,因此根據(jù)原理圖,該設(shè)計總共可以兼容支持最大8Mbyte的Nor Flash,實際開發(fā)板上只用了A1-A20條地址線,因為與A21、A22 相連的SST39V1601 的相應引腳是懸空的。圖 2.3 Flash
13、存儲系統(tǒng)原理圖2.2基于Esayarm-i.max283A的開發(fā)環(huán)境的搭建2.2.1搭建嵌入式交叉開發(fā)環(huán)境由于嵌入式系統(tǒng)資源匱乏,一般不能像PC 一樣安裝本地編譯器和調(diào)試器,不能在本地編寫、編譯和調(diào)試自身運行的程序,而需借助其它系統(tǒng)如PC 來完成這些工作,這樣的系統(tǒng)通常被稱為宿主機。本設(shè)計宿主機主要是使用裝有ubuntu的Linux操作系統(tǒng)的PC機,而目標機就是Esayarm-i.max283A開發(fā)板。組成架構(gòu)如圖2.6所示。 圖2.6 嵌入式開發(fā)交叉環(huán)境構(gòu)架 所謂的交叉編譯,就是在宿主機平臺上使用某種特定的交叉編譯器,為某種與宿主機不同平臺的目標系統(tǒng)編譯程序,得到的程序在目標系統(tǒng)上運行而非在
14、宿主機本地運行,本設(shè)計使用的交叉編譯器為arm-linux-gnueabi-gcc,具體安裝步驟如下:(1) 解壓交叉編譯工具:運行命令tar xjvfgcc-4.4.4-glibc-2.11.1-multilib-1.0.tar.bz2(2) 在完成解壓后,如果不指定交叉編譯器的完整路徑,系統(tǒng)無法調(diào)用交叉編譯器,如果不清楚交叉編譯器安裝的目錄,可以看rm-linux-gnueabi-*這些文件到底在哪個目錄。具體全路徑引用的方法為:CC=/opt/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-linux-gnueabi/arm-linux-gnueabi-m
15、ake cross_COMPILE=$CC ARCH=arm uimage2.2.2 安裝SSH服務(wù)器 Ssh是Secure shell的縮寫,是建立在應用層和傳輸層的安全協(xié)議,能夠有效防止遠程管理過程中的信息泄露問題,可以遠程進行文件傳輸,本實驗使用的是windows系統(tǒng)上安裝的Ubuntu的虛擬機,這時就可以將其視為遠程系統(tǒng)。(1) 在虛擬機上安裝ssh服務(wù)器,具體的方法是在Linux主機輸入下面命令:Sudo apt-get install openssh-server (2)測試ssh服務(wù)器,在虛擬機里,VMware虛擬網(wǎng)卡設(shè)置NAT模式的話,Linux系統(tǒng)網(wǎng)卡設(shè)置為動態(tài)IP即可;如果
16、虛擬網(wǎng)卡設(shè)置為橋接模式,則需要為Linux設(shè)置一個與windows系統(tǒng)同一個網(wǎng)段的靜態(tài)IP地址。 也可以在終端使用ifconfig命令進行設(shè)置: sudo ifconfig eth0 IP地址,只有知道了Linux主機的IP地址后才能進行ssh連接,如果不能確定IP地址,可以打開終端,用ifconfig命令進行查看和確認。(3) 在Windows系統(tǒng)下下載并安裝一個ssh secure file transfer client軟件,這時就實現(xiàn)了Windows和虛擬機的Ubuntu進行文件傳輸。3 Linux 內(nèi)核3.1 Linux系統(tǒng)簡介Linux是最受歡迎的自由電腦操作系統(tǒng)內(nèi)核。它是一個用C
17、語言寫成,符合POSIX標準的類Unix操作系統(tǒng)。Linux最早是由芬蘭黑客LinusTorvalds為嘗試在英特爾x86架構(gòu)上提供自由免費的類Unix操作系統(tǒng)而開發(fā)的。該計劃開始于1991年,在計劃的早期有一些Minix黑客提供了協(xié)助,而今天全球無數(shù)程序員正在為該計劃無償提供幫助。技術(shù)上說Linux是一個內(nèi)核?!皟?nèi)核”指的是一個提供硬件抽象層、磁盤及文件系統(tǒng)控制、多任務(wù)等功能的系統(tǒng)軟件。一個內(nèi)核不是一套完整的操作系統(tǒng)。一套基于Linux內(nèi)核的完整操作系統(tǒng)叫作Linux操作系統(tǒng),或是GNU/Linux。圖3.1 Linux系統(tǒng)架構(gòu)由上圖可知Linux系統(tǒng)構(gòu)架是由用戶空間和內(nèi)核空間兩部分組成,之
18、所以分為兩部分主要是為了實現(xiàn)系統(tǒng)穩(wěn)定性。內(nèi)核空間和用戶空間是程序執(zhí)行的兩種不同狀態(tài),通過系統(tǒng)調(diào)用和硬件中斷能夠?qū)崿F(xiàn)從用戶空間到內(nèi)核空間的轉(zhuǎn)移。Linux內(nèi)核的主要模塊(或組件)分以下幾個部分:存儲管理、CPU和進程管理、虛擬文件系統(tǒng)、設(shè)備管理和驅(qū)動、網(wǎng)絡(luò)通信,以及系統(tǒng)的初始化(引導)、系統(tǒng)調(diào)用等。具體如圖3.2所示:圖3.2 Linux內(nèi)核架構(gòu)l 系統(tǒng)調(diào)用接口:SCI層為用戶提供了一套標準的系統(tǒng)調(diào)用函數(shù)來訪問Linux內(nèi)核,搭起了用戶空間到內(nèi)核空間的橋梁。l 進程管理:主要是實現(xiàn)了進程的創(chuàng)建,進程的停止,并控制進程間的相互通信,進程管理還包括進程如何共享CPU,即進程的調(diào)度。ll 內(nèi)存管理:主
19、要是實現(xiàn)多個進程安全有序地共享內(nèi)存。ll 網(wǎng)絡(luò)協(xié)議棧:主要為Linux系統(tǒng)提供了豐富的網(wǎng)絡(luò)協(xié)議。l 虛擬文件系統(tǒng):VFS隱藏了各種文件系統(tǒng)的細節(jié),為文件操作提供統(tǒng)一的接口,如圖3.3所示。l 設(shè)備驅(qū)動:Linux內(nèi)核中很多代碼都在設(shè)備驅(qū)動中,它們控制特定的硬件設(shè)備。圖3.3 虛擬文件系統(tǒng)提供同一文件接口3.2 Linux-2.6.29內(nèi)核移植到Esayarm-i.max283A(1)首先到下載一套沒有經(jīng)過移植的linux-2.6.29源代碼,并解壓到相關(guān)目錄下,進入目錄linux-2.6.29;(2)對內(nèi)核根目錄下的Makefile文件進行相應修改,修改CPU類型為
20、arm,編譯工具改為arm-linux-,ARCH?=arm,CROSS_COMPILE?=arm-linux-;(3)修改時鐘頻率:#viarch/arm/mach-s3c2440/mach-smdk2440.cs3c24xx_init_clocks();(4)修改對Nand的分區(qū)信息。要讓內(nèi)核知道NandFlash的分區(qū)信息,設(shè)置成跟bootloader一致;(5)添加DM9000網(wǎng)卡驅(qū)動和其他設(shè)備驅(qū)動;(6)用MCIMX28x的默認配置文件來進行基礎(chǔ)配置然后使用makemenuconfig來詳細配置;(7)編譯內(nèi)核。4 電子相框的功能模塊以及程序框架 程序由輸入和界面顯示兩大程序塊構(gòu)成,
21、輸入進程在程序運行時讀取觸摸屏的數(shù)據(jù),主控線程將得到的事件通過socket發(fā)出處理器進行處理。顯示進程主要包括 :放大線程、縮小線程、上一幅圖片線程、下一幅圖片線程、當前圖片線程、主控線程。4.1輸入程序框架解析輸入的功能大體可分為模式輸入和圖片操作輸入,然后輸入進程得到觸摸屏數(shù)據(jù),用socket讀取內(nèi)存的DMA進行通訊。模式輸入程序是要實現(xiàn)電子相框的智能化,以及能對電子相框系統(tǒng)中圖片進行管理,這是需要對系統(tǒng)中的頭文件以及系統(tǒng)模式的選擇進行操作,簡單來說,就是要把用戶輸入信息告訴系統(tǒng),模式輸入模塊程序定義了這個功能。模式輸入模塊程序之間的調(diào)用關(guān)系如圖4.1所示。 圖4.1輸入模式程序框架圖4.
22、2顯示界面的功能總框架 本文未使用QT圖形用戶界面應用程序開發(fā)框架,而是直接使用C語言編寫出界面程序。界面功能總框架如圖4.2所示。 圖4.2 功能總框架界面功能說明:(1) 主界面:在程序的一開始LCD顯示界面上,有三種模式給用戶選擇,分別是瀏覽模式,連播模式,設(shè)置模式。根據(jù)操作者點擊的模式圖標將會進入對應的模式。(2) 文件瀏覽模式界面:若點擊瀏覽模式,則進入文件瀏覽界面,可以看到開發(fā)板搭載的根文件系統(tǒng)搭載全部目錄,以及系統(tǒng)中的圖片,在文件瀏覽模式中,可以選擇的操作方式有:向上,選擇,上一頁,下一頁。(3) 圖片瀏覽模式界面:點擊圖片就可以進入圖片瀏覽模式,在該模式中可以選擇的操作有:返回
23、,放大,縮小,上一頁,下一頁,連播模式。(4) 設(shè)置模式界面,點擊設(shè)置圖標,就可以進入設(shè)置模式,設(shè)置模式主要的功能是選擇某個目錄,以及該目錄中所有支持的格式的圖片。(5) 設(shè)置間隔時間:進入模式后,可以通過點擊上下箭頭進行設(shè)置連播圖片顯示的時間間隔,即每秒顯示下一張圖片。4.3電子相框的主流程圖 當程序啟動后,輸入進程會調(diào)用觸摸屏驅(qū)動tslib來操作和讀取觸摸屏,輸入進程會將數(shù)據(jù)送至顯示進程進行顯示,顯示分為圖片顯示和文字顯示,圖片顯示調(diào)用libjpeg庫,而文字顯示則會調(diào)用freetype庫,它們調(diào)用的則由render.c渲染程序?qū)崿F(xiàn)。具體的實現(xiàn)的主流程如圖4.3所示: 圖4.3電子相框主流
24、程主流程解析:(1) 初始化調(diào)試通道:本設(shè)計可以通過RS232標準串口連接到Windows系統(tǒng)下的超級終端TERA TERM PRO打印初始化信息。(2) 分配5塊物理內(nèi)存:為了更好的用戶體驗,就應該加快操作的反應速度,所以本設(shè)計事先在內(nèi)存中準備好了下一步要執(zhí)行的數(shù)據(jù),這5塊內(nèi)存分別存儲的數(shù)據(jù)為:放大圖片、縮小圖片、下一幅圖片、上一幅圖片、當前圖片。這5塊內(nèi)存通過DMA與LCD的顯存進行快速傳輸數(shù)據(jù)。所以分配這5塊內(nèi)存是本設(shè)計的有點所在。(3) 輸入設(shè)備:本課程設(shè)計的輸入設(shè)備為電阻觸摸屏,輸入進程通過調(diào)用tslib驅(qū)動來讀取觸摸屏數(shù)據(jù)。(4) 文字字符庫:界面文字的顯示通過render.c渲染
25、程序調(diào)用freetype庫來實現(xiàn),freetype庫是一個完全免費開源可移植的字體引擎。(5) 圖片渲染模塊:界面采用的顯示格式是BMP,本設(shè)計瀏覽的圖片則只支持JPEG格式,JPEG是一種壓縮圖片的格式,顯示進程通過調(diào)用libjpeg來實現(xiàn)圖片的顯示。(6) 主界面:在minicom上運行本設(shè)計的最終的可執(zhí)行程序,運行后會出現(xiàn)主界面,主界面提供三種模式,分別是:瀏覽模式、連播模式、設(shè)置模式。根據(jù)用戶的操作,會分別進入對應的模式。(7) 顯示設(shè)備:本課程設(shè)計是周立功開發(fā)板自帶的4.3寸LCD顯示屏。4.4程序模塊介紹 本設(shè)計采用模塊化的思想,將程序分割成不同的功能模塊,便于程序的編寫,這也是現(xiàn)
26、在最普遍的變成思想,稱為面向?qū)ο蟮木幊趟枷?。本設(shè)計大體分為的程序塊為:頁面規(guī)劃模塊、調(diào)試模塊、圖片渲染模塊、字符解碼模塊、輸入模式模塊、顯示模塊。4.4.1頁面規(guī)劃模塊該模塊是由page_manager.c分別調(diào)用各子程序模塊,程序運行后,由page_manager.c調(diào)用main_page.c進行主界面的顯示,主界面分別有瀏覽模式、連播模式、設(shè)置模式這三種模式,操作者點擊不同的模式,會調(diào)用這個目錄下不同的子程序,調(diào)用的關(guān)系如圖4.4.1所示。 圖4.4.1 頁面規(guī)劃模塊程序4.4.2調(diào)試模塊在執(zhí)行程序時,需要用到超級終端TERA TERM PRO進行操作目標板,在對程序進行調(diào)試,該minic
27、om超級終端會輸出預先設(shè)置好的字符。改目錄下程序模塊之間的調(diào)用關(guān)系如圖4.4.2所示。 圖4.4.2 調(diào)試模塊程序4.4.3圖片渲染解析模塊 圖片渲染模塊的功能是對圖片格式的解析和對圖片大小的草做,圖片格式分為bmp和JPEG,bmp是頁面的格式,jpeg則為瀏覽的圖片支持的格式,這兩種格式的選擇則由picfrm_manager.c完成,圖片的大小則由operation.c來完成。具體的圖片渲染解析模塊則如圖4.4.3所示: 圖4.4.3圖片渲染解析模塊程序4.4.4字符解碼模塊 字符編碼的規(guī)則是:英文字符用ascaii碼表示,中文簡體用gbk表示,中文繁體用big5表示,全世界的字符復雜多樣
28、,為了統(tǒng)一又出現(xiàn)了Unicode碼,但由于Unicode用3個字節(jié)表示每一個字符,這樣造成了資源的浪費,比如英文字符用一個字符即可以表示,所以又出現(xiàn)了UTF-8、UTF-16LE、UTF-16BE等表示方法既克服了資源浪費的問題又具有唯一性的保障。本程序的之間的調(diào)用關(guān)系如圖4.4.4所示: 圖4.4.4 字符解碼模塊4.4.5顯示模塊 顯示線程從內(nèi)存中讀取送至LCD的顯存中,輸入線程將數(shù)據(jù)實時更新至內(nèi)存中。其顯示模塊目錄中的各個程序調(diào)用關(guān)系如圖4.4.5所示: 5電子相框的相關(guān)驅(qū)動移植 本設(shè)計用到的主要驅(qū)動有:LCD顯示驅(qū)動以及觸摸屏驅(qū)動,下面詳細的解釋相關(guān)如何進行配置。5.1 關(guān)于LCD驅(qū)動
29、的配置(1) 關(guān)于LCD的配置文件:在該開發(fā)板提供的LCD配置文件里的添加如下內(nèi)容:(A) 配置好LCD控制寄存器 (B) 配置LCD類型為TFT(C) 設(shè)置LCD的寬度和長度(D) 配置好LCD的分辨率以及bpp參數(shù)(2) 初始化函數(shù)中添加LCD初始化功能: Static void_init smdk2410_init(void) MCIMX28x_fb_set_platdata(&smdk2410_fb_info); (3)配置內(nèi)核菜單,是的內(nèi)核支持frame buffer在make menuconfig中選擇:support for frame buffer devices (4)編譯5.2 關(guān)于觸摸屏驅(qū)動的配置對于觸摸屏驅(qū)動的設(shè)計,本文采用的是基于Linux本身自帶的輸入子系統(tǒng)方式設(shè)計的,由于設(shè)計的代碼比較繁雜,所以本文列出其主要的設(shè)計方法,主要的設(shè)計方法如下:(1) 設(shè)置輸入結(jié)果input_dev: (A)通過設(shè)置struct input_dev的evdev數(shù)組表示能產(chǎn)生key和ABS類事件。(B)設(shè)置產(chǎn)生key和ABS類事件里面的觸摸按鍵事件,X/Y絕對位移,絕對位移壓力事件。(2) 硬件操作:(A) ioremap寄存器(B) 設(shè)置AD分頻系數(shù)和ADCDLY(C) 注冊INT_TS和AD中斷6電子相框的效果演示及
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 圍棋活動策劃預算方案(3篇)
- 社區(qū)教育活動方案策劃(3篇)
- 洗浴湯泉施工方案(3篇)
- 影城活動布置方案策劃(3篇)
- 光模塊施工方案(3篇)
- 活動策劃方案班級疫情(3篇)
- 一線工作法建立調(diào)研工作制度
- 2025年高職(建筑工程技術(shù))建筑施工技術(shù)試題
- 2025年大學生態(tài)學(系統(tǒng)實操技術(shù))試題及答案
- 2025年大學人工智能(機器學習基礎(chǔ))試題及答案
- 2026年馬年德育實踐作業(yè)(圖文版)
- 醫(yī)院實習生安全培訓課課件
- 四川省成都市武侯區(qū)西川中學2024-2025學年八上期末數(shù)學試卷(解析版)
- 2026年《必背60題》抖音本地生活BD經(jīng)理高頻面試題包含詳細解答
- 2024人教版七年級數(shù)學上冊全冊教案
- GB/T 20033.3-2006人工材料體育場地使用要求及檢驗方法第3部分:足球場地人造草面層
- GB/T 18997.2-2020鋁塑復合壓力管第2部分:鋁管對接焊式鋁塑管
- GB/T 10067.47-2014電熱裝置基本技術(shù)條件第47部分:真空熱處理和釬焊爐
- 狀語從句精講課件
- JJG544-2011《壓力控制器檢定規(guī)程》規(guī)程試題試題
- 施工現(xiàn)場車輛進出沖洗記錄
評論
0/150
提交評論