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

正文內(nèi)容

基于armlinux的lcd驅(qū)動(dòng)設(shè)計(jì)畢業(yè)設(shè)計(jì)說明書-wenkub

2023-07-08 05:39:11 本頁面
 

【正文】 空間界面的操作都有了一定的理解,對(duì)于以后進(jìn)行相應(yīng)的實(shí)現(xiàn)起到了最為關(guān)鍵的作用。這樣就實(shí)現(xiàn)了對(duì)LCD驅(qū)動(dòng)的設(shè)計(jì)。 基于ARM+Linux的LCD驅(qū)動(dòng)設(shè)計(jì)采用了ARM+Linux的實(shí)現(xiàn)平臺(tái),體現(xiàn)了高端性能上的LCD驅(qū)動(dòng)的實(shí)現(xiàn)。該設(shè)計(jì)可以分為三個(gè)部分,即LCD驅(qū)動(dòng)層實(shí)現(xiàn)、圖片解碼實(shí)現(xiàn)和LCD應(yīng)用程序?qū)崿F(xiàn)。 學(xué)號(hào): 畢業(yè)設(shè)計(jì)說明書 題 目 基于ARM+Linux的LCD驅(qū)動(dòng)設(shè)計(jì)英文并列題目 LCD driver design on ARM + Linux 廣東石油化工學(xué)院本科畢業(yè)設(shè)計(jì)(論文)誠信承諾保證書本人鄭重承諾:《基于ARM+Linux的LCD驅(qū)動(dòng)設(shè)計(jì)》畢業(yè)設(shè)計(jì)(論文)的內(nèi)容真實(shí)、可靠,是本人在 指導(dǎo)教師的指導(dǎo)下,獨(dú)立進(jìn)行研究所完成。其中在LCD驅(qū)動(dòng)層的實(shí)現(xiàn)中,必須對(duì)ARM9 s3c2410的硬件結(jié)構(gòu)進(jìn)行分析,雖然在Linux內(nèi)核中已經(jīng)對(duì)該芯片提供的支持,但要設(shè)置芯片的相應(yīng)輸出引腳為L(zhǎng)CD引腳;其次要對(duì)LCD液晶顯示器進(jìn)行分析,參考該LCD的手冊(cè)進(jìn)行時(shí)序的分析,并進(jìn)行相應(yīng)的硬件編程;最后也是最為重要的就是要了解在Linux內(nèi)核中LCD驅(qū)動(dòng)是如何實(shí)現(xiàn)的,當(dāng)然可以參考內(nèi)核中其他類型LCD的實(shí)現(xiàn),對(duì)在Linux內(nèi)核中是如何進(jìn)行LCD驅(qū)動(dòng)實(shí)現(xiàn)的層次化結(jié)構(gòu)必須要了解清楚。在LCD驅(qū)動(dòng)層的實(shí)現(xiàn)中,本設(shè)計(jì)采用三個(gè)步驟進(jìn)行;步驟一是設(shè)置fb_info結(jié)構(gòu)體,fb_info結(jié)構(gòu)體中的成員元素包含了對(duì)要實(shí)現(xiàn)的LCD的硬件信息和對(duì)LCD操作的函數(shù),所以直接根據(jù)LCD硬件信息進(jìn)行設(shè)置fb_info結(jié)構(gòu)體成員元素,然后實(shí)現(xiàn)對(duì)LCD操作的函數(shù)即可。在圖片解碼實(shí)現(xiàn)中,本設(shè)計(jì)只實(shí)現(xiàn)對(duì)JPG格式圖片的顯示,對(duì)于輸入的JPG格式的圖片,由于對(duì)于JPG格式的圖片的數(shù)據(jù)格式排列不了解,所以首先將通過圖片庫將該格式的圖片轉(zhuǎn)換成PMB格式的圖片,而對(duì)于PMB格式的圖片可以直接知道數(shù)據(jù)格式的排列信息,首先開始的56個(gè)字節(jié)為信息頭和數(shù)據(jù)頭,然后接下來的才是位圖信息,所以就可以直接讀取位圖信息進(jìn)行顯示到LCD上,實(shí)現(xiàn)對(duì)LCD圖片的動(dòng)態(tài)顯示。教研室負(fù)責(zé)人 指導(dǎo)教師 接受設(shè)計(jì)論文任務(wù)開始執(zhí)行日期 年 月 日學(xué)生簽名 摘要摘 要 近年來,隨著計(jì)算機(jī)技術(shù)及集成電路技術(shù)的發(fā)展,嵌入式技術(shù)日漸普及,在通訊、網(wǎng)絡(luò)、工控、醫(yī)療、電子等領(lǐng)域發(fā)揮著越來越重要的作用。而這種處理能力的提高是通過增加時(shí)鐘頻率和減少指令執(zhí)行周期實(shí)現(xiàn)的。 本設(shè)計(jì)的最終目的是在LCD液晶顯示器上動(dòng)態(tài)顯示多張圖片,涉及到了從LCD驅(qū)動(dòng)層到應(yīng)用層的實(shí)現(xiàn),關(guān)鍵技術(shù)為L(zhǎng)CD驅(qū)動(dòng)實(shí)現(xiàn)、圖片解碼、LCD應(yīng)用程序?qū)崿F(xiàn)。正是由于嵌入式Linux 系統(tǒng)具有低成本、多種硬件平臺(tái)支持、優(yōu)異的性能和良好的網(wǎng)絡(luò)支持的優(yōu)點(diǎn),而且液晶顯示器作為輸出設(shè)備具有體積小,耗電省的優(yōu)點(diǎn),讓它們?cè)诟黝悆x器設(shè)備的控制過程中占據(jù)著越來越重要的角色。對(duì)于在Linux內(nèi)核中實(shí)現(xiàn)LCD液晶顯示器的驅(qū)動(dòng),內(nèi)核中本身有相應(yīng)的實(shí)現(xiàn),可以進(jìn)行參考實(shí)現(xiàn),但是本項(xiàng)目實(shí)現(xiàn)中,不采用內(nèi)核中的定義實(shí)現(xiàn)方法,而是采用獨(dú)立對(duì)相關(guān)變量進(jìn)行定義和賦值,最終向Linux內(nèi)核的上層進(jìn)行提交fb_info結(jié)構(gòu)體實(shí)現(xiàn)對(duì)LCD硬件的向上層注冊(cè)。該項(xiàng)目的實(shí)現(xiàn)是在ubuntu ,通過交叉編譯工具鏈armlinuxgcc進(jìn)行編譯內(nèi)核、LCD應(yīng)用程序,通過網(wǎng)絡(luò)的形式將Linux內(nèi)核燒入到norflash中,然后在內(nèi)核啟動(dòng)后通過網(wǎng)絡(luò)進(jìn)行掛載文件系統(tǒng)。 ARM 完整產(chǎn)品線包括微控制器、微處理器、圖形處理器、實(shí)現(xiàn)軟件、單元庫、嵌入式內(nèi)存、高速連接產(chǎn)品、外設(shè)以及開發(fā)工具。為了降低系統(tǒng)總成本和減少外圍器件,這款芯片中還集成了下列部件:16KB指令Cache、16KB數(shù)據(jù)Cache、MMU、外部存儲(chǔ)器控制器、LCD控制器(STN和TFT)、NAND Flash控制器、4個(gè)DMA通道、3個(gè)UART通道、1個(gè)I2C總線控制器、1個(gè)I2S總線控制器,以及4個(gè)PWM定時(shí)器和一個(gè)內(nèi)部定時(shí)器、通用I/O口、實(shí)時(shí)時(shí)鐘、8通道10位ADC和觸摸屏接口、USB主、USB從、SD/MMC卡接口等。 圖11 s3c2410芯片內(nèi)部結(jié)構(gòu) AMBA、AHB、APB 總線特點(diǎn)AHB總線上最多可以有16個(gè)主模塊和任意多個(gè)從模塊,如果主模塊數(shù)目大于16,則需再加一層結(jié)構(gòu)(具體參閱ARM公司推出的Multilayer AHB規(guī)范)。APB主要用于低帶寬的周邊外設(shè)之間的連接,例如UART等,它的總線架構(gòu)不像AHB支持多個(gè)主模塊,在APB里面唯一的主模塊就是APB 橋。 S3C2410處理器存儲(chǔ)器映射 S3C2410的存儲(chǔ)空間映射如圖12所示: S3C2410處理器時(shí)鐘和電源管理(1)時(shí)鐘S3C2410的主時(shí)鐘由外部晶振或者外部時(shí)鐘提供,選擇后可以產(chǎn)生3種時(shí)鐘信號(hào),分別是CPU使用的FCLK、AHB總線使用的HCLK和APB總線使用的FCKL。FCLK由ARM920T核使用,HCLK提供給AHB總線,PCLK提供給了APB總線。Slow模式:采用外部時(shí)鐘生產(chǎn)FCLK的方式,此時(shí)電源的功耗取決于外部時(shí)鐘。 5 第二章 嵌入式Linux簡(jiǎn)介第二章 嵌入式Linux簡(jiǎn)介隨著計(jì)算機(jī)技術(shù)、通信技術(shù)的飛速發(fā)展,特別是互聯(lián)網(wǎng)的迅速普及和3C(Computer、Communication、Consume)合一的加速,微型化和專業(yè)化成為信息產(chǎn)品發(fā)展的新趨勢(shì),嵌入式產(chǎn)品成為信息產(chǎn)業(yè)的主流。經(jīng)過短短的十幾年時(shí)間已經(jīng)發(fā)展成為功能強(qiáng)大、設(shè)計(jì)完善的操作系統(tǒng)之一,不僅可以與各種傳統(tǒng)的商業(yè)操作系統(tǒng)分庭抗?fàn)帲谛屡d的嵌入式操作系統(tǒng)領(lǐng)域內(nèi)也獲得了飛速發(fā)展。嵌入式操作系統(tǒng)作為嵌入式系統(tǒng)的核心部分,與桌面系統(tǒng)由很大不同.受到嵌入式系統(tǒng)資源有限的影響,它要求代碼小,速度快,可靠性高.移植性好。這樣可以低成本地設(shè)計(jì)和開發(fā)出滿足自己需要的嵌入式系統(tǒng)。移植工作主要集中在一些存儲(chǔ)器管理及中斷處理程序上。Linux有裝載和卸載程序的能力.所有應(yīng)用程序以文件的形式被存放在內(nèi)存文件系統(tǒng)中并在必要的時(shí)候被裝載到內(nèi)存中,這樣可以節(jié)省內(nèi)存。無論是RIsc還是CIsc、32位還是“位等各種處理器,Linux都能運(yùn)行,甚至可以在沒有存儲(chǔ)管理單元(MMu)的處理器上運(yùn)行。 構(gòu)建嵌入式Linux由于嵌入式設(shè)備的特殊要求.嵌入式Linux解決方案中的內(nèi)核、環(huán)境、GUI等都與標(biāo)準(zhǔn)bnux有很大不同,其主要原因在于嵌入式系統(tǒng)中資源有限,在設(shè)計(jì)嵌入式系統(tǒng)時(shí)要充分考慮如何在狹小的FIASH、ROM和內(nèi)存中實(shí)現(xiàn)高質(zhì)量的任務(wù)實(shí)時(shí)調(diào)度、網(wǎng)絡(luò)通信等功能。用戶進(jìn)程可直接通過系統(tǒng)調(diào)用或函數(shù)庫來訪問內(nèi)核資源。(2)make clean清除以前構(gòu)核所產(chǎn)生的所有目標(biāo)文件、模塊文件、核心以節(jié)一些臨時(shí)文件等,不產(chǎn)生任何文件。make bzImag:在make的基礎(chǔ)上產(chǎn)生壓縮比例更大的核心映像文件。同時(shí)本設(shè)計(jì)中bootloader最后還會(huì)將Linux內(nèi)核拷貝到0x3000000的地址空間(即SDRAM)去,然后跳到該地址去執(zhí)行,從而實(shí)現(xiàn)了對(duì)Linux系統(tǒng)的啟動(dòng)。在嵌入式Linux里,除了直接修改系統(tǒng)核心的源代碼.把設(shè)備驅(qū)動(dòng)程序加進(jìn)核心里外.還可以把驅(qū)動(dòng)程序作為可加載的模塊,由系統(tǒng)管理員動(dòng)態(tài)的加載它,使之成為核心的一部分。 ③讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序請(qǐng)求的數(shù)據(jù)。當(dāng)然它們之間也并不是嚴(yán)格地加以區(qū)分。塊設(shè)備將信息存儲(chǔ)在固定大小的塊中,每個(gè)塊都有自己的地址。任何網(wǎng)絡(luò)事務(wù)都經(jīng)過一個(gè)網(wǎng)絡(luò)接口形成,即一個(gè)能夠和其他主機(jī)交換數(shù)據(jù)的設(shè)備。Linux 為所有的字符設(shè)備都提供了統(tǒng)一的操作函數(shù)接口。即 Linux 內(nèi)核提供了一個(gè)文件操作層到底層設(shè)備驅(qū)動(dòng)層的接口。每一個(gè)注冊(cè)進(jìn) Linux內(nèi)核的LCD設(shè)備對(duì)應(yīng)一個(gè)fb節(jié)點(diǎn),如/dev/fb0 ,/dev/fb1等。 開發(fā)環(huán)境,在ubuntu下進(jìn)行全部的開發(fā)和環(huán)境搭建開發(fā)。步驟1,啟動(dòng)VMware后,選擇新建Virtual Machine(虛擬機(jī)),設(shè)置操作系統(tǒng)的類型為L(zhǎng)inux,同時(shí)為要在虛擬機(jī)中使用的ubuntu分配一定的磁盤空間。在提示下載安裝包更新第三方軟件時(shí),由于更新比較費(fèi)時(shí),為了更快進(jìn)行安裝,這里建議兩個(gè)復(fù)選框都不要選。使用下面的命令進(jìn)行重啟網(wǎng)絡(luò):$sudo /etc/然后,可以使用ifconfig命令查看配置的網(wǎng)絡(luò)是否生效,同時(shí)可以使用ping命令進(jìn)行與xp進(jìn)行ping,如何可以ping通,則表示設(shè)置成功;否則要仔細(xì)檢查出錯(cuò)的原因,一般較常出錯(cuò)是在虛擬機(jī)中沒有設(shè)置ubuntu的網(wǎng)絡(luò)連接方式為橋接方式。使用下面的步驟將該交叉編譯工具鏈安裝到ubuntu中:(1),(2),: $tar –jxvf (3), cd toolschain/(4),pwd命令獲取交叉工具鏈可執(zhí)行文件存放的絕對(duì)路徑/opt/toolschain/(5),修改環(huán)境變量PATH的值$cd ~$vim .bashrc在最后一行中添加:Export PATH=$PATH:/opt/toolschain/保存退出執(zhí)行命令:$source ~/.bashrc(6),測(cè)試,使用交叉工具鏈編譯c代碼armlinuxgnugcc –o test_arm 用file命令查看編譯后產(chǎn)生的可執(zhí)行文件的類型,可知該可執(zhí)行文件適合于ARM平臺(tái)運(yùn)行:csmcsm:~/tmp$ file test_arm test_arm: ELF 32bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux , not stripped 安裝TFTP和NFS服務(wù)使用uboot引導(dǎo)Linux內(nèi)核啟動(dòng)時(shí),在uboot中可以設(shè)置相關(guān)的參數(shù),使其可以通過網(wǎng)絡(luò),使用TFTP服務(wù)下載Linux內(nèi)核或文件系統(tǒng)到Nandflash中,然后進(jìn)行引導(dǎo)啟動(dòng)。 安裝TFTP服務(wù)(1)、創(chuàng)建TFTP服務(wù)的專用目錄,要通過TFTP傳輸?shù)奈募家旁谶@目錄下,要通過TFTP傳輸該文件時(shí),只要指定文件名即可。 安裝NFS服務(wù)同樣首先的安裝NFS服務(wù)器,通過apt進(jìn)行安裝如下:$ sudo aptget install nfskernelserver nfsmon portmap 配置NFS服務(wù)器;接著執(zhí)行下面的命令時(shí),將會(huì)彈出提示,注意選定“不將portmap綁定在loopback地址”: $ sudo dpkgreconfigure portmap 之后通過查看 /etc/default/portmap, 確保OPTIONS=i 前面的號(hào) 被添加了 建立文件系統(tǒng)存放的目錄,NFS服務(wù)器會(huì)根據(jù)uboot的參數(shù)信息從該目錄中將文件系統(tǒng)掛載到開發(fā)板的flash中。然后開發(fā)板啟動(dòng)時(shí),選擇從Nandflash啟動(dòng),那么uboot所在的地址空間就會(huì)被拷貝到片內(nèi)的ROM中進(jìn)行運(yùn)行,從而引導(dǎo)Linux內(nèi)核的啟動(dòng)。 bootm 30800000 其中,tftp表示通過tftp將內(nèi)核下載到SDRAM中,第一個(gè)30800000表示將內(nèi)核下載到這里,第二個(gè)30800000表示從這里開始運(yùn)行內(nèi)核;也可以不設(shè)置為30800000,也可以為其他,只要在合法的地址范圍(內(nèi)存中)。當(dāng)然可以執(zhí)行命令print進(jìn)行打印輸出設(shè)置的信息。 [*] Module unloading [*] Module versioning support (2) 配置支持的開發(fā)板類型為SMDK2410。最后在內(nèi)核的根目錄下執(zhí)行make uImage,如果編譯成功,將會(huì)在arch/arm/boot/目錄下產(chǎn)生uImage的內(nèi)核映像,將該內(nèi)核映像拷貝到TFTP的專用目錄/tftpboot下,即可。要實(shí)現(xiàn)LCD驅(qū)動(dòng),同樣關(guān)鍵的一點(diǎn)是要了解LCD驅(qū)動(dòng)在內(nèi)核中的實(shí)現(xiàn)方式,LCD驅(qū)動(dòng)層應(yīng)該給上層提供哪些接口,提供哪些操作,怎樣對(duì)上層進(jìn)行設(shè)備的注冊(cè),這些應(yīng)該清楚。S3C2410 LCD控制器的特性如下:(1)STN屏支持3種掃描方式:4bit單掃、4位雙掃和8位單掃支持單色、4級(jí)灰度和16級(jí)灰度屏支持256色和4096色彩色STN屏(CSTN)支持分辯率為640*480、320*2160*160以及其它規(guī)格的多種LCD(2)TFT屏支持單色、4級(jí)灰度、256色的調(diào)色板顯示模式支持64K和16M色非調(diào)色板顯示模式支持分辯率為640*480,320*240及其它多種規(guī)格的LCD對(duì)于控制TFT屏來說,除了要給它送視頻資料(VD[23:0])以外,還有以下一些信號(hào)是必不可少的,分別是:VSYNC(VFRAME) :幀同步信號(hào)HSYNC(VLINE) :行同步信號(hào)VCLK :像數(shù)時(shí)鐘信號(hào)VDEN(VM) :數(shù)據(jù)有效標(biāo)志信號(hào)由于本項(xiàng)目所用的S3C2410上的LCD是TFT屏,并且TFT屏將是今后應(yīng)用的主流,因此接下來,重點(diǎn)圍繞TFT屏的控制來進(jìn)行。而VDEN則用來標(biāo)明視頻資料的有效,VCLK是用來鎖存視頻資料的像數(shù)時(shí)鐘。 LCD控制器主要寄存器介紹(1): LINECNT :當(dāng)前行掃描計(jì)數(shù)器值,標(biāo)明當(dāng)前掃描到了多少行。MMODE :VM信號(hào)的觸發(fā)模式(僅對(duì)STN屏有
點(diǎn)擊復(fù)制文檔內(nèi)容
電大資料相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1