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

正文內(nèi)容

基于linux系統(tǒng)的遠(yuǎn)程視頻監(jiān)控畢業(yè)設(shè)計(jì)說(shuō)明書(編輯修改稿)

2025-07-20 06:42 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 作系統(tǒng)的選擇 嵌入式操作系統(tǒng)主要指支持嵌入式系統(tǒng)應(yīng)用的操作系統(tǒng)軟件,通常包括與硬件相關(guān)的底層驅(qū)動(dòng)軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動(dòng)接口、通信協(xié)議、圖形界面等。嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的基本特點(diǎn),如能夠有效管理復(fù)雜的系統(tǒng)資源、能夠提供高效率的庫(kù)函數(shù)、驅(qū)動(dòng)程序、工具集以及應(yīng)用程序。到目前為止,國(guó)際上已經(jīng)出現(xiàn)的嵌入式操作系統(tǒng)多達(dá)十幾種,從市場(chǎng)占有率來(lái)看,目前常用的嵌入式操作系統(tǒng)有以下幾種:(l)、嵌入式Linux嵌入式 Linux(Embedded Limix)是指對(duì)標(biāo)準(zhǔn)Linux經(jīng)過(guò)小型化裁剪處理之后,能夠固化在容量只有幾KB或者幾MB的存儲(chǔ)器芯片或者單片機(jī)中,是適合于特定嵌入式應(yīng)用場(chǎng)合的專用Linux操作系統(tǒng)。在目前已經(jīng)開(kāi)發(fā)成功的嵌入式系統(tǒng)中,大約有一半使用的是Linux。這與它自身的優(yōu)良特性是分不開(kāi)的。嵌入式Linux同Linux一樣,具有低成本、支持多種硬件平臺(tái)、優(yōu)異的性能和良好的網(wǎng)絡(luò)支持等優(yōu)點(diǎn)。(2)、VxWorksVxWorks操作系統(tǒng)是美國(guó)WindRiver公司于1983年設(shè)計(jì)開(kāi)發(fā)的一種嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS)。VxWorks的實(shí)時(shí)性做得非常好,其系統(tǒng)本身的開(kāi)銷很小,進(jìn)程調(diào)度、進(jìn)程間通信、中斷處理等系統(tǒng)公用程序精練而有效,使得它們?cè)斐傻难舆t很短。另外VxWorks提供的多任務(wù)機(jī)制,對(duì)任務(wù)的控制采用了優(yōu)先級(jí)搶占和輪轉(zhuǎn)調(diào)度機(jī)制,這充分保證了可靠的實(shí)時(shí)性,并使同樣的硬件配置能滿足更強(qiáng)的實(shí)時(shí)性要求。另外VxWorks具有高度的可靠性,從而保證了用戶工作環(huán)境的穩(wěn)定。但是,由于VxWorks的開(kāi)發(fā)和使用都需要交高額的專利費(fèi),因此大大增加了用戶的開(kāi)發(fā)成本。同時(shí),由于VxWorks的源碼不公開(kāi),造成它部分功能的更新(如網(wǎng)絡(luò)功能模塊)滯后。(3)、WindowsCEWindowsCE是微軟開(kāi)發(fā)的一個(gè)開(kāi)放的、可升級(jí)的嵌入式操作系統(tǒng),是基于掌上型電腦類的電子設(shè)備操作系統(tǒng)。它是精簡(jiǎn)的Windows95。WindowsCE的圖形用戶界面相當(dāng)出色。WindowsCE具有模塊化、結(jié)構(gòu)化和基于Win32應(yīng)用程序接口以及與處理器無(wú)關(guān)等特點(diǎn)。它不僅繼承了傳統(tǒng)的Windows圖形界面,并且用戶在WindowsCE平臺(tái)上可以使用Windows上的編程工具(如VisualBasie、VisualC++等)、也可以使用同樣的函數(shù)、使用同樣的界面風(fēng)格,使絕大多數(shù)Windows上的應(yīng)用軟件只需簡(jiǎn)單的修改和移植就可以在 WindowsCE平臺(tái)上繼續(xù)使用。但與VxWorks相同,WindowsCE也是比較昂貴的。(4)、Palm OSPalm OS在PDA和掌上電腦有著很大的用戶群。Palm OS最明顯的特點(diǎn)在精簡(jiǎn),它的內(nèi)核只有幾千個(gè)字節(jié),同時(shí)用戶也可以方便地開(kāi)發(fā)定制,具有較強(qiáng)的可操作性。因此,基于以下原因我們選擇了嵌入式Linux作為開(kāi)發(fā)平臺(tái)的操作系統(tǒng)[13]:l Linux系統(tǒng)是層次結(jié)構(gòu)且內(nèi)核完全開(kāi)放。l 嵌入式Linux內(nèi)核性能高效、穩(wěn)定,小巧靈活,易于裁剪。l 具有良好的開(kāi)發(fā)環(huán)境。l Linux具有廣泛的硬件支持特性。l 開(kāi)發(fā)成本低廉。 嵌入式文件系統(tǒng)類型選擇目前為止在嵌入式系統(tǒng)中常用的根文件系統(tǒng)的類型有Cramfs、JFFSYAFFS、RAMFS等類型,下面將分別介紹這些文件系統(tǒng)。(1)Cramfs:一種只讀的壓縮文件系統(tǒng),它也基于MTD驅(qū)動(dòng)程序。在Cramfs文件系統(tǒng)中,每一頁(yè)(4KB)被單獨(dú)壓縮,可以隨機(jī)頁(yè)訪問(wèn),其壓縮比高達(dá)2:1,為嵌入式系統(tǒng)節(jié)省大量的Flash存儲(chǔ)空間,使系統(tǒng)可通過(guò)更低容量的FLASH存儲(chǔ)相同的文件,從而降低系統(tǒng)成本。Cramfs文件系統(tǒng)以壓縮方式存儲(chǔ),在運(yùn)行時(shí)解壓縮,所以不支持應(yīng)用程序以XIP(片內(nèi)運(yùn)行)方式運(yùn)行,所有的應(yīng)用程序要求被拷到RAM里去運(yùn)行,但這并不代表比Cramfs需求的RAM空間要大一點(diǎn),因?yàn)镃ramfs是采用分頁(yè)壓縮的方式存放檔案,在讀取檔案時(shí),不會(huì)一下子就耗用過(guò)多的內(nèi)存空間,只針對(duì)目前實(shí)際讀取的部分分配內(nèi)存,尚沒(méi)有讀取的部分不分配內(nèi)存空間,Cramfs文件系統(tǒng)自動(dòng)計(jì)算壓縮后的資料所存的位置,再即時(shí)解壓縮到RAM中。(2)JFFS2:是RedHat公司基于JFFS開(kāi)發(fā)的閃存文件系統(tǒng),最初是針對(duì)RedHat公司的嵌入式產(chǎn)品 eCOS開(kāi)發(fā)的嵌入式文件系統(tǒng),所以JFFS2也可以用在Linux,uCLinux中。日志閃存文件系統(tǒng)版本JFFS2主要用于NOR型閃存,基于MTD驅(qū)動(dòng)層,特點(diǎn)是:可讀寫的、支持?jǐn)?shù)據(jù)壓縮的、基于哈希表的日志型文件系統(tǒng),并提供了崩潰/掉電安全保護(hù),提供“寫平衡”支持等。缺點(diǎn)主要是當(dāng)文件系統(tǒng)已滿或接近滿時(shí),因?yàn)槔占年P(guān)系而使JFFSZ的運(yùn)行速度大大放慢[15]。JFFS2不適合用于NAND閃存主要是因?yàn)镹AND閃存的容量一般較大,這樣導(dǎo)致JFFS為維護(hù)日志節(jié)點(diǎn)所占用的內(nèi)存空間迅速增大,另外,JFFSZ文件系統(tǒng)在掛載時(shí)需要掃描整個(gè)FLASH的內(nèi)容,以找出所有的日志節(jié)點(diǎn),建立文件結(jié)構(gòu),對(duì)于大容量的NAND閃存會(huì)耗費(fèi)大量時(shí)間。(3)YAFFS:YAFFS/YAFFS2是專為嵌入式系統(tǒng)使用NAND型閃存而設(shè)計(jì)的一種日志型文件系統(tǒng)。與JFFS2相比,它減少了一些功能(例如不支持?jǐn)?shù)據(jù)壓縮),所以速度更快,掛載時(shí)間很短,對(duì)內(nèi)存的占用較小。YAFFS/YAFFS2自帶NAND芯片的驅(qū)動(dòng),并且為嵌入式系統(tǒng)提供了直接訪問(wèn)文件系統(tǒng)的API,用戶可以不使用Linux中的MTD與VFS,直接對(duì)文件系統(tǒng)操作[16]。本文選擇Yaffs文件系統(tǒng),Yaffs文件系統(tǒng)以速度快,效率高,占用內(nèi)存少,其只讀的特點(diǎn)有利于保護(hù)文件系統(tǒng)免受破壞,提高了系統(tǒng)的可靠性。 CMOS攝像頭驅(qū)動(dòng)以及視頻監(jiān)控應(yīng)用軟件的開(kāi)發(fā)設(shè)計(jì)由于我們采用的是CMOS攝像頭,該款攝像頭在linux系統(tǒng)中沒(méi)有為之實(shí)現(xiàn)的驅(qū)動(dòng)代碼,所以我們應(yīng)該為其設(shè)計(jì)編寫驅(qū)動(dòng),好讓其正常工作。首先我們確定將其注冊(cè)為字符設(shè)備,然后為其實(shí)現(xiàn)操作函數(shù)。其中包含了三個(gè)主要文件:、。而視頻監(jiān)控軟件則是利用Linux系統(tǒng)V4L接口,實(shí)現(xiàn)數(shù)據(jù)壓縮,傳輸,連接客戶端瀏覽器來(lái)設(shè)計(jì)實(shí)現(xiàn)的。具體實(shí)現(xiàn)過(guò)程見(jiàn)第5章。 本章小結(jié)本章主要內(nèi)容是視頻監(jiān)控系統(tǒng)的總體方案設(shè)計(jì)。首先介紹了嵌入式系統(tǒng)概況,及ARM技術(shù)和S3C2440體系結(jié)構(gòu),然后給出了視頻監(jiān)控系統(tǒng)硬件平臺(tái)的構(gòu)建及軟件總體框架設(shè)計(jì),并對(duì)系統(tǒng)中的一些關(guān)鍵技術(shù)進(jìn)行了分析和選型。3 系統(tǒng)硬件平臺(tái)的簡(jiǎn)單介紹 mini2440開(kāi)發(fā)板主要硬件資源介紹[17]A、CPU處理器 Samsung S3C2440A,主頻 400MHz,最高 533Mhz B、SDRAM 內(nèi)存 在板 64M SDRAM 32bit 數(shù)據(jù)總線 SDRAM 時(shí)鐘頻率高達(dá) 100MHz C、FLASH 存儲(chǔ) 在板 256M Nand Flash, 掉電非易失在板 2M Nor Flash,掉電非易失,已經(jīng)安裝 BIOS D、接口和資源 1 個(gè) 100M以太網(wǎng) RJ45 接口(采用DM9000 網(wǎng)絡(luò)芯片) 3 個(gè)串行口 1 個(gè) USB Host 1 個(gè) USB Slave B 型接口 1 個(gè) I2C 總線 AT24C08芯片,用于 I2C 總線測(cè)試 1 個(gè) mm間距 20pin攝像頭接口 板載實(shí)時(shí)時(shí)鐘電池 電源接口(5V),帶電源開(kāi)關(guān)和指示燈 主要芯片接口介紹 SDRAM 存儲(chǔ)系統(tǒng) Mini2440 使用了兩片外接的 32M bytes 總共 64M bytes 的 SDRAM 芯片(型號(hào)為:HY57V561620FTP/MT48LC16M16A2),一般稱之為內(nèi)存,它們并接在一起形成32bit 的總線數(shù)據(jù)寬度,這樣可以增加訪問(wèn)的速度;因?yàn)槭遣⒔樱仕鼈兌际褂昧薾GCS6 作為片選,根據(jù)S3C2440技術(shù)手冊(cè) 52 中的介紹可知,這就決定了它們的物理起始地址為 0x30000000,下面是摘自mini2440原理圖中的 SDRAM 部分原理圖。 SDRAM原理圖 FLASH 存儲(chǔ)系統(tǒng) Mini2440具備兩種Flash。Nor Flash,型號(hào)為 SST39VF1601,大小為 2Mbyte;另一種是 Nand Flash,型號(hào)為 K9F2G08,大小為256M。S3C2440支持這兩種 Flash啟動(dòng)系統(tǒng),通過(guò)撥動(dòng)開(kāi)關(guān),你可以選擇從NOR還是從 NAND啟動(dòng)系統(tǒng)。 Nand Flash不具有地址線,它有專門的控制接口與CPU 相連,數(shù)據(jù)總線為 8bit,但這并不意味著Nand Flash 讀寫數(shù)據(jù)會(huì)很慢。大部分的優(yōu)盤或者SD 卡等都是 Nand Flash 制成的設(shè)備。 , Nor Flash采用了 A1A22 總共 22 條地址總線和 16 條數(shù)據(jù)總線與 CPU 連接,請(qǐng)注意地址是從 A1 開(kāi)始的,這意味著它每次最小的讀寫單位是 2byte,因此根據(jù)原理圖,該設(shè)計(jì)總共可以兼容支持最大 8Mbyte 的 Nor Flash,實(shí)際我們的開(kāi)發(fā)板上只用了 A1A20 條地址線,因?yàn)榕cA2A22 相連的 SST39V1601的相應(yīng)引腳是懸空的。 Flash原理圖 CMOS CAMERA 接口 S3C2440 帶有 CMOS 攝像頭接口,在開(kāi)發(fā)板上通過(guò)標(biāo)稱為 CAMERA的接口引出。它是一個(gè) 20 腳 間距的針座,用戶可以直接使用我們提供的 CAM130 攝像頭模塊;其實(shí)CAM130 攝像頭模塊上面沒(méi)有任何電路,它只是一個(gè)轉(zhuǎn)接板,它直接連接使用了型號(hào)為ZT130G2 攝像頭模塊。 CAMERA攝像頭接口 本章小結(jié)本章首先詳細(xì)介紹了mini2440開(kāi)發(fā)板的資源。其后重點(diǎn)解析了開(kāi)發(fā)板上對(duì)與本課題有重要關(guān)系的接口與芯片,包括內(nèi)存、flash、攝像頭接口等,并提供引腳圖以便之后的軟件設(shè)計(jì)參考。4 嵌入式linux操作系統(tǒng)的構(gòu)建 嵌入式交叉編譯環(huán)境搭建在裁減和定制嵌入式Linux之前,由于一般嵌入式開(kāi)發(fā)系統(tǒng)存儲(chǔ)大小有限,通常需要在強(qiáng)大的PC機(jī)(宿主機(jī))上建立一個(gè)用于目標(biāo)機(jī)的交叉編譯環(huán)境。所謂交叉編譯,簡(jiǎn)單地說(shuō)就是在一個(gè)平臺(tái)上生成另一個(gè)平臺(tái)上的可執(zhí)行代碼。這里所謂平臺(tái)實(shí)際上是體系結(jié)構(gòu)和操作系統(tǒng)的結(jié)合體。程序的編譯是在宿主機(jī),一般為桌面主機(jī);執(zhí)行是在目標(biāo)端,即嵌入式系統(tǒng)的硬件平臺(tái)。一般是在宿主機(jī)上通過(guò)跨平臺(tái)交叉編譯器把源文件編譯成目標(biāo)平臺(tái)上可執(zhí)行的文件,再通過(guò)串口、并口或者網(wǎng)絡(luò)下載至目標(biāo)平臺(tái)上的FLASH或者其它存儲(chǔ)介質(zhì),然后由目標(biāo)機(jī)來(lái)運(yùn)行這些軟件。Linux下的交叉編譯環(huán)境主要包括以下幾個(gè)部分:l 針對(duì)目標(biāo)系統(tǒng)的編譯器gcc;l 針對(duì)目標(biāo)系統(tǒng)的二進(jìn)制工具binutils,包括ar, objcopy, strip工具集;l 目標(biāo)系統(tǒng)的標(biāo)準(zhǔn)庫(kù)glibc;l 目標(biāo)系統(tǒng)的Linux內(nèi)核頭文件以及GNU Make工具??赏ㄟ^(guò)兩種方式建立armlinux交叉編譯環(huán)境,手動(dòng)方式和使用集成環(huán)境。交叉編譯工具鏈的安裝步驟如下:(1)將該壓縮包拷貝到在宿主PC機(jī)某一個(gè)目錄,比如/tmp下,然后解壓: cd /tmp tar xf C /執(zhí)行上面的命令會(huì)將armlinuxgcc安裝到/usr/loca/arm/。(2)把編譯器路徑加入系統(tǒng)環(huán)境變量,運(yùn)行命令 gedit /root/.bashrc 編輯/root/.bashrc文件,在最后一行添加: export PATH=$PATH: /usr/local/arm/ Bootloader移植 BootLoader基本概念BootLoader(引導(dǎo)加載程序)是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的第一段代碼。通過(guò)這段代碼,我們可以初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。從操作系統(tǒng)的角度看,BootLoader的總目標(biāo)就是正確地調(diào)用內(nèi)核來(lái)執(zhí)行[18]。通常BootLoader嚴(yán)重地依賴于硬件而實(shí)現(xiàn),特別是在嵌入式系統(tǒng)。對(duì)移植操作系統(tǒng)到開(kāi)發(fā)板的人來(lái)說(shuō),編寫移植BootLoader是一個(gè)不可避免的過(guò)程。、內(nèi)核的啟動(dòng)參數(shù)、內(nèi)核映像和根文件系統(tǒng)映像的固態(tài)存儲(chǔ)設(shè)備的典型空間分配結(jié)構(gòu)圖。 Flash空間分布圖 一般BootLoader都包含兩種不同的操作模式:“啟動(dòng)加載”模式和“下載”模式,這種區(qū)別僅對(duì)于開(kāi)發(fā)人員才有意義。但從最終用戶的角度看,BootLoader的作用就是用來(lái)加載操作系統(tǒng),而并不存在所謂的啟動(dòng)加載模式與下載工作模式的區(qū)別[19]:(1)啟動(dòng)加載模式。這種模式也稱為“自主”模式。也即BootLoade從目標(biāo)機(jī)上的某個(gè)固態(tài)存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到RAM中運(yùn)行,整個(gè)過(guò)程并沒(méi)有用戶的介入。這種模式是BootLoader的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布的時(shí)候,BootLoader顯然必須工作在這種模式下。(2)下載模式。在這種模式下,利用BootLoader通過(guò)串口連接或網(wǎng)絡(luò)連接等通信手段從主機(jī)下載文件,比如:下載內(nèi)核映像和根文件系統(tǒng)映像等。BootLoader的這種模式通常在第一次安裝內(nèi)核與根文件系統(tǒng)時(shí)被使用。此外,以后的系統(tǒng)更新也會(huì)使用BootLoade這種工作模式。工作于這種模式下BootLoader的通常都會(huì)向它的終端用戶提供一個(gè)簡(jiǎn)單的命令行接口。 vivi代碼結(jié)構(gòu)分析vivi是由韓國(guó)Mizi公司開(kāi)發(fā)的一種Bootloade:適合于ARM9處理器,支持S3C2440A處理器,支持串口、USB等傳輸通信手段,體積小,使用方便。其源代碼可以在://. 。vivi主要包括以下目錄:(1) arch:在make menuconfig時(shí)候裝載的配置文件和匯編程序,此日錄包含了所有vivi支持目標(biāo)板的子目錄; (2) cvs:用于源碼管理;(3) document: vivi的說(shuō)明文檔;(4) drivers:包含了引導(dǎo)內(nèi)核需要的設(shè)備的驅(qū)動(dòng)程序(MTD和串口);(5) include:頭文件的公共目錄,S3C2410定義
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1