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

正文內(nèi)容

3g智能機(jī)器人系統(tǒng)驅(qū)動(dòng)開發(fā)畢業(yè)論文-文庫吧資料

2024-09-03 17:23本頁面
  

【正文】 出現(xiàn)很奇怪的錯(cuò)誤 建議不要加,因?yàn)槟J(rèn)的網(wǎng)頁路徑就是在 var/ 里面 ) 。 make armLinuxgnustrip boa 對 boa 配置,使其能夠支持 cgi 程序的執(zhí)行。 }*/ ( 6) gethostbyname:: Resource temporarily unavailable 這個(gè)問題我也遇到過,我只是 把 src 文件夾下的 里的 if(!server_name){..........}(大概在 266行到 286行之間)注釋掉,就能運(yùn)行在板子上運(yùn)行 boa。 ( 4) 修改 src/ define TIMEZONE_OFFSET(foo) footm_gmtoff 修改 define TIMEZONE_OFFSET(foo) (foo)tm_gmtoff 否則會(huì)出現(xiàn)錯(cuò)誤: :100:1: error: pasting t and does not give a valid preprocessing token make: *** [] 錯(cuò)誤 1 ( 5) 修改 /src/,注釋掉下面兩行: /* if (setuid(0) != 1) { DIE(icky Linux kernel bug!)。 tar xzf cd 生成 Makefile 文件 # ./configure ( 2) 修改 Makefile 文件 (注:這里修改根據(jù)自己的交叉編譯器自行修改 )。 1. boa 程序的移植 從 上下載 boa 源碼,當(dāng)前的版本是 。 所以我們可以通過編寫相應(yīng)的 cgi 程序來實(shí)現(xiàn)所需要的功能。服務(wù)器中主要包括 boa 和 cgi 兩部分 [9],其中 boa 管理著返回客戶端的 WEB 頁面,而 cgi 控制著客戶端和服務(wù)器端的信息交換, 絕大多數(shù)的 cgi 程序被用來解釋處理 來自表單的輸入信息,并在服務(wù)器產(chǎn)生相應(yīng)的處理,或?qū)⑾鄳?yīng)的信息反饋給瀏覽器?,F(xiàn)在,多數(shù)嵌入式 Linux的代碼中已經(jīng)包含 boa 的源代碼,在嵌入式 Linux 下實(shí)現(xiàn) boa 只需要對 boa 做一些簡單的配置和修改。作為一種單任務(wù) We b 服務(wù)器, boa 只能依次完成用戶的請求,而不會(huì) fork 出新的進(jìn)程來處理并發(fā)連接請求。 17 信息科 學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 4 系統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) boa 服務(wù)器的搭建 boa 服務(wù)器介紹 我們通過設(shè)計(jì) WEB 服務(wù)器,使用戶能通過瀏覽器訪問設(shè)備上的 Web 服務(wù)器來遠(yuǎn)程控制現(xiàn)場設(shè)備。 這些就是代表機(jī)器人的動(dòng)作,這樣動(dòng)作就可以幫助我 們拍攝出來不同角度的視頻的圖片。 上面的結(jié)構(gòu)體就是主要的結(jié)構(gòu)體,其中 pdata 就是獲取網(wǎng)頁傳送過 來的數(shù)據(jù),比如當(dāng)我們在網(wǎng)頁中點(diǎn)擊機(jī)器人向前走的按鈕,那么 *pdada 的值就是“ w“ ,然后就是向管道寫入向前走的命令,在管道的一端是一直在后臺(tái)運(yùn)行讀取的命令,當(dāng)我們寫入命令的時(shí)候,管道的另一端就是讀取我們寫入的值,然后就是響應(yīng)的操作。 //需要控制的狀態(tài)是什么電燈 int robot。 //cgi 傳功來的數(shù)據(jù)一共有多少段 int led。 typedef struct cgi_mand { nv_set *pdata。 遠(yuǎn)程監(jiān)控客戶端的設(shè)計(jì) 首先在自己腦海中要把思路理清楚,然后一步一步的去實(shí)現(xiàn),客服端主要的操作流程如圖 33。在平臺(tái)上可添 加 PDA, MID 等主控設(shè)備即可組成可通過 WiFi 無線網(wǎng)絡(luò)接入互聯(lián)網(wǎng)的機(jī)器人,這樣以來便可通過計(jì)算機(jī)或是手機(jī)對環(huán)境情況進(jìn)行遠(yuǎn)距離監(jiān)控。 DFPPRK 裝備有三個(gè)可全向運(yùn)動(dòng)的輪子,能夠靈活地在家具之間穿行。其硬件系統(tǒng)框如 32 所示。用戶可以通過手機(jī)控制機(jī)器人運(yùn)動(dòng),也可以通過機(jī)器人控制家中的其它智能設(shè)備。機(jī)器人利用其豐富的傳感器實(shí)時(shí)檢測周圍的環(huán)境參數(shù),并在遇到緊急情況時(shí)主動(dòng)通知用戶。嵌入式系統(tǒng)領(lǐng)域的軟硬件技術(shù), 3G 網(wǎng)絡(luò)技術(shù)與物聯(lián)網(wǎng)技術(shù)的迅猛發(fā)展,各種應(yīng)用層出不窮將這些技術(shù)融合到機(jī)器人的設(shè)計(jì)中 ,有助于提高機(jī)器人的綜合性能。根據(jù)應(yīng)用的不同可分為單行為決策結(jié)構(gòu),聚合式行為決策結(jié)構(gòu)以及包容式行為結(jié)構(gòu) [6]。它既可以直接操作協(xié)議層對象發(fā)送機(jī)器人控制指令,也能通過行為對象的切換間接控制機(jī)器人的運(yùn)行。工程中的行為層基類為 IBhavior,與硬件層一樣這只是一個(gè)抽象類,它本身包括了所有可能的傳感器信息返回函數(shù) [6]。這一層雖然并電腦, 3G 手機(jī)登遠(yuǎn)程終端 仲裁決策對象 機(jī)器人指令對象 視頻捕捉控制對象 硬件通信對象 視頻輸入設(shè)備實(shí)體 機(jī)器人主體設(shè)備 其他設(shè)備 13 信息科 學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 存了很多對象,但是同一時(shí)刻只能允許一個(gè)行為對象與協(xié)議對象連接,以避免出現(xiàn)行為混亂的情形。工程的指令協(xié)議層類為 CRoCmd,其成員函數(shù)包含了對機(jī)器人的所有的基本操作 [6]。工程中的硬件通訊層基類為 IBhy,這是一個(gè)抽象類,具體的硬件類都從這個(gè)基類派生,如里面的串口硬件類為 CRoSCom[6]。 圖 31 系統(tǒng)軟件框架 硬件通訊層:是一些直接與硬件設(shè)備通訊的對象,這里包括一個(gè)機(jī)器人主體的數(shù)據(jù)交流的串口通訊對象。 12 信息科 學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 3 3G 智能機(jī)器人的總體設(shè)計(jì) 軟件開發(fā)平臺(tái)設(shè)計(jì) 3G 智能機(jī)器人的軟件開發(fā)平臺(tái)采用基于行為的控制思想,系統(tǒng)構(gòu)架遵循面向?qū)ο蟮脑O(shè)計(jì)風(fēng)格,通過各種抽象類的組合來組織代碼,條理清晰便于理解。 目前, ARM 處理器有 ARM ARM ARM9E、 ARMl0、 ARMll 和 SecurCore等系列。基于 ARM 技術(shù)的微處理器應(yīng)用占據(jù)了 32 位 RISC 微處理器 75%以上的市場份額, ARM 技術(shù)正在逐步滲入到我們生活的各個(gè)方面。 ARM 公司本身不直接從事芯片生產(chǎn),而是靠轉(zhuǎn)讓設(shè)計(jì)許可,由合作公司生產(chǎn)各具特色的芯片。 MTD 是對 FLASH 操作的接口,提供了一系列的標(biāo)準(zhǔn)接口函數(shù),將硬件驅(qū)動(dòng)和系統(tǒng)程序設(shè)計(jì)分開,硬件驅(qū)動(dòng)人員不用了解存儲(chǔ)設(shè)備的組織 方法,只需要提供標(biāo)準(zhǔn)的函數(shù)調(diào)用,比如讀、寫等等。不過由于 RAM 是掉電不保存的,所以系統(tǒng)在每次重啟時(shí),前面的工作無法保存,所以需要在 FLASH 中劃出一個(gè) Ramdisk 和另一個(gè)文件系統(tǒng) YAFFS,這樣,數(shù)據(jù)文件可以保存在 YAFFS 分區(qū)中。 Ramdisk 相當(dāng)于一塊硬盤空間,可以理解為在內(nèi)存中虛擬出來一塊硬 盤,所以上面有系統(tǒng)支持的各種文件系統(tǒng) [4]。與 JFFS 相比,它減少了一些功能,因此速度更快,占用內(nèi)存更少 [3]。 它是日志結(jié)構(gòu)的文件系統(tǒng),提供了損耗平衡和掉電保護(hù),可以有效地避免意外掉電對文件系統(tǒng)一致性和完整性的影響。利用 NAND 閃存提供的每個(gè)頁面 16 字節(jié)的備用空間來存放 ECC( Error Correction Code) 和文件系統(tǒng)的組織信息,不僅能夠?qū)崿F(xiàn)錯(cuò)誤檢測和壞塊處理,也能夠提高文件系統(tǒng)的加載速度。雖然可以節(jié)約不少 FLASH 空間,但是文件系統(tǒng)運(yùn)行時(shí)需要 將大量的數(shù)據(jù)復(fù)制到 RAM 中,因此消耗了 RAM 空間。一般嵌入式存儲(chǔ)器價(jià)格比較高,用 CRAMFS 文件系統(tǒng)比較省空間,對于 FLASH 這樣的小系統(tǒng), CRAMFS 是十分不錯(cuò)的選擇。本系統(tǒng)采用的是 CRAMFS 文件系統(tǒng)和 YAFFS 文件系統(tǒng)并存,并采用 Ramdisk 在內(nèi)存中模擬硬盤分區(qū)。文件系統(tǒng)不能直接控制物理設(shè)備,它是通過 FLASH 驅(qū)動(dòng)實(shí)現(xiàn)控制的。在文件系統(tǒng)內(nèi)部,根據(jù)存儲(chǔ)設(shè)備的特點(diǎn),使用不同的文件組織模式來實(shí)現(xiàn)文件的邏輯結(jié)構(gòu)。對于用戶程序來說,文件是有結(jié)構(gòu)的文件 ,用戶程序通過對文件 I/ O 函數(shù)操作文件。 FLASH 具有獨(dú)特的 9 信息科 學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 物理特性,所以必須使用專門的嵌入式文件系統(tǒng)。 3. 嵌入式文件系統(tǒng) 嵌入式系統(tǒng)中需要有 文件系統(tǒng) 來 更好的管理文件。首先執(zhí)行 make dep 命令,讀取配置過程生成的配置文件,來創(chuàng)建對應(yīng)于配置的依賴關(guān)系樹,從而決定哪些需要編譯而哪些不需要; 接著需要 make clean刪除前面步驟留下的文件,以避免出現(xiàn)一些錯(cuò)誤;然后便可以生成所需要的內(nèi)核文件了,用 makezlmage 來實(shí)現(xiàn)得到可移植的內(nèi)核。更改完成之后需要對內(nèi)核進(jìn)行配置和編譯,配置命令可以選用 make config, make oldconfig, make menuconfig或 make xconfig 其中一個(gè)。對該文件的修改主要是設(shè)置目標(biāo)平臺(tái)和制定交叉編譯器,代碼如下: ARCH=arm CROSS—COMPILE= armLinux 接下來的工作便是修改 arm 目錄下面的相應(yīng)文件,具體的工作主要就是在內(nèi)核文件中添加 S3C2410 處理器信息,在 arm 目錄下面的 Makefile 文件添加: ifeq(S(CONFIQARCH—S3C241 0), Y) 8 信息科 學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 TEXTADDR=0Xc0008000 MACHINE=s3c241 0 Endif 配置文件 也需要 添加處理器信息,這樣在后面 make menuconifig 命令時(shí)可以看到 S3C2410 的選項(xiàng)。在 Linux 系統(tǒng)內(nèi)核代碼中有 arch 目錄,其中包括了不同平臺(tái)的代碼,與體系結(jié)構(gòu)相關(guān)的代碼都存放在 arch 下面相應(yīng)的目錄中,本系統(tǒng)采用 ARM 開發(fā)平臺(tái),所以依賴 ARM 硬件平臺(tái)的代碼都在 arch/ arm 下面。一般常用的 GUI 如 QT/ E, MiniGUI 等都支持 Linux。 ○ 5 調(diào)用內(nèi)核文件運(yùn)行。 ○ 3 將內(nèi)核映像和根文件系統(tǒng)從 FLASH 讀到 RAM 中。這個(gè)階段主要任務(wù)有: ○ 1 初始化本 階段 要使用的硬件設(shè)備。 ○ 4 設(shè)置好堆棧并跳轉(zhuǎn)到第二階段的 C 程序入口點(diǎn)。 ○ 2 為第二 階段準(zhǔn)備 RAM 空間。 BootLoader 的實(shí)現(xiàn)依賴于 CPU 的體系結(jié)構(gòu),一般來說啟動(dòng)過程分為兩個(gè)階段: 第一階段依賴于 CPU 體系 結(jié)構(gòu)的代碼,比如設(shè)備初始化代碼等,通常都放在第一階段中,而且通常都用匯編語言來實(shí)現(xiàn),運(yùn)行效率比較高。 BootLoader 的這種模式通常在第一次安裝內(nèi)核與根文件系統(tǒng)時(shí)被使用,此外,以后的系統(tǒng)更新也會(huì)使用 BootLoader 的這種工作模式。 ( 2) 下載( Downloading) 模式 在這種模式下,目標(biāo)機(jī)上的 BootLoader 將通過串口連接或者網(wǎng)絡(luò)連接等通信手段從主機(jī)( HOST) 下載 文件,比如下載內(nèi)核映像和根文件系統(tǒng)映像等。 ( 1) 啟動(dòng)加載( Boot loading) 模式 這種模式也稱為“自主”( Autonomous) 模式,即 BootLoader 從目標(biāo)機(jī)上的某個(gè)固態(tài)存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到 RAM 中運(yùn)行,整個(gè)過程并沒有用戶的介入。一般 BootLoader 都包含兩種不同的操作模式:“啟動(dòng)加載”模式和“下載”模式,這種區(qū)別僅對于開發(fā)人員才有意義。從特定的位置把操作系統(tǒng)和文件系統(tǒng)調(diào)入內(nèi)存,并設(shè)置一些操作系統(tǒng)所必需的參數(shù),然后把 CPU 控制權(quán)交給操作系統(tǒng)。 設(shè)置處理器的寄存器以及內(nèi)存,關(guān)掉所有的輸入管腳 (包括中斷管腳 ) ,以防止突然有信號(hào)進(jìn)入妨礙接下來的硬件初始化動(dòng)作。初始化 6 信息科 學(xué)與技術(shù)學(xué)院學(xué)士學(xué)位論文 一些必要的硬件。 BootLoader 一般情況下需要包含以下幾個(gè)必備的功能。在一般嵌入式系統(tǒng)中,系統(tǒng)復(fù)位或者加電后通常從地址 0x00000000處開始執(zhí)行,而這個(gè)地址一般是存放的 BootLoader 啟動(dòng)代碼。 嵌入式 Linux 移植 1. BootLoader BootLoader 是系統(tǒng)加電后運(yùn)行的第一段代碼。 本系統(tǒng)采用基于 ARM S3C2410, 可以使用常用的 ARM 交叉編譯器,要成功構(gòu)建完整的交叉編譯環(huán)境,需要在宿主機(jī)上創(chuàng)建一系列的工具,包括 C/ C++編譯器、匯編器、鏈接器、嵌入式系統(tǒng)的標(biāo)準(zhǔn) C 庫和 GDB 代碼級(jí)調(diào)試器。和通用的編譯器之間最大的差別就在于跨平臺(tái)編譯器編譯出來的可執(zhí)行程序通常只能在特定 CPU 所屬平臺(tái)上運(yùn)行。一般是在宿主機(jī)上通過跨平臺(tái)交叉編譯器把源文件編譯成目標(biāo)平臺(tái)上可執(zhí)行的文件,再通過串口、并口或者網(wǎng)絡(luò)下載至目標(biāo)平臺(tái)上的 FLASH 或者其它存儲(chǔ)介質(zhì),然后由目標(biāo)機(jī)來運(yùn)行這些軟件。通常嵌入式系統(tǒng)的軟件編譯和執(zhí)行是在兩個(gè)不 同平臺(tái)上進(jìn)行的。 ARM 和 Linux 的結(jié)合充分滿足了各類應(yīng)用對嵌入式平臺(tái)高性能、低功耗和低價(jià)格的要求,通過開發(fā)環(huán)境、開源社區(qū) 和 ARM 的商業(yè) 伙伴的優(yōu)勢為嵌入式開發(fā)提供了更靈活的選擇 [1]。 ARM 技術(shù)和 Linux 成功地結(jié) 合,應(yīng)用于數(shù)以千計(jì)的商業(yè)產(chǎn)品中。嵌入式 Linux 現(xiàn)已成為嵌入式操作系統(tǒng)的理想選擇。嵌入式 Linux 是指對 Linux 經(jīng)過小型
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1