新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于嵌入式Linux與S3C2440雙USB接口的視頻存儲

基于嵌入式Linux與S3C2440雙USB接口的視頻存儲

作者: 時間:2010-09-29 來源:網(wǎng)絡(luò) 收藏

  2.2 采集程序設(shè)計

本文引用地址:http://m.butianyuan.cn/article/151471.htm

  Vide04設(shè)備驅(qū)動程序只提供了在系統(tǒng)層面*問硬件設(shè)備的一系列讀、寫等函數(shù)的,要實(shí)現(xiàn),還需再編寫一個對流采集的應(yīng)用程序,總體上創(chuàng)建兩個進(jìn)程:進(jìn)程一實(shí)時掃描串口接收到的信息,通過讀取命名管道內(nèi)容將編碼信息發(fā)送給進(jìn)程二;進(jìn)程二根據(jù)接收到的編碼做出判斷,區(qū)別各種不規(guī)范駕駛行為,設(shè)定定時器不同時長以控制時間,并將分類存儲到不同目錄中。

  Video4設(shè)備驅(qū)動程序支持兩種捕獲圖像的方式:內(nèi)存影射mmap方式和直接讀取read方式。mmap方式采用共享內(nèi)存方式,數(shù)據(jù)采集速度快,但這種采集方式需攝像頭硬件支持。結(jié)合本文中使用的攝像頭,在圖像采集過程中,采用read方式直接讀取設(shè)備文件,將獲得的一幀數(shù)據(jù)保存到緩沖區(qū)中,通過convertframe()函數(shù)將pFramebuffer中的數(shù)據(jù)轉(zhuǎn)換成完整的JPEG格式的數(shù)據(jù)存儲到ptframe中,然后調(diào)用fWrite()函數(shù)將緩沖區(qū)中的JPEG格式的數(shù)據(jù)寫到指定文件中,從而得到一副JPEG格式原始數(shù)據(jù)塊。部分程序如下:


  對于存儲的控制,本文采用“命名管道”方式,這是一種簡單的進(jìn)程間通信機(jī)制,在同一計算機(jī)的不同進(jìn)程之間,支持可靠的,單向或雙向的數(shù)據(jù)通信。

  命名管道由視頻存儲進(jìn)程利用函數(shù)int mkfifo(constchar*pathname,mode_t mode)創(chuàng)建,負(fù)責(zé)讀取由串口掃描接收進(jìn)程接收到的控制信息。部分程序如下:

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


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉