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

正文內(nèi)容

基于嵌入式linux視頻監(jiān)控系統(tǒng)(編輯修改稿)

2024-12-12 04:17 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 ,包括兩個(gè)方面的移植:第一層面是針對(duì) CPU 的移植,第二層面是針對(duì) BOARD 的移植,同時(shí)需要移植相關(guān)的頭文件。按照開發(fā)板說明對(duì)相關(guān)文件進(jìn)行修改、編譯,然后燒寫到開發(fā)板的 Flash中。這樣就完成了 UBoot 的移植。 五、系統(tǒng) 環(huán)境搭建 軟件平臺(tái)采用的嵌入式操作系統(tǒng)為 Linux , Linux 具有內(nèi)核小、效率高、源碼開放、內(nèi)核直接提供網(wǎng)絡(luò)支持等 優(yōu)點(diǎn),但嵌入式系統(tǒng)的硬件資源有限,因此需根據(jù)實(shí)際需求對(duì)內(nèi)核進(jìn)行裁剪,配置所需的功能模塊,然后再移植到硬件平臺(tái)上。嵌入式系統(tǒng)的軟件開發(fā)采用交叉編譯調(diào)試的方式,在宿主機(jī)上安裝 Linux 系統(tǒng),建立交叉編譯環(huán)境,在宿主機(jī)編寫程序代碼,再利用交叉編譯工具生成目標(biāo)機(jī)上可用的可執(zhí)行文件,最后向目標(biāo)機(jī)平臺(tái)移植。 交叉編譯環(huán)境的搭建 交叉編譯就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。在進(jìn)行嵌入式開發(fā)時(shí),由于 ARM 平臺(tái)的系統(tǒng)資源有限,不可能在 ARM 平臺(tái)上進(jìn)行本機(jī)編譯,因此我們可以在 PC 機(jī)上編譯出針對(duì) ARM 平臺(tái)的可移 植程序,然后下載到開發(fā)板上執(zhí)行。要進(jìn)行交叉編譯,我們需要在主機(jī)平臺(tái)上安裝對(duì)應(yīng)的交叉編譯工具然后用這個(gè)交叉編譯工具編譯程序的源碼,最終生成可以在開發(fā)板上執(zhí)行的代碼。 目標(biāo)板的系統(tǒng)是 Linux,我們要進(jìn)行 Linux 下的程序開發(fā),首先要安裝 Linux 系統(tǒng)。我們選用 作為主機(jī)開發(fā)環(huán)境。在虛擬機(jī)里安裝好 Ubuntu,由于嵌入式交叉編譯時(shí)經(jīng)常需要用到 root 用戶權(quán)限,為避免日后頻繁要求輸入密碼,我們可以通過編輯 /etc/gdm/目錄下的 Ubuntu設(shè)置為 root用戶自動(dòng)登 錄。在 中添加以下內(nèi)容即可。 [daemon] TimedLoginEnable=true AutomaticLoginEnable=true TimedLogin=root AutomaticLogin=root TimedLoginDelay=30 設(shè)置 Ubuntu的 IP 地址為固定 IP,方便以后程序的調(diào)試。交叉編譯器我們選用飛凌公司提供的 ,首先將 文件拷貝到 Ubuntu中,輸入以下命令安裝: mkdir /usr/local/arm tar jxvf –C /usr/local/arm (將文件解壓到 /usr/locsl/arm目錄下) 安裝好后可用 /usr/local/arm/–v 命令查看版本信息,若編譯器安裝成功則會(huì)顯示出交叉編譯器的版本信息,否則需要重新安裝。為了方便日后調(diào)試程序我們可以把安裝目錄加入環(huán)境變量中,編輯 /etc 下的profile 文件,加入: export PATH=”$PATH: /usr/local/arm/” 修改完后重啟系統(tǒng),然后在終端輸入 armlinuxgcc 若提示 no input file 則交叉編譯環(huán)境搭建成功。 NFS環(huán)境的搭建 在嵌入式開發(fā)過程中,交叉編譯好的程序要在開發(fā)板上運(yùn)行,就要燒寫到目標(biāo)板的 flash 上,對(duì)于應(yīng)用程序,我們需要頻繁調(diào)試,這樣每次都要燒寫一遍,嚴(yán)重影響開發(fā)效率。為了方便程序調(diào)試,我們搭建了 NFS 系統(tǒng)。 NFS 是 Network File System 的簡(jiǎn)稱,是分布式計(jì)算機(jī)系統(tǒng)的一個(gè)組成部分,用它可 實(shí)現(xiàn)在已購(gòu)網(wǎng)絡(luò)上共享和裝配遠(yuǎn)程文件系統(tǒng)。可以通過網(wǎng)絡(luò)讓不同操作系統(tǒng)的計(jì)算機(jī)可以共享數(shù)據(jù)。可以通過它把遠(yuǎn)程主機(jī)的目錄掛載到本機(jī) ,使得訪問遠(yuǎn)程主機(jī)的目錄就像訪問本地目錄一樣方便快捷。 Ubuntu 上默認(rèn)沒有安裝 NFS 服務(wù)器,首先要安裝 NFS 服務(wù)程序,在終端輸入:sudo aptget install nfskernelserver 這樣系統(tǒng)會(huì)自動(dòng)幫我們安裝好 NFS 服務(wù)器,這樣宿主機(jī)就相當(dāng)于 NFS Server。 NFS是一個(gè) RPC服務(wù)程序 ,所以在使用它之前 , 先要映射好端口 —— 通過 portmap設(shè)定,在啟動(dòng) NFS 之前 , 需要啟動(dòng) portmap 服務(wù)。 修改 /etc/exports,添加一個(gè)共享目錄: /var/nfs/ *(rw,sync),其中 /var/nfs/是要共享的文件夾, *是表示所有用戶都可以掛載這個(gè)共享文件夾, (rw,sync)表示以讀寫方式掛載,并且使資料同步寫入存儲(chǔ)器中。使用命令 sudo exportfs r 更新,使用命令 /etc/服務(wù)和 nfskernelserver 服務(wù)。 在開發(fā)板上輸入命令: mount t nfs :/var/nfs /mnt o nolock將遠(yuǎn)程主機(jī) /var/nfs 目錄掛在到本地的 /mnt 目錄下。 t 選項(xiàng)指定文件系統(tǒng)的類型為 NFS,o 選項(xiàng)禁用鎖定。 六 、 流媒體服務(wù)器設(shè)計(jì) 視頻采集模塊 設(shè)計(jì) 視頻采集模塊通過嵌入式 Linux 操作系統(tǒng)調(diào)用 Video4Linux(V4L)和底層設(shè)備驅(qū)動(dòng)程序來完成視頻捕獲。 V4L 是 Linux 中關(guān)于視頻設(shè)備的內(nèi)核驅(qū)動(dòng),它為L(zhǎng)inux 下的各種視頻設(shè)備提供了統(tǒng)一的編程接口,應(yīng)用程序通過這些接口函數(shù)就可以操縱各種不同的設(shè)備。視頻采集流程如圖 2 所示。 圖 2 視頻采集流程 (1)打開視頻設(shè)備。 Linux 下的視頻設(shè)備文件一般為“ /dev/video0”,通過調(diào)用函數(shù) v4l_open( ),利用 vdfd=open(“/dev/video0”,O_RDWR)打開設(shè)備并獲得設(shè)備文件描述符 vdfd。 (2) 獲取設(shè)備和圖像信息。通過 v4l_get_capability( ) 函 數(shù)獲取設(shè)備信息, 通過v4l_get_picture( )函數(shù)獲取圖像信息。 (3)內(nèi)存映射。獲取圖像的方式有兩種: read( )直接讀取和 mmap( )內(nèi)存映射。直接讀取方式通過內(nèi)核緩沖區(qū)來讀取圖像數(shù)據(jù),而本文使用內(nèi)存映射方式 mmap( ),內(nèi)存映射方式可以直接把設(shè)備文件映射到內(nèi)存中,進(jìn)程可以像訪問普通內(nèi)存一樣對(duì)文件進(jìn)行訪問,讀取效率更高。初始化內(nèi)存映射時(shí),需在內(nèi)存中開辟一塊空間,利用 ioctl(vdfd,VIDIOCGMBUF,amp。(vdmbuf))操作取得需要映射的內(nèi)存空間大小 vd,利用 mmap( )函數(shù),即 vdmap=(unsigned char*) mmap(0, vd, PROT_READ | PROT_WRITE,MAP_SHARED, vdfd, 0)操作,把設(shè)備文件的內(nèi)容映射到內(nèi)存, vdmap 指針?biāo)?
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1