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

正文內(nèi)容

基于arm的遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)畢業(yè)論文-文庫吧

2024-08-08 19:46 本頁面


【正文】 Linux 操作系統(tǒng)簡(jiǎn)介 Linux 是一種自由和開放源碼的類 Unix 操作系統(tǒng)。目前存在著許多不同的Linux,但它們都使用了 Linux 內(nèi)核。 Linux 可安裝在各種計(jì)算機(jī)硬件設(shè)備中,從手機(jī)、平板電腦、路由器和視頻游戲控制臺(tái),到臺(tái)式計(jì)算機(jī)、大型機(jī)和超級(jí)計(jì)算機(jī)。 Linux 是一個(gè)領(lǐng)先的操作系統(tǒng),世界上運(yùn)算最快的 10臺(tái)超級(jí)計(jì)算機(jī)運(yùn)行的都是 Linux 操作系統(tǒng)。嚴(yán)格來講, Linux 這個(gè)詞本身只表示 Linux 內(nèi)核,但實(shí)際上人們已經(jīng)習(xí)慣了用 Linux 來形容整個(gè)基于 Linux 內(nèi)核,并且使用 GNU 工程各種工具和數(shù)據(jù)庫的操作系統(tǒng)。 Linux 得名于計(jì)算機(jī)業(yè) 余愛好者 Linus Torvalds。 [10] Linux 可以運(yùn)行在多種硬件平臺(tái)上,如具有 x8 680x0、 SPARC、 Alpha 等處理器的平臺(tái)。此外 Linux 還是一種嵌入式操作系統(tǒng),可以運(yùn)行在掌上電腦、機(jī)頂盒或游戲機(jī)上。 2020 年 1 月份發(fā)布的 Linux 版內(nèi)核已經(jīng)能夠完全支持 Intel 64位芯片架構(gòu)。同時(shí) Linux 也支持多處理器技術(shù)。多個(gè)處理器同時(shí)工作,使系統(tǒng)性能大大提高。 ARM 技術(shù)和 Linux 成功的結(jié)合充分滿足了各類應(yīng)用對(duì)嵌入式平臺(tái)高性能、低功耗和低價(jià)格的要求,通過開發(fā)環(huán)境、開源社區(qū)和 ARM 的 商業(yè)伙伴的有時(shí)為嵌入式開發(fā)停工了靈活的選擇 [11]。 交叉編譯環(huán)境的建立 通常嵌入式系統(tǒng)的軟件編譯和執(zhí)行是兩個(gè)不同平臺(tái)上進(jìn)行的。編譯時(shí)在宿主機(jī)上進(jìn)行的,執(zhí)行是在目標(biāo)機(jī),及嵌入式系統(tǒng)的硬件平臺(tái)。一般是在宿主機(jī)通過跨平臺(tái)交叉編譯器把源文件編譯成目標(biāo)平臺(tái)可執(zhí)行的文件在通過串口、并口或者網(wǎng)絡(luò)下載至目標(biāo)憑條的 FLASH 或者其他存儲(chǔ)介質(zhì),然后由目標(biāo)機(jī)來運(yùn)行這些軟件。 本系統(tǒng)采用基于 ARM11 的 S3C6410,可以使用常用的 ARM 交叉編譯器,要成功構(gòu)建完整的交叉編譯環(huán)境,余姚在宿主機(jī)上創(chuàng)建一系列的工具,包 括C/C++編譯器、匯編器、連接器、嵌入式系統(tǒng)的標(biāo)準(zhǔn) C 庫和 GDB 代碼調(diào)試器,成功建立好后便可以用這些工具進(jìn)行嵌入式系統(tǒng)開發(fā)了 [16]。 8 嵌入式 Linux 移植 BootLoader 是在操作系統(tǒng)內(nèi)核運(yùn)行之前運(yùn)行的一段小程序。通過這段小程序,我們可以初始化硬件設(shè)備、建立內(nèi)存空間映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個(gè)合適狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。在嵌入式系統(tǒng)中,通常并沒有像 BIOS 那樣的固件程序(注,有的嵌入式 CPU 也會(huì)內(nèi)嵌一段短小的啟動(dòng)程序),因此整個(gè)系統(tǒng)的加載啟動(dòng)任務(wù) 就完全由 BootLoader 來完成。比如在一個(gè)基于 ARM7TDMI core 的嵌入式系統(tǒng)中,系統(tǒng)在上電或復(fù)位時(shí)通常都從地址 0x00000000 處開始執(zhí)行,而在這個(gè)地址處安排的通常就是系統(tǒng)的BootLoader 程序。 專用的嵌入式板子運(yùn)行 GNU/Linux 系統(tǒng)已經(jīng)變得越來越流行。一個(gè)嵌入式 Linux系統(tǒng)從 軟件 的角度看通??梢苑譃樗膫€(gè)層次 [12]: 引導(dǎo)加載程序。包括固化在 固件 (firmware)中的 boot 代碼 (可選 ),和BootLoader 兩大部分。 Lniuxn 內(nèi)核 。特定于嵌入式板子的定制內(nèi)核 以及內(nèi)核的啟動(dòng)參數(shù)。 文件系統(tǒng)。包括根文件系統(tǒng)和建立于 Flash 內(nèi)存 設(shè)備之上文件系統(tǒng)。通常用ramdisk 來作為 rootfs。 用戶 應(yīng)用程序 。特定于用戶的應(yīng)用程序。有時(shí)在用戶應(yīng)用程序和內(nèi)核層之間可能還會(huì)包括一個(gè)嵌入式 應(yīng)用程序 。常用的嵌入式 GUI 有: MicroWindows 和MiniGUI 等。 引導(dǎo)加載程序是系統(tǒng)加電后運(yùn)行的第一段 軟件代碼 。 PC 機(jī)中的引導(dǎo)加載程序由 BIOS(其本質(zhì)就是一段固件程序 )和位于硬盤 MBR 中的 OS BootLoader(比如, LILO 和 GRUB 等)一起組成。 BIOS 在 完成硬件檢測(cè)和資源分配后,將硬盤 MBR中的 BootLoader 讀到系統(tǒng)的 RAM中,然后將控制權(quán)交給 OS BootLoader。BootLoader 的主要運(yùn)行任務(wù)就是將內(nèi)核映象從硬盤上讀到 RAM 中,然后跳轉(zhuǎn)到內(nèi)核的入口點(diǎn)去運(yùn)行,也即開始啟動(dòng) 操作系統(tǒng) 。 通常, BootLoader 是嚴(yán)重地依賴于硬件而實(shí)現(xiàn)的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個(gè)通用的 BootLoader 幾乎是不可能的。盡管如此,我們?nèi)匀豢梢詫?duì) BootLoader歸納出一些通用的概念來,以指導(dǎo)用戶特定的 BootLoader 設(shè)計(jì)與 實(shí)現(xiàn)。 9 Boorloader 的實(shí)現(xiàn)以來與 CPU 的體系結(jié)構(gòu),一般來說啟動(dòng)過程分為兩個(gè)階段 [13]: 第一階段以來于 CPU 的體系結(jié)構(gòu)大代碼,比如設(shè)備初始化代碼等。這個(gè)階段完成的任務(wù)如下: ( 1) 硬件設(shè)備初始化 ( 2)為第二階段準(zhǔn)備 RAM 空間 ( 3) 復(fù)制 Bootloader 的第二階段代碼到 RAM 空間中 ( 4) 設(shè)置好堆棧并跳轉(zhuǎn)到第二階段的 C 程序入口點(diǎn) 第二階段則通常用 C 語言來實(shí)現(xiàn),這樣可以實(shí)現(xiàn)復(fù)雜的功能,而且代碼會(huì)具有更好的可持續(xù)性和移植性。這個(gè)階段的主要任務(wù)有: ( 1)初始化本階段要使用的硬件設(shè)備 ( 2) 檢測(cè)系統(tǒng)內(nèi)存映射 ( 3)將內(nèi)核映像和根文件系統(tǒng)從 FLASH 讀到 RAM 中 ( 4)為內(nèi)核設(shè)置啟動(dòng)參數(shù) Linux 平臺(tái)下 mjpgstreamer 移植 本系統(tǒng)選用嵌入式 Linux 作為目標(biāo)機(jī)操作系統(tǒng),一方面由于 Linux 是一款免費(fèi)的操作系統(tǒng),能很好的見底成本,同時(shí) Linux 的開發(fā)應(yīng)用現(xiàn)在應(yīng)經(jīng)成為熱門,有大量的資源可供學(xué)習(xí)與使用,并且 Linux 系統(tǒng)具有良好的可移植性和可裁剪性,能自動(dòng)支持多任務(wù)管理。本系統(tǒng)采用 ARM 開發(fā)平臺(tái),所以依賴 ARM 硬件平臺(tái)的代碼都在 arch/arm 下面。根目錄下面只需要修改 Makefile 文件,該 文件主要任務(wù)是產(chǎn)生 vmLinux 文件盒內(nèi)核模塊,對(duì)該文件的修改主要是設(shè)置目標(biāo)平臺(tái)和制定交叉編譯器 [14] 在 /opt/mini6410 目錄下創(chuàng)建目錄 webcamera 來作為我們本次移植工作的工作目錄,輸入以下命令創(chuàng) 建: mkdir – p /opt/mini6410/webcamera 進(jìn)入 webcamera 目錄下,通過 SVN 下載最新的 mjpgstreamer mini2440 項(xiàng)目源代碼: cd /opt/mini6410/webcamera/ svn checkout streamer 10 mjpgstreamer mini2440 read only 輸入以下命令進(jìn)行 mjpgstreamer mini2440 read only 目錄: cd mjpgstreamer mini2440 read only 根據(jù)以下指示修改: 1) 用 vi 編輯 , 將內(nèi)容: ./mjpg_streamer o w ./ i y 修改成 ./mjpg_streamer o w ./ i y d /dev/video2 2) 用 vi 編輯 Makefile a) 在 clean:處刪除 make C plugins/input_s3c2410 $@ b) 再刪除以下內(nèi)容: : make C plugins/input_s3c2410 all CC=$(CC) cp plugins/input_s3c2410/ . c) 再到 package: 處刪除
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1