<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術 > 設計應用 > 基于嵌入式Linux的視頻采集編碼系統(tǒng)實現(xiàn)二

          基于嵌入式Linux的視頻采集編碼系統(tǒng)實現(xiàn)二

          作者: 時間:2012-09-18 來源:網(wǎng)絡 收藏

          系統(tǒng)通過URB實現(xiàn)USB 傳輸。為提高有效數(shù)據(jù)的傳輸速度可擴大 URB的緩沖來降低每個USB 事務中握手信息所占比例。每次 USB 傳輸都需要在操作系統(tǒng)中進行URB的建立、發(fā)出、回收和數(shù)據(jù)整理等階段。可建立兩個URB,當?shù)却粋€ URB被回收時,也就是圖像正在被傳感器采集時同時處理、初始化另一個 URB,并在回收后立刻將其發(fā)出。兩個URB交替使用,大大提高了系統(tǒng)處理的時間效率。

            在編譯器部分將 下的攝像頭驅動程序中Makefile 文件中相關行修改為CC=/opt/host/armv4l/bin/armv4l-unknown-gcc-linux,修改 Config.in 文件,這樣在配置內核的時候才可以看見驅動程序的名稱。同時對下列與處理器相關的部分進行修改,即可實現(xiàn)對S3C2440 的USB 驅動的移植。

           ?。?)PCI 接口處理

            由于S3C2440 的USB 主機控制器不包含 PCI 接口,因此需要刪除 usb-ochi.c中與PCI接口相關的代碼。

           ?。?)寄存器地址設置

            在usb-ochi.c中,使S3C2440 的USB 主機控制器寄存器的起始地址(0x49000000) 初始化ochi->regs。

            (3)主機控制器中斷設置

            在usb-ochi.c中,使S3C2440 的USB 主機控制器寄存器的中斷向量初始化 ochi->irq 。

           ?。?)根HUB端口數(shù)目設置

            在usb-ochi.c 中,定義根HUB的下行端口數(shù)目為 2(#define MAX_ROOT_PORTS

            2),MAX_ ROOT_PORTS 的默認值為150。

            (5)修改 Makefile和Config.in 文件

            修改完成后執(zhí)行 make命令,即可生成所需要的帶有.o 后綴的驅動文件。

            驅動程序設計完成并編譯成功后,使用動態(tài)加載的方法添加到內核中。首先在宿主機上交叉編譯好驅動模塊,然后通過串口下載到開發(fā)板上,再使用 insmod 命令將驅動掛載,攝像頭驅動便可成功添加,通過 lsmod 命令可以查看當前馭動添加的情況。

            4

            系統(tǒng)軟件基于VFL 開發(fā),基本流程原理如圖3。其中最關鍵的步驟就是視頻數(shù)據(jù)的采集,一般有兩種實現(xiàn)方法,一是直接讀取,二是內存映射的方法。

          基于嵌入式Linux的視頻采集編碼系統(tǒng)實現(xiàn)二

            1) 定義數(shù)據(jù)結構

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          上一頁 1 2 下一頁

          關鍵詞: 嵌入式 Linux 視頻采集 編碼系統(tǒng)

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();