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

正文內(nèi)容

畢業(yè)設(shè)計論文-基于arm的圖像采集無線傳輸系統(tǒng)的設(shè)計(修改稿(參考版)

2024-11-14 10:06本頁面
  

【正文】 pthreades mutex 一 unlock (amp。 headerframeformat=mydev 一 formatIn。 headerframeh=mydev 一 hdrheight。武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 32 headerframedeltatimes=(int)(headerframeseqtimestimecourant)。 snprintf(headerframeheader,5,%s,SPCA)。 jpegsize= convertframe(mydev 一 ptframe[mydev一 frame_ cour]+ sizeof(struct frame t), mydev 一 pFramebuffer+ mydev[mydev 一 ], mydev 一 hdrwidth mydevhdrheight, mydevformatIn, mydevframesizeIn)。 } pthread_mutex_lock (amp。mydev 一 vmmap. frame)0) /*判斷當(dāng)前幀是否截取完畢 */ perror (cvsync err}n)。 mydev 一 =mydev 一 formatIn。 int mygrab(struct my dev *mydev) { ...... mydev=mydev 一 hdrheight。wl, NULL, (void *)mygrab, NULL)。 } (2)創(chuàng)建采集圖像線程。 //8位深度 my dev 一 grabMethod=grabmethod。 my dev 一 formatIn=format。 my dev 一 hdrwidth=width。 memset(my dev一 bridge, 0, sizeof(my dev一 bridge))。 snprintf (my 一 ev 一 videodevice, 12, %s, device)。 my dev 一 videodevice=(char*)realloc (my dev一 videodevice, 16)。 my devcameraname=NULL。下面給出部分模塊的實現(xiàn)代碼 : ( 1) 攝像頭初始化 int init dev(struct my dev *mydev,char *device,int width,int height,int format,intgrabmethod)。//互斥信號量 volatile int frame cour。//mmap 的返回值,即圖像數(shù)據(jù)在內(nèi)存的起始地址武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 30 unsigned char *ptframe[4]。//設(shè)備采集的圖像的各種屬性 int grabMethod 。 //攝像頭的基本信息 struct video mbuf videombuf。//設(shè)備指針 struct video mmap vmmap。在程序中,利用 video4linux 提供的數(shù)據(jù)結(jié)構(gòu)編寫了一個存儲攝像頭設(shè)備的數(shù)據(jù)結(jié)構(gòu) my dint fdev,該結(jié)構(gòu)的主要成員如下 Int fd 。圖像采集程序的流程如圖 42所示武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 29 在 Eclipse 中首先新建一個工程 Acqpict。由 可以知道,在 中已經(jīng)包含了 針對中星微系列的 USB 接口攝像頭的驅(qū)動,因此只需要在移植內(nèi)核時將 USB 驅(qū)動靜態(tài)編譯進(jìn)內(nèi)核即可,而不需要自己實現(xiàn) USB 接口攝像頭的驅(qū)動,這樣就大大減少了工作量。本系統(tǒng)采用內(nèi)存映射方式。而采用內(nèi)存映射方式時,首先通過 ioctl()函數(shù)獲取攝像頭緩存區(qū)中圖像的幀信息,然后通過 ~ap()函數(shù)將攝像頭文件映射到系統(tǒng)內(nèi)存,這樣就可以直接從系統(tǒng)內(nèi)存中獲取圖像數(shù)據(jù)了。 第二種方式是內(nèi)存映射方式,可以通過 ~ap()函 數(shù)實現(xiàn)。 在 Eclipse 平臺下實現(xiàn)圖像采集及處理程序 在 Linux 系統(tǒng)中,采用設(shè)備文件統(tǒng)一管理硬件設(shè)備,從而將硬件設(shè)備的特性及細(xì)節(jié)對用戶因此起來,使用戶可以像訪問一般文件一樣訪問設(shè)備文件,可以通過 open( ), write( ), ioctl()等操作對目標(biāo)設(shè)備進(jìn)行操作。一幅占用 4MB存儲空間的 24 位 BMP 位圖圖 像文件,采用 JPEG 壓縮編碼后,所占用的存儲空間大小約 SOKB,而且圖像的質(zhì)量人眼并不能感覺到明顯的區(qū)別。 JPEGOoint photographic experts group)是一個由 ISO 和 IEC 兩個組織機(jī)構(gòu)聯(lián)合組成的一個專家組,負(fù)責(zé)制定靜態(tài)數(shù)字圖像壓縮編碼標(biāo)準(zhǔn),由其開發(fā)的壓縮算法稱為 JPEG 算法,目前已經(jīng)成為國際上通用的標(biāo)準(zhǔn),因此又稱為 JPEG 標(biāo)準(zhǔn)。與視頻捕獲相關(guān)的設(shè)備文件為 :/dev/video。 圖像采集程序的實現(xiàn) Video4linux 簡介 Video4linux(簡稱 V4L)是 Linux 中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動,它為視武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 27 頻設(shè)備的應(yīng)用程序編程提供了一系列接口函數(shù),這些設(shè)備包括目前市場上常見的電視采集卡、視頻捕捉卡和 USB 接口的攝像頭等。通過 YAFFS2目錄下的腳本文件 來給內(nèi)核打補(bǔ)丁的方式將 YAFFS2 代碼加入到內(nèi)核中,如下所示 : 腳本文件 :usage: ./ c/1 kernelpath if c/1 is c,then copy. if 1 then link 添加代碼命令 : $cd /Development 行 affs2 $./ c / (2)重新配置、編譯內(nèi)核。首先下載 YAFFS 文件系統(tǒng)的源代碼,網(wǎng)址 : .,解壓后即可得到Development 目錄,里面有兩個子目錄 :YAFFS 和 YAFFS2o YAFFS2 移植的主要工作如下 。 YAFFS 采用一種多策略混合的垃圾回收算法,結(jié)合了談心策略的高效性和隨機(jī)選擇的平均性,達(dá)到了兼顧損耗平均和系統(tǒng)開銷的目的。 武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 26 移植 YAFFS2 文件系統(tǒng) YAFFS(yet another flash file system)專門為 NAND Flash 設(shè)計的嵌入式文件系統(tǒng),適用于大容量的存儲設(shè)備。其提供了基本的I/O 操作接口函數(shù) open, close, read, write 的實現(xiàn)、對終端的處理實現(xiàn)、內(nèi)存映射功能以及對 I/O 通道的控制接口函數(shù)等另外還有與 LCD, UART 接口設(shè)備等項。 選擇 USB Multimedia devices 一 USB SPCASXX Sunplus Vimicro SonixCameras。這幾項為 USB 控制器提供支持。此項為 Video4Linux 編程接口函數(shù)提供支持。選定系統(tǒng)所用 CPU類型。 在修改內(nèi)核的配置文件后,就可以直接使用“ makemenuconfig”命令來配置內(nèi)核了。修改后的 smdk_ default nand_part 結(jié)構(gòu)如下 : static struct mtdpartition smdk default nandpart[]={ [0]={ .name=kernel .size=SIZE 2M .offset=0,武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 25 } [1]={ .name=nYa}S .offset=MTDPART OFS APPEND .size=MTDPART SIZ FULL } } MTDPART OFS APPEND 表示當(dāng)前分區(qū)緊接著上一個分區(qū), MTDPART SIZ FULL 表示當(dāng)前分區(qū)的大小為剩余的 Flash 空間。本系統(tǒng)中對 NANDFlash 的戈 d分為 :前 2MB用于存放 Linux 內(nèi)核,剩下的空間用來存放、 39。屏蔽了底層硬件的操作、各類存儲設(shè)備的差異。 (3)修改 MTD分區(qū)。 將 :s3c24xx 一 nit clocks(16934400)。在本系統(tǒng)移植過程中對內(nèi)核代碼的修改主要是修改系統(tǒng)晶振頻率,使之與本系統(tǒng)所使用的晶振頻率相符。測試通過后,即可向下進(jìn)行移植工作了。如下所示 : 將 185 ARCH ?=$(SUBARCH) //185 為代碼行號,下同 186 CROSS_ COMPILE ? =武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 24 修改為 :185 ARCH ?=arm 186 CROSS COMPILE ?=armlinux 然后執(zhí)行 make 命令配置內(nèi)核 : make smdk2410_ defconfig //smdk2410_ defconfig 位于 arch/arm/configs/目錄下。解壓后即可得到 Linux內(nèi)核源碼,執(zhí)行如下命令即可 : $ tar xjf //執(zhí)行完畢后即可得 到文件夾 0 對于 ARM 架構(gòu)的嵌入式微處理器,與其體系相關(guān)的代碼在 Linux 內(nèi)核源碼包的子目錄 arch/arm/目錄下, Linux 內(nèi)核的移植工作主要就是修改這個目錄下的文件。 武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 23 在分析 Linux 在 ARM 架構(gòu)處理器上的啟動過程后,下面來給出 Linux 內(nèi)核在本系統(tǒng)使用的 S3C2440 上實現(xiàn)移植的過程。 (2)調(diào)用 C 函數(shù) start kernel 之前的常規(guī)工作,包括復(fù)制數(shù)據(jù)段、清楚數(shù)據(jù)段、清楚 BSS 段、調(diào)用 start kernel 函數(shù)。在檢查通過后,為調(diào)用下一階段的 start kernel函數(shù)做準(zhǔn)備。不同架構(gòu)上 Linux 的啟動過程稍有不同,在 ARM 架構(gòu)處理器上的啟動過程如圖 41 所示。目前市場上主流的 Linux 內(nèi)核逐步轉(zhuǎn)向 版本,因此本系統(tǒng)選用的 Linux 內(nèi)核版本是 。第二階段則是通常采用 C 語言 來實現(xiàn),這樣可以實現(xiàn)更加復(fù)雜的功能,而且代碼具有更好的可讀性和可移植性 [26]。常見的 Bootloader 的基本上都是兩階段的啟動過程。 Bootloader的啟動過程可以分為單階段 (Singe stage)、多階段 (Multistage)兩種。目前比較成熟的 bootloader:除此之外還具有網(wǎng)絡(luò)功能、從 PC上通過串口或網(wǎng)絡(luò)下載下武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 21 載文件、燒寫文件、將 Flash 上壓縮的文件解壓后再運(yùn)行等功能?;?Eclipse的集成開發(fā)環(huán)境具有良好的可升級性,與 Eclipse 的擴(kuò)展性類似,對需要升級的插件升級時,只需要在 Eclipse 的插件目錄中加入插件的新版本,重新啟動Eclipse 就完成了對插件的升級 。插件是一個結(jié)構(gòu)化組件,同時也是系統(tǒng)運(yùn)行時最小的一個管理單元,擁有完整的生命周期,它負(fù)責(zé)擴(kuò)展點(diǎn)的定義并貢 獻(xiàn)擴(kuò)展。 Eclipse 是一個開放源代碼的,基于插件(plugin)的擴(kuò)展性框架的最大的特點(diǎn)就是可擴(kuò)展性。許多軟件開發(fā)商也以 Eclipse 為框架推出了自己的集成開發(fā)環(huán)境。但是眾多插件的支持使得 Eclipse同樣可以用來開發(fā)其他的語言,如 c/c++, c, pert, cobol 的等等。 2020 年 7月, Eclipse 穩(wěn)定版 發(fā)布。 武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 20 第 4 章 基于 Eclipse 的軟件系統(tǒng)設(shè)計 構(gòu)建基于 Eclipse 的嵌入式軟件集成開發(fā)環(huán)境 Eclipse 是著名的跨平臺的集成開發(fā)環(huán)境 ((IDE),最初是由 IBM 公司開發(fā)替代商業(yè)軟件 Visual Age For Java的下一代開發(fā)環(huán)境。另外, TSXM, TSXP, TSYM, TSYP 為觸摸屏 控制信號。系統(tǒng) LCD接口如圖 310所示。其中 LPC3600 專用于 SEC TFT LCD。VIDPRCS 將 LCDCDMA 中的數(shù)據(jù)組合成特點(diǎn)的格式,比如 4位單掃描等,然后從武漢工程大學(xué)畢業(yè)設(shè)計 ( 論文 )說明書 20 VD[0:23)發(fā)送給 LCD 屏。 S3C2440 LCD 控制器的內(nèi) 部結(jié)構(gòu)如圖 REGBANK 是 LCD 控制器的寄存器組,含 17 個寄存器及一塊 256 X 16 的調(diào)色板內(nèi)存,用來設(shè)置各項參數(shù)。支持分辨率為 640480, 320240, 160160 以及其他規(guī)格的多種 LCD、虛擬屏幕最大可達(dá) 4MB:對于 256 色,分辨率有 4096 1024, 20482048, 10244096等多種。支持單色 (1BPP), 4級灰度 (2BPP)和 16級灰度 (4BPP)屏 。 ( 2) STN ( Super Twisted Nematic 超扭曲相列 )LCD。虛擬屏幕最大可達(dá) 4MB。支持64K (16BPP)和 16M (24BPP)色非調(diào)色板顯示模式 。 S3C2440 支持兩種 LCD:TFT LCD和 STN LCD,它們的特性如下 (BPP 表示 bit per pixel,即每個色素使用多少位來表示其顏色 )。這里我們采用MAX3232 來實現(xiàn)。本系統(tǒng)中 DART接口的主要用途是連接 GPRS 模塊 Q2406B。如果外部設(shè)備提供 UEXTCLK給 UART,則 DA
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1