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

正文內(nèi)容

arm嵌入式web服務器boa的軟、硬件設計畢業(yè)設計-資料下載頁

2025-06-03 04:32本頁面
  

【正文】 b)所必要的符號資訊,要想對源代碼進行調(diào)試,就必須加入這個選項。 4) –o: 對程序進行優(yōu)化編譯、連接 。 采用這個選項,整個源代碼會在編譯、連接過程中進行優(yōu)化處理,這樣產(chǎn) 生的可執(zhí)行文件的執(zhí)行效率可以提高 。 但是,編譯、連接的速度就相應地要慢一些。 5) O2: 比 o 更好的優(yōu)化編譯、連接,當然整個編譯、連接過程會更慢。 6) –Idirname: 將 dirname 所指出的目錄加入到程序頭文件目錄列表中,是在預編譯過畢業(yè)設計論文 26 程中使用的參數(shù)。 Linux 內(nèi)核移植 Linux 內(nèi)核的移植可以分為板級移植和片級移植。對于 Linux 發(fā)行版本中已經(jīng)支持的CPU,通常只需針對板級硬件進行適當?shù)男薷募纯?,這種移植叫做板級移植;而對于 Linux發(fā)行版本中沒有支持的 CPU,則需要添加相應的 CPU 的 內(nèi)核移植,這種移植叫做片級移植。片級移植相對板級移植來說要復雜許多,需要對 Linux 內(nèi)核有詳盡的了解。本課題中所用的 Linux 中已經(jīng)包含 S3C2410X ARM920T 處理器的移植包,下面將在此基礎上介紹Linux 板級移植的基本過程和方法 [9]。 圖 19 為本課題所采用的實驗環(huán)境以及開發(fā)流程。 ① 在主機的 RedHat Linux 操作系統(tǒng)下安裝 Linux 發(fā)行包以及交叉編譯器 armlinuxgcc; ② 對 Linux 進行配置( make menuconfig),并選擇適合本課題系統(tǒng)得相關配置 ;③ 編譯生成 Linux 映像 文件 zlmage;④通過 uboot 的 tftp 命令將該文件下載到目標板并執(zhí)行 。 這將在下面的內(nèi)容中作介紹。 主機: RedHat Linux 目標機 JXARM92410 圖 Linux 開發(fā)流程 Linux內(nèi)核源代碼的安裝 本課題中的 Linux 發(fā)行文件為 ,在 Redhat 下將該文件復制到/home/cvtech/jx2410 目錄 下會有一個 linux 的新目錄,這個目錄就是 linux 的源代碼根目錄,里面有進行 linux 開發(fā)的所有的源代碼。 安裝 Linux 安裝 armlinuxgcc 配置 make menucongfig 編譯 運行 Linux 下載 Linux映像文件 啟動 uboot 畢業(yè)設計論文 27 Linux交叉編譯環(huán)境的建立和使用 通常,程序是在一臺計算機上編譯,然后再分布到將要使用的其他計算機上。當主機系統(tǒng)(運行編譯器的系統(tǒng))和目標系統(tǒng)(產(chǎn)生的程序?qū)⒃谄渖线\行的系統(tǒng))不兼容時,該過程就叫做交叉編譯。除了兼容性這個明顯的好處之外,交叉編譯還由于以下兩個原因而非常重要: ? 當目標系統(tǒng)對其可用的編譯工具沒有本地設置時; ? 當主機系統(tǒng)比目標系統(tǒng)要快得多,或者具有多得多的可用資源時。 GNU 的交叉編譯器,包括以下組建: ? Gcc 交叉編譯器,即在宿主機上開發(fā)編譯目標上可運行的二進制文件; ? Binutils 輔助工具,包括 objdump、 objcopy 等; ? Gdb 調(diào)試器 Linux內(nèi)核的配置和編譯 1. Linux 源代碼結(jié)構(gòu) Linux 的源代碼組織成如下結(jié)構(gòu),根目錄是 /home/cvtech/jx2410/linux。內(nèi)核的文件組織結(jié)構(gòu)為: 1) arch/arm:與架構(gòu)和平臺相關的代碼都放在 arch 目錄下。針對 ARM 的 Linux,有一個子目錄和它對應 —arm。 2) drivers:包含所有的設備驅(qū)動程序 。驅(qū)動程序又被分為 ―block‖、 ―char‖、 ―‖等幾種類型。 3) fs:這里有支持多種文件系統(tǒng)的源代碼,幾乎一個目錄就是一個文件系統(tǒng),如MSDOS、 VFAT、 proc 和 ext2 等。 4) include:相關的頭文件。它們被分成通用和平臺專用兩部分。目錄 ―arm$(ARCH)‖包含了平臺相關的頭文件。 5) init:含一些啟動 kernel 所需做的所有初始化動作,里面有一個 ,針對 kernel做初始化動作、設置一些參數(shù)等,并對外圍設備初始化。 6) ipc:提供進程間通信機制的源代碼,如信號量、消息隊 列和管道等。 7) kernel:包含進程調(diào)度算法的源代碼,以及與內(nèi)核相關的處理程序,例如系統(tǒng)調(diào)用。 8) mm:用來存放內(nèi)存管理的源代碼,包括 MMU。 9) :支持網(wǎng)絡相關的協(xié)議源代碼。 10) lib:包含內(nèi)核要用到的一些常用函數(shù)。如字符串操作、格式化輸出等。 11) script:包含在配置和編譯內(nèi)核時要用到的腳本文件。 2.配置和編譯 Linux 核心 ⑴ .配置內(nèi)核: cd /home/cvtech/jx2410/linux make menuconfig 畢業(yè)設計論文 28 如圖 20 所示: 圖 啟動菜單配置工具后,選擇 Load an Alternate Configuration File 選 項, 如圖 21,點擊確認。 圖 該 選 項 將 載 入 jx2410 標 準 配 置 文 件 configjx2410, 此 文 件 保 存 在/home/cvtech/jx2410/linux 目錄下,請不要修改這個文件。 畢業(yè)設計論文 29 在提示框中鍵入 configjx2410 配置文件名,然后單擊 OK 按鈕確認, 如圖 22, 將退回到主菜單。按 Esc 鍵退出,并將提示是否保存,請單擊 Yes 保存 ,如圖 23。 圖 圖 ⑵ .建立依賴關系: make dep 畢業(yè)設計論文 30 ⑶ .編譯 。 可以通過 make 或者 make zlmage 進行編譯,它們的 差別在于 make zlmage將 make 生成的核心進行壓縮,并加入一段解壓的啟動代碼 。 本課題 中 采用 make 進行編譯。 生成的 Linux 映像文件保存在 /home/cvtech/jx2410/arch/arm/boot/目錄下 加載 Linux 內(nèi)核映像 1. 將 JXARM92410的串口 0與 PC的 COM1連接, JXARM92410的網(wǎng)卡和 PC的網(wǎng)卡使用直連網(wǎng)線進行連接,或者將 JXARM92410和 PC機使用普通網(wǎng)線接入同一局域網(wǎng)。 ARM實驗箱的 IP為 ,虛擬機下的 Linux的 IP設為 , 并將安全級別設置成無防火墻,宿主機 IP設為 。 2. 將 JXARM92410上電,正常情況下將在終端 DNW中看到 bootloader菜單界面。在bootloader中按照如 圖 24的 提示進行: 圖 loadlinux 加載完成后輸入 CTRL+C 進入 Linux 命令行。 如果出現(xiàn)失敗,則可能存在一下幾種問題: 1) 加載內(nèi)核時總體是 ―TT‖,這是由于 tftp服務器沒有連接成功,在 uboot中輸入 ping ,如果提 示為 not alive請檢查網(wǎng)絡有沒有正確連接:使用網(wǎng)線正確與否或者宿主機和目標機的 IP地址不在同一子網(wǎng)。此處要求宿主機和目標機都在 段,而且最后一位不能相同;如果提示為 alive而仍然提示 ―TT‖,請檢查 Windows防火墻設置,關閉防火墻,如果仍然不行,請關閉系統(tǒng)中啟動的其它程序,如殺毒軟件等。 2) 提示 ―packet too big‖,這個問題是由于 uboot 接收到非法的包產(chǎn)生的,少量這種提示不會影響內(nèi)核的加載,如果導致內(nèi)核加載失敗,請按照如下方式檢查 : ① 使用直接網(wǎng)線make 畢業(yè)設計論文 31 連接計算機 和實驗箱 ; ② 關閉計算機中打開的所有與網(wǎng)絡相關的程序。 Boa Web 服務器的移植 Boa Web 服務器的建立 建立 Boa Web服務器包括以下步驟 [15]: Boa源代碼。 Boa web服務器的源代碼可以從 下載,本文中下載文件為: ,為當前最新版本。 2. 安裝并編譯 Boa源代碼。 1) 通過 Vmware Tools 中 的文 件共 享將 Windows 下下 載 的 Boa 源 代碼 復制到/home/cvtech/jx2410/examples/目錄下。 2) 安裝源代碼: 生成 Makefile文件 ./configure 3) 修改 Makefile文件,找到 CC=gcc,將其改成 CC = armlinuxgcc,再找到 CPP = gcc –E,將其改成 CPP = armlinuxgcc –E,并保存退出。 4) 運行 make進行編譯,在 boa/src目錄下將生成 Boa文件,該文件即為 Boa Web服務器執(zhí)行文件。將 調(diào)試信息剝?nèi)?,得到的最后程序只有約 60KB大小。 Boa Web服務器,使其能夠支持 CGI程序的執(zhí)行。 Boa啟動時將加載一個配置文件 ,在 Boa程序運行前,必須首先編輯該文件,并將其放置于 src/ SEVER–ROOT宏定義所定義的缺省目錄,或者在啟動 Boa時使用參數(shù) ―c‖指定 。 在 ,下面作簡要介紹: 1) Port:該參數(shù)為 boa服務器運行端口,缺省的端口為 80。 2) ServerName:服務器名字。 3) DocumentRoot: HTML文檔根目錄。建議使用絕對路徑表示,如 ―/mnt/jffs2/web‖,如果使用相對路徑,則它是相對服務器根目錄。 4) ScriptAlias :指定 CGI程序所在目錄,一般所有的 CGI腳本都要放在實際路徑里,用戶訪問執(zhí)行時輸入站點 +虛擬路徑 +CGI腳本名,本課題中 CGI的路徑設為: ScriptAlias /cgibin//mnt/jffs2/web/ibin/。 5) CGIPath: /bin:/usr/bin:/usr/local/bin,提供 CGI程序的 PATH環(huán)境變量值 。 用戶可以根據(jù)自己需要,對 ,但必須要保證其他的輔助文件和設置必須和 ,不然 Boa就不能正常工作。 在上面的例子中,我們還需要cd /home/cvtech/jx2410/examples/ tar zxvf cd boa/src CC= /usr/local/arm/畢業(yè)設計論文 32 創(chuàng)建日志文件所在目錄 /var/log/boa,將 到 /etc目錄。 來指明不同文件擴展名對應的 MIME類型,一般 可以直接從 Linux主機上拷貝一個,大部分也都是在主機的 /etc目錄下。 Linux 下動態(tài) Web 頁面的實現(xiàn) 本 課題 中通過 CGI程序來 獲取用戶的請求、查詢條件,使用 HTML方式描述結(jié)果并直接回送到客戶端的瀏覽器上。生成動態(tài)網(wǎng)頁的步驟: (1) 用戶在瀏覽器中提出數(shù)據(jù)或查詢條件的請求,并執(zhí)行 ―提交 ‖后,便將請求信息發(fā)送到網(wǎng)上相應的 Web服務器上; (2) Web服務器收到這一請求便激活一個 CGI程序 (程序是駐留在 Web服務器上的一個程序 ); (3) CGI程序調(diào)用該服務器下的所有程序或數(shù)據(jù)庫,并完成讀者需要的任務,同時將處理結(jié)果送回 CGI網(wǎng)關接口; (4) 網(wǎng)關接口程序又將其結(jié)果轉(zhuǎn)換成該服務器能識別的 HTML 文件格式,并確定 CGI返 回文檔的類型; (5) Web服務器將其結(jié)果送回瀏覽器中,瀏覽器進行數(shù)據(jù)處理并顯示結(jié)果。 由于 C語言在平臺無關性上表現(xiàn)不錯(幾乎在任何的系統(tǒng)平臺下都有其相應編譯器),而且對大多數(shù)程序員而言都算得上很熟悉(不像 Perl),因此, C是 CGI編程的首選語言之一。 CGI程序通常分為以下兩部分 [9]: ? 根據(jù) POST方法或 GET方法從提交的表單中接受數(shù)據(jù)。本文中采用的是 GET方法。 CGI程序必須檢查 REQUEST_METHOD環(huán)境變量以確定是否采用了 POST方法,并決定是否要讀取 STDIN。 ? 用 printf()函數(shù)來 產(chǎn)生 HTML源代碼,并將經(jīng)過解碼后的數(shù)據(jù)正確地返回給瀏覽器。 將 CGI測試程序 cgi_test/ /home/cvtech/jx2410/examples/目錄下。 然后安裝源代碼: CGI 程序分析 CGI 程序見附錄 1. 在 中定義了 main()函數(shù): 1) 用 ―form_method = getRequestMethod()?!瑢⒄{(diào)用 POST/GET 方法的信息存儲在form_method 中,調(diào)用 POST,則為 1;調(diào)用 GET,則為 0。 cd /home/cvtech/jx2410/examples tar zxvf cd cgitest make cp cgi_test /tftpboot 畢業(yè)設計論文 33 2) 以下程序先定義了若采用 GET 方式則調(diào)用函數(shù) getGETvars();若采用 POST 方式則調(diào)用函數(shù) getPOSTva
點擊復制文檔內(nèi)容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1