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

正文內(nèi)容

畢業(yè)設(shè)計論文---基于嵌入式系統(tǒng)的圖像采集系統(tǒng)(文件)

2024-12-27 17:55 上一頁面

下一頁面
 

【正文】 集程序 ................................................................... 33 Linux 網(wǎng)絡(luò)編程 .............................................................................................. 38 linux 套接字編程 API..................................................................... 38 linux 多線程 API 和線程間的通信方式 ........................................ 44 服務(wù)器端程序 .............................................................................................. 46 6 圖像采集系統(tǒng)的客戶端程序 ................................................................................. 48 SDL 庫 ......................................................................................................... 48 客戶端程序 ................................................................................................ 50 結(jié) 論 ....................................................................................................................... 53 致 謝 ....................................................................................................................... 54 參考文獻 ..................................................................................................................... 55 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計 1 引 言 研究背景與意義 近年來,隨著通信 、計算機技術(shù) 的飛速發(fā)展, 尤其 是 移動 互聯(lián)網(wǎng)的 發(fā)展 和 消費電子 產(chǎn)品 尤其是智能手機、 pad 上網(wǎng)本等設(shè)備的大眾化 , 電子產(chǎn)品的 微型化和專業(yè)化成為 潮流 ,嵌入式產(chǎn)品 日漸 成為 IT 產(chǎn)業(yè)的 中流砥柱 。 嵌入式 Linux 開發(fā)的主要部分是驅(qū)動開發(fā),即對新的硬件芯片進行內(nèi)核的支持,是當前的嵌入式的熱門。 [2] 2 、 本畢業(yè)設(shè)計論文 的主要工作 論文主要解決的問題是在 飛凌 公司的 FL2440 開發(fā)平臺 上,通過 移植 內(nèi)核和 usb 網(wǎng)絡(luò)攝像頭的驅(qū)動,并編寫通信的服務(wù)器端程序和客戶端程序,從而實現(xiàn)圖像的采集,編碼,傳輸和保存,最終初 步實現(xiàn)一個視頻監(jiān)控系統(tǒng)。 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計 2 1 概述 課題任務(wù)與目的 課題任務(wù) 圖像采集系統(tǒng)作為一種比較通用的圖像采集裝置,在各個行業(yè)有著廣泛應(yīng)用,本題目設(shè)計以嵌入式系統(tǒng)為核心的圖像采集系統(tǒng),具有一定的通用性。 4. 部分實驗及調(diào)試。 它一般由 嵌入式操作系統(tǒng)、外圍硬件設(shè)備、嵌入式微處理器 以及應(yīng)用程序等部分組成,用于實現(xiàn) 特定的功能。近年來,隨著網(wǎng)絡(luò) 通信 以及圖像處理 技術(shù)的 飛速發(fā)展 , 視頻監(jiān)測技術(shù)也有了長足的進步。本畢業(yè)設(shè)計主要是針對病人監(jiān)測而提出的初步解決方案。 系統(tǒng)組成結(jié)構(gòu)如圖 21 所示。 RS232 串口把 宿主機 和開 發(fā)板連接起來 ,主要用作調(diào)試和通信使用 。 FL2440 對 S3C2440A 進行了擴充,其外設(shè)資源 包括 256MB NAND Flash、 64MB SDRAM,串口和 USB 等接口電路 。 ⑶ Usb 攝像頭驅(qū)動和網(wǎng)卡驅(qū)動的移植 將開發(fā)板自帶的有線網(wǎng)卡驅(qū)動源代碼以及在網(wǎng)上將萬能 usb 攝像頭驅(qū)動程序源代碼 gspca webcam drivers 下載下來, gspca webcam drivers 是 linux 下攝像頭支持的最廣泛的一個驅(qū)動 , 這是由一個法國醫(yī)生 (北京聯(lián)合大學(xué) 畢業(yè)設(shè)計 5 動,針對 FL2440 開發(fā)板修改后,把它們放在相應(yīng)的內(nèi)核目錄 下,修改相應(yīng)的 Kconfig,Makefile 和編譯器,內(nèi)核選項等修改后,通過 make menuconfig 命令進入內(nèi)核配置界面,選擇模塊的方式,重新編譯內(nèi)核,最終得到它們相應(yīng)的驅(qū)動 (. ko 文件 )。通過它可以執(zhí)行打開、讀寫及關(guān)閉等操作。 整體 程序分為服務(wù)器端和客戶端。 在客戶端 PC,創(chuàng)建 socket(),使用 connect()函數(shù) 連接服務(wù)器端 。除此之外,硬件資源的局限性會給嵌入式軟件帶來一定的約束,比如內(nèi)存的使用。通過交叉開發(fā)環(huán)境的方式,在宿主機上利用已有的成熟的開發(fā)工具,專門針對目標板定制一套系統(tǒng),包括引導(dǎo)程序,內(nèi)核,文件系統(tǒng),然后下載目標板上測試執(zhí)行,最后利用宿主機上的調(diào)試工具對目標板上運行的程序進行遠程調(diào)試。 GNU 工具鏈 交叉編譯工具鏈 交叉編譯工具鏈是一個由編譯器、鏈接器和解釋器組成的集成開發(fā)環(huán)境。 ⑵ gcc 編譯器 Gcc 是一個跨平臺的編譯器,它是 GNU Compiler Collection 的縮寫,目前被許多unix/linux 系統(tǒng)作為默認的編譯器 。在 linux shell 中對 gcc 提供了強大的命令支持,在實際編程中可以靈活運用。它是一個功能全面,可擴展的 IDE,可以使用 C / C++和其他編程語言的插件,功能非常強 大,可以媲美 VC++ IDE。常用的命令有 ls, cd, rm, cp, mv, du, man, mount 等。 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計 9 系統(tǒng)硬件平臺配置 FL2440 硬件平臺的主要配置介紹: ⑴ S3C2440A 處理器,主頻 400MHz,可倍頻至 533MHz; ⑵ 64M 字節(jié) SDRAM,可擴展到 256M ; ⑶ 4M NOR Flash, 256M 字節(jié) NAND Flash; ⑷ 12MHz 系統(tǒng)外部時鐘源; 的 RTC 時鐘源; ⑸ 支持 或 5V 電壓供電; ⑹ 兩個三線串口,一個 TTL 串口; ⑺ 一個 100M 網(wǎng)口,采用 DM9000AE,帶聯(lián)接和傳輸指示燈; ⑻ 四個 USB HOST 接口;一個 USB Device 接口; ARM9 處理器介紹 本論文從應(yīng)用領(lǐng)域、設(shè)計需求和開發(fā)的難易程度等因素進行考慮,最終選用三星公司的嵌入式微處理器 S3C2440。 采用 RISC 架構(gòu)的 ARM 微處理器一般具有如下特點: ( 1)支持 Thumb (16 位 )/ARM (32 位 )雙指令集,能很好的兼容 8 位 /16 位器件; ( 2)大量使用寄存器,指令執(zhí)行速度更快; ( 3)加載存儲結(jié)構(gòu),數(shù)據(jù)處理的操作只針對寄存器的內(nèi)容,而不直接對存 儲器進行操作; ( 4)簡單的尋址模式,所有加載和存儲的地址都只由寄存器的內(nèi)容和指令域決定,執(zhí)行效率高; 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計 10 ( 5 )統(tǒng)一的和固定的指令域,簡化了指令的譯碼; ( 6 )每一條數(shù)據(jù)指令都對算術(shù)邏輯單元 (A L U) 和移位器進行控制,以實現(xiàn)對 A L U和移位器的最大利用; ( 7 )地址自動增加和自動減少的尋址模式實現(xiàn)了程序循環(huán)的優(yōu)化; ( 8 )多存儲器加載和存儲指令實現(xiàn)了最大數(shù)據(jù)吞吐量; ( 9 )所有指令的條件執(zhí)行實現(xiàn)了最快速的代碼執(zhí)行。其在硬件上還包括 16KB 的指令數(shù)據(jù) C a c he , 16K B 指令數(shù)據(jù) TCM , 通過 AB MA , AHB 和 AP B 組成的內(nèi)部總線和外部模塊相連。 ARM 9 優(yōu)秀的流水線設(shè)計是這些功能的重要保證。 S 3C 2440 內(nèi)部結(jié)構(gòu)復(fù)雜,芯片內(nèi)部集成了以下資源: 1 個 L C D 控制器(支持TF T 24bit 真彩色帶有觸摸屏的液晶顯示屏 ) , S DRAM 控制器, NA ND F lash 控制器,支持 4 通道 UA R T 口, 32 通道 DMA , 4 通道具有 P W M 功能的計數(shù)器和 1 個內(nèi)部時鐘,全功能的 S P I , II C 總線接口(支持 2 個 I 2 C 控制器), II S 數(shù)字音頻總線接口, 3個 P L L ,看門狗計數(shù)器, USB HO S T ( 支持 usb 和 版本 ) , 3 通道 MMC /S D 控制器等。 攝像頭分為數(shù)字攝像頭和模擬攝像頭兩大類。現(xiàn)在市場上的攝像頭主要以數(shù)字攝像頭為主,而數(shù)字攝像頭中又以接口簡單的 USB 數(shù)字攝像頭為主,以下主要介紹 USB 數(shù)字攝像頭。 圖像傳感器( SENSOR)是一種半導(dǎo)體芯片,其表面包含有幾十萬到幾百萬的光電二極管。 CMOS 的優(yōu)點是集成度高、功耗低(不到 CCD 的 1/3)、成本低,但是噪音比較大、靈敏度較低、對光源要求高。 目前主要有國內(nèi)的中星微,臺灣的松翰、凌越 和凌陽這些企業(yè)生產(chǎn)攝像頭的DSP 芯片。這是具有我國自主知識產(chǎn)權(quán)的集成電路芯片第一次在一個重要應(yīng)用領(lǐng)域占到領(lǐng)先地位。第三格式是指廠家用自己的圖像壓縮算法對 RGB 數(shù)據(jù)壓縮后得到的圖片格式。表 21 列出了一些主要芯片的圖像格式。設(shè)備驅(qū)動程序是 作為 內(nèi)核 與 機器硬件之間的接口,而系統(tǒng)調(diào)用 則 是內(nèi)核和應(yīng)用程序的接口。 ⑶ 讀取應(yīng)用程序傳送給設(shè)備文件的數(shù)據(jù)和回送應(yīng)用程序的請求的數(shù)據(jù)。 1. 設(shè)備的分類 Linux 支持三種硬件設(shè)備: 塊設(shè)備、 字符設(shè)備、網(wǎng)絡(luò)設(shè)備。對于用戶來說,塊設(shè)備和字符設(shè)備的訪問接口都是一樣的,都是一組基于文件 的系統(tǒng)的調(diào)用,如 read、 write 等,實際上它們的細節(jié)區(qū)別僅在內(nèi)核和驅(qū)動程序的軟件接口上。 Linux 抽象了對硬件的處理,所有的設(shè)備都看做文件:它們可以使用和操作普通 文件相同的系統(tǒng)調(diào)用接口來完成打開、讀寫 、關(guān)閉和 I/O 控制 等 ,而 驅(qū)動程序的 本質(zhì) 就是 將 這些系統(tǒng)調(diào)用 接口 函數(shù) 具體實現(xiàn) 。 3. 主設(shè)備號和次設(shè)備號 Linux 為每個設(shè)備分配了一個主設(shè)備號和一個次設(shè)備號;主設(shè)備號標識具體設(shè)備的實例。所有已經(jīng) 加載 (即 注冊)的硬件設(shè)備的主設(shè)備號能夠 從 文件系統(tǒng)中 /proc/devices 文件中得到。只是通過 include/linux/ 中的file_operations 數(shù)據(jù)結(jié)構(gòu)來完成的,下面會介紹這個數(shù)據(jù)結(jié)構(gòu)。這部分描述了驅(qū)動程序如何與設(shè)備進行交互。而 關(guān)閉字符 或者塊設(shè)備, 需要通過 使用unregister_chrdev()或 unregister_blkdev()函數(shù) 注銷設(shè)備, 并 同時釋放 分配得到 的主設(shè)備號。 ssize_ t( *read) (struct file *,size_t,loff_t *)。 int( *ioctl) (struct inode *,struct file *,unsigned int,unsigned long)。 int( *release) (struct inode *,struct file *)。 ssize_t( *readv) (struct file *,const struct iovec *,unsigned long,loff_t *)。 int (*check_flags) (int)。 同樣,一般 通過調(diào)用 file_operations 結(jié)構(gòu)中函數(shù) release()來完成 釋放設(shè)備 ,這個方法一般 等同于 close(),作用正好與 open()相反 ,通常需要完成一下工作:使用計數(shù)減一,釋放 fileprivate_data 中分配的內(nèi)存;如果 被釋放 設(shè)備 是最后一個 ,則設(shè)備 關(guān)閉 。 Ioctl()與具體的設(shè)備 對象關(guān)系密切 ,需要結(jié)合具體的設(shè)備 來 分析。如果設(shè)備驅(qū)動程序被連接進入內(nèi)核,輪詢方式會帶來災(zāi)難性的后果: cpu 將無所事事,直到設(shè)備完成此請求。讓硬件在需要的時候 會 向內(nèi)核發(fā)出 中斷請求信號,內(nèi)核負責(zé)把信號 傳遞給 對應(yīng)的設(shè)備驅(qū)動 程序 。 在驅(qū)動初始化 一般 已經(jīng)完成 對中斷資源的請求 。驅(qū)動程序在中斷處理過程中做得越少越好,這樣 linux 內(nèi)核能夠很快 從中斷 狀態(tài) 返回 。為此, 之后引進了新的 內(nèi)核設(shè)備模型。 [10] 設(shè)備模型 設(shè)計的初衷 是為了 節(jié)能,有助于電源管理。 [11] 設(shè)備模型可以初略劃分為兩個層次:其中,總線
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1