簡易檢索 / 詳目顯示

研究生: 趙偉然
Wei-Jan Chao
論文名稱: 嵌入式Linux為基礎之影像驅動及影像串流
A Video4Linux Driver Based on Embedded Linux Systems
指導教授: 吳晋賢
Chin-Hsien Wu
口試委員: 阮聖彰
Shanq-Jang Ruan
陳維美
Wei-Mei Chen
林昌鴻
Chang Hong Lin
學位類別: 碩士
Master
系所名稱: 電資學院 - 電子工程系
Department of Electronic and Computer Engineering
論文出版年: 2014
畢業學年度: 102
語文別: 中文
論文頁數: 57
中文關鍵詞: 驅動程式移植影像串流Video4Linux嵌入式系統
外文關鍵詞: Driver Porting, Video Streaming, Video4Linux, Embedded Systems
相關次數: 點閱:373下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 近年來嵌入式裝置所發展的速度超乎想像,並且提供愈來愈多樣式的功能及用途,嵌入式裝置開發的時間也隨之愈縮愈短,所以研發的流程也勢必加快,才能符合市場需求。當新的裝置標準出現後,驅動程式的開發及研究就變得更為重要,因此探討及理解Linux核心內的驅動程式是有助於開發應用程式在不同嵌入式裝置上。本論文針對Embedded Linux上影像裝置的驅動程式Video4Linux在 BeagleBoard-xM的硬體架構上。包含開發的完整過程、開發環境之建立、核心配置、驅動程式的移植、交叉編譯環境及伺服端和客戶端應用程式的開發環境等。依照此基礎來建立一個簡單透過網路的影像串流系統,遠端可利用V4L2的控制結構透過網路來控制伺服端影像模組的影像參數。


    The development of embedded devices speeds up in recent years. They provide multiple functions and diverse utility in the technology field. Most of all, the progress of developing embedded devices should be quick for marketing demand. For the above reasons, how to develop the device driver become more and more important when a new device is introduced. Therefore, it is useful to explore the drivers of the Linux kernel for developing applications on various embedded devices. This study is about a Video4Linux device driver based on embedded Linux kernel with a BeagleBoard-xM hardware architecture. The content of the study includes complete development process, building environment, kernel configuration, drivers porting, and cross-compiler. According to the study, it can create a remote control application with V4L2 for video streaming systems.

    論文摘要 i 誌謝 iii 第一章 緒論 1 1.1 研究動機與目的 1 1.2 研究背景 2 1.3 論文架構 3 第二章 嵌入式系統架構 4 2.1 BeagleBoard-xM介紹 4 2.1.1 硬體架構 4 2.1.2 運行之軟體平台 5 2.2 開發工具 6 2.2.1 GCC編譯器 6 2.2.2 工具鏈(ToolChain) 6 2.2.4 Microsoft Visual C++ 7 第三章 Linux驅動程式的架構 8 3.1 Linux驅動程式 8 3.1.1 Linux驅動程式概念 8 3.1.2 Linux 裝置與模組的分類 8 3.1.3 系統呼叫(System Call)與驅動程式的關係 9 3.1.4 裝置檔案(Device File)與驅動程式的關係 11 3.1.5 File_operations 結構 11 3.1.6 Linux 裝置驅動程式(device driver)處理I/O的基本操作 12 3.2 Video4Linux概述 12 3.2.1 Video4Linux驅動程式 13 3.2.2 V4L2的框架(v4l2-framework) 16 3.2.3 V4L2的控制(v4l2-control) 17 3.2.4 視頻緩衝區(Video buffer) 19 3.3 影像擷取流程(V4L2 capture flow) 20 3.4 影像格式 21 第四章 Video4Linux驅動程式移植過程 23 4.1 編譯Linux核心與MT9P031攝影機驅動程式 23 4.2 嵌入式 Linux 下影像之數位訊號的驅動過程 26 4.2.1 I2C指令控制 26 4.3 編譯影像串流之端應用程式 29 4.3.1 編譯伺服端之應用程式 29 4.3.2 編譯客戶端之應用程式 30 第五章 建構影像擷取與影像串流 33 5.1 攝影模組之硬體架構 33 5.2 影像畫面擷取 35 5.2.1 應用程式與驅動程式之對應 35 5.2.2 影像擷取流程與控制流程 37 5.2.3 影像擷取佇列緩衝區數之比較 43 5.3 影像串流及遠端控制 45 5.3.1 影像串流之效能的增進 46 5.4 影像串流效能之比較 49 5.5 成果展示 51 第六章 結論與未來展望 55 參考文獻 56

    [1] Peter Clarke, "Android takes 48% of Q2 smartphone market", EETimes, Aug 2011
    [2] Embedded system BeagleBoard-xM,http://beagleboard.org/
    [3] Digital Media Processor TI DM3730,http://www.ti.com/product/dm3730
    [4] Linux Kernel,https://www.kernel.org/
    [5] Bootloader – uBoot,http://linux-sunxi.org/U-Boot
    [6] 將大偉,”建構嵌入式Linux系統”,美商歐萊裡股份有限公司台灣分公司,2004。
    [7] 鳥哥,”鳥哥的Linux私房菜基礎學習篇第二版”,上奇資訊,2006。
    [8] 林長毅,”Linux驅動程式、第三版”,美商歐萊裡股份有限公司台灣分公司,2006。
    [9] Jollen,Linux 驅動程式觀念解析,Jan 2008
    http://gohiei.blogspot.tw/2008/01/jollenlinux-1.html
    [10] Analog Video and Digital TV sources under Linux,
    http://linuxtv.org/wiki/index.php/Main_Page
    [11] JIA, X. U.; QI, C. H. E. N. Video driver development based on V4L2. Computer Engineering and Design, 2010, 31.16: 3569.
    [12] Video for Linux Two - Driver Writer's Guide,http://www.linuxtv.org/downloads/legacy/video4linux/v4l2dwgNew.html
    [13] Overview of the V4L2 driver framework,https://www.kernel.org/doc/Documentation/video4linux/v4l2-framework.txt
    [14] The V4L2 control API, https://www.kernel.org/doc/Documentation/video4linux/v4l2-controls.txt
    [15] V4L2 videobuf layer, https://www.kernel.org/doc/Documentation/video4linux/videobuf
    [16] FourCC - Video codec and pixel format information. http://www.fourcc.org/
    [17] Camera module Aptina MT9P031,http://www.aptina.com/products/image_sensors/mt9p031i12stc/
    [18] 將大偉,”Linux核心詳解、第三版”,美商歐萊裡股份有限公司台灣分公司,2006。
    [19] Philips’s I2C-bus specification and user manual,2012.
    http://www.nxp.com/acrobat_download/literature/9398/39340011.pdf
    [20] I2C and ISA debugging tools,
    http://www.lm-sensors.org/wiki/i2cToolsDocumentation
    [21] Data Compression Library,zlib version 1.2.8, April 28, 2013.
    [22] ZHANG, Hui, et al. The Video Device Driver Programming and Profiting Based on V4L2 [J]. Computer Knowledge and Technology, 2010, 15: 062.
    [23] ZHANG, Hui, et al. Application and Implementation of Video Capture Caching Mechanism Based on V4L2 [J]. Modern Electronics Technique, 2010, 20: 019.
    [24] HAO, Jun; MENG, Chuan-liang. Design and implement of the ARM11 USB video capture terminal based on V4L2. Journal of Guizhou University (Natural Sciences), 2011, 4: 020.
    [25] ROS, Martin. JIWY with a camera. 2004.
    [26] Data Compression Library,QuickLZ version 1.5, Nov 2011.

    無法下載圖示 全文公開日期 2019/07/30 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)
    全文公開日期 本全文未授權公開 (國家圖書館:臺灣博碩士論文系統)
    QR CODE