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

正文內(nèi)容

基于嵌入式的網(wǎng)絡(luò)視頻監(jiān)控系統(tǒng)研究-閱讀頁

2025-07-04 12:59本頁面
  

【正文】 一般默認即可,用make進行編譯,如果編譯過程順利,將會在當前目錄下生成vivi 二進制映象文件。、內(nèi)存管理、文件系統(tǒng)、驅(qū)動程序和網(wǎng)絡(luò)等組成。其他版本大致相同,: Linux源碼的目錄結(jié)構(gòu)和含義一般目錄下面都有一個Kcon175。le文件。le文件指出了編譯時候需要的編譯器,也是移植內(nèi)核不可缺少的。內(nèi)核代碼的添加和修改主要包括處理器平臺的和編譯器的配置,以及根據(jù)實際要求添加和修改一些代碼。le。le,指明交叉編譯器,找到ARCH和CROSS COMPILE,修改為下面兩行代碼。 FLASH分區(qū)表并加入NAND分區(qū),還包含添加NAND FLASH芯片支持,以及使Linux能從NAND FLASH啟動。添加內(nèi)容如下:/***********add here*************/include linux/mtd/include asm/arch/include linux/mtd//***********end add*************/① 建立NAND FLASH分區(qū)static struct mtd_partition partition_info[] ={[0]={name: vivi, size: 0x00020000, //這里vivi的所占的分區(qū)大小為128Koffset: 0,},[1]={name: param, //這里param的所占的分區(qū)大小為64Ksize: 0x00010000,offset: 0x00020000,},[2]={name: kernel, //這里kernel的所占的分區(qū)大小為2Msize: 0x00200000,offset: 0x00030000,},[3]={name: root, //這里root的所占的分區(qū)大小為61Msize: 0x03eac000,offset: 0x00230000,}}。③ 建立NAND FLASH芯片支持struct s3c2410_platform_nand superlpplatform={tacls:0,twrph0:30,twrph1:0,sets: amp。④ 加入NAND FLASH芯片支持到NAND FLASH驅(qū)動struct platform_device s3c_device_nand = {.name = s3c2410nand, //設(shè)備名稱.id = 1, //有效的設(shè)備編號.num_resources = ARRAY_SIZE(s3c_nand_resource),.resource = s3c_nand_resource, //寄存器數(shù)組首地址/* 添加NAND FLASH設(shè)備*/.dev = {.platform_data = amp。(3)指定啟動時候的初始化。static struct platform_device *smdk2410_devices[] __initdata = {amp。s3c_device_lcd,amp。s3c_device_i2c,amp。s3c_device_nand,}。Linux內(nèi)核是通過Bootloader寫入到NAND FLASH里面的,Bootloader通過軟件ECC算法產(chǎn)生ECC校驗碼,這與內(nèi)核的校驗不一致,內(nèi)核的ECC校驗碼是通過s3c2410中的NAND FLASH控制器產(chǎn)生的,因而要禁止ECC校驗。static void s3c2410_nand_init_chip(struct s3c2410_nand_info *info,struct s3c2410_nand_mtd *nmtd,struct s3c2410_nand_set *set){......//chipeccmode = NAND_ECC_SOFT。}} Linux內(nèi)核的定制和編譯 Linux內(nèi)核的定制Linux內(nèi)核的定制就是對內(nèi)核進行配置。g隱藏文件。g命令的配置比較廣泛,是經(jīng)常使用的配置方法。另外,這里的括號還有3種,即中括號、圓括號和尖括號。 Linux內(nèi)核的配置選項比較多,一般情況下,使用廠商提供的默認配置文件(這里使用三星的smdk2410 defcin175。在smdk2410 defcon175。 General setup (noinitrd root=/dev/mtdblock/3 init=/linuxrc console=ttySAC0,115200)Memory Technology Devices (MTD) [*] MTD partitioning support /* MTD 分區(qū)支持*/ [*] Command line partition table parsing//支持命令行修改flash分區(qū) [*] Direct char device access to MTD devices [*] Caching block device access to MTD devices NAND Flash Device Drivers [*] NAND Device Support /* 提供NAND FLASH設(shè)備支持*/ [*] NAND Flash support for S3C2410 SoC[*] S3C2410 NAND driver debug /* NAND FLASH調(diào)試支持*/ Linux內(nèi)核的編譯 內(nèi)核的定制完成之后,編譯工作就很簡單,下面是和內(nèi)核編譯有關(guān)的幾個命令: (1)make clean :該命令是在正式編譯內(nèi)核之前清除相關(guān)依賴文件。 (3)make zImage:該命令是最終的內(nèi)核編譯命令。嵌入式設(shè)備的編譯不需要這一步。下載到開發(fā)板,測試內(nèi)核啟動是否成功。 NOW, Booting Linux...... Unpressing Linux............................................... ........................................ done, booting the kernel.Linux version (root) (gcc version ) 225 Thu Sep 27 12:18:21 CST 2007 CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T) CPU0: D VIVT writeback cache CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets Machine: SMDK2410 ATAG_INITRD is deprecated。也就是通常所說的嵌入式文件系統(tǒng)。用戶程序可以通過文件I/O函數(shù)操作文件。在文件系統(tǒng)的內(nèi)部,又根據(jù)存儲設(shè)備的特點,適用不同的文件組織模式來實現(xiàn)文件的邏輯結(jié)構(gòu)。這些系統(tǒng)可以使用在沒有初始化的NAND Flash和有CFI接口的NOR Flash中。該文件系統(tǒng)相當于Linux中的MTD層,必須配合其他文件系統(tǒng)才能使用。這些文件系統(tǒng)功能簡單,僅提供基本接口,屬于只讀的閃存文件系統(tǒng)。 YAFFS文件系統(tǒng)的移植YAFFS文件系統(tǒng)[24](Yet Another Flash File System)是一種類似JFFS的文件系統(tǒng)。此外YAFFS文件系統(tǒng)自帶NAND Flash芯片驅(qū)動,并為嵌入式系統(tǒng)提供了直接訪問文件系統(tǒng)的API,用戶可以不使用Linux中的MTD和VFS,直接對文件進行操作。YAFFS文件系統(tǒng)性能優(yōu)越易于移植。s源代碼,不支持ya174。從網(wǎng)上下載[25],把ya174。s目錄下。(1)代碼的修改。g。g文件中。添加下面一行到fs/makefile文件中。打開Linux內(nèi)核配置界面,配置如下選項。編譯添加ya174。NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND64MiB 3,3V 8bit)Scanning device for bad blocksCreating 4 MTD partitions on NAND 64MiB 3,3V 8bit:0x000000000x00020000 : vivi0x000200000x00030000 : param0x000300000x00230000 : kernel0x002300000x03eac000 : root把添加yaffs文件系統(tǒng)的Linux內(nèi)核映像下載到開發(fā)板上運行,此時會出現(xiàn)Kernelpanic not syncing: Attempted to kill init!內(nèi)核恐慌信息,主要是沒有建立根文件系統(tǒng)。如果內(nèi)核啟動后發(fā)現(xiàn)init則執(zhí)行它,init尋找它的配置文件/etc/inittab,并開始執(zhí)行其中的腳本,這個腳本用來執(zhí)行加載所需要的模塊、初始化網(wǎng)絡(luò)、裝載fstab中列出的所有驅(qū)動器等,最后啟動getty程序,完成console和ttyS之間的通信。 目錄結(jié)構(gòu)的建立為目標平臺制作根文件系統(tǒng),要了解根文件系統(tǒng)的基本結(jié)構(gòu)。創(chuàng)建過程如下:mkdir bin sbin dev etc lib root tmp usr proc opt mntmkdir usr/bin usr/sbin這樣就在my rootfs目錄下創(chuàng)建了以上目錄,下面就是針對主要目錄設(shè)計或添加文件。mknod方法創(chuàng)建格式如下:mknod 權(quán)限設(shè)備文件名設(shè)備類型主設(shè)備號次設(shè)備號: 主要設(shè)備文件信息 應(yīng)用程序定制標準的Linux發(fā)行版本具有功能種類比較多的應(yīng)用程序,這些應(yīng)用程序占用的空間也很大,這對存儲容量空間有限的開發(fā)板來說就不是理想的選擇,在嵌入式開發(fā)過程中,經(jīng)常用BusyBox來定制應(yīng)用程序。[26],下載解壓,切換到BusyBox的根目錄下,修改Make175。t use /usrMiscellaneous Utilities [ ] taskset //選擇此項編譯不通過Shells Choose your default shell (ash) 在編譯的過程中[*] Don39。在Choose your default shell (ash)選中ash,這樣在編譯完成后的/bin目錄下生成我們將要使用的sh,不然的話生成不了sh。配置選項完成后,就開始編譯,然后進行安裝,采用默認安裝方式,BusyBox默認是安裝到根目錄下的install文件夾,然后拷貝到my rootfs下相關(guān)目錄下,如install/bin拷貝到/my rootfs/bin,install/sbin拷貝到/my rootfs/sbin。這樣基本的應(yīng)用程序就定制完成。在Linux內(nèi)核被載入之后,機器就把控制權(quán)轉(zhuǎn)交給內(nèi)核,Linux的內(nèi)核啟動之后,做了一些工作,然后找到根文件系統(tǒng)里面的init程序,并執(zhí)行它,這個init 就是我們上節(jié)定制生成的應(yīng)用程序,在/sbin目錄下。②初始化控制臺。④執(zhí)行系統(tǒng)初始化命令行,缺省情況下會使用/etc/。⑥執(zhí)行所有僅執(zhí)行一次的inittab(動作類型:once)。如果未建立這些設(shè)備文件,BusyBox會報錯。把Busybox編譯生成的程序的庫文件拷貝到/lib目錄下。le中指定庫文件的路徑。使用mkyaffsimg程序可以把一個目錄做成一個ya174。進入my rootfs目錄層,使用以下命令。到此Linux操作系統(tǒng)移植完畢。 本章小結(jié)本章所做的工作量比較大,也是設(shè)計系統(tǒng)工作的一個主要步驟,這為將要開發(fā)的網(wǎng)絡(luò)視頻應(yīng)用程序提供了系統(tǒng)環(huán)境,保證所設(shè)計的程序能夠運行。然后完成Linux內(nèi)核的移植,Linux內(nèi)核的移植是開發(fā)板能夠從NAND Falsh啟動的基本設(shè)置。接著完成Linux內(nèi)核的定制,由于配置的選項多,這里只給出從NAND Flash啟動的配置選項。接著完成yaffs文件系統(tǒng)的移植。s文件系統(tǒng)作簡要的分析,使內(nèi)核支持該文件系統(tǒng)。首先創(chuàng)建根系統(tǒng)所需要的目錄,完成設(shè)備文件的建立,然后用busybox定制根系統(tǒng)運行的基本程序,接著完成了系統(tǒng)啟動的配置文件,主要是修改宿主機上的配置文件到目標系統(tǒng)。下面一章的工作就是開發(fā)網(wǎng)絡(luò)視頻監(jiān)控程序。本設(shè)計中首先加載攝像頭的驅(qū)動到移植的Linux操作系統(tǒng)中,然后利用Linux系統(tǒng)自帶的視頻采集設(shè)備video4linux完成視頻圖像的采集,采集到的圖像經(jīng)過JPEG壓縮后,通過網(wǎng)絡(luò)傳輸?shù)娇蛻舳藶g覽器,用戶就可以通過瀏覽器實時完成對象的監(jiān)控功能。 視頻采集端設(shè)計 攝像頭驅(qū)動的加載Linux下設(shè)備驅(qū)動程序可以看成Linux內(nèi)核與外部設(shè)備之間的接口。對于USB攝像頭,驅(qū)動程序提供了基本的I/O操作接口函數(shù),中斷的處理,內(nèi)存映射以及I/O通道控制接口函數(shù)ioctl等,并把他們定義在175。這樣當應(yīng)用程序?qū)υO(shè)備文件進行系統(tǒng)調(diào)用時,Linux內(nèi)核將通過175。本系統(tǒng)采用的攝像頭的主控芯片是中星微的zc0301芯片,目前使用的內(nèi)核版本還沒有該攝像頭的驅(qū)動,為了使攝像頭能夠工作。175。le和Kcon175。然后把攝像頭驅(qū)動靜態(tài)添加到內(nèi)核,攝像頭正常工作需要添加以下選項。由于/dev/video0是默認的視頻設(shè)備文件,通過ln s /dev/v4l/video0 /dev/video0命令可以把/dev/v4l/video0文件鏈接到/dev/video0
點擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1