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

正文內容

基于arm的linux多媒體播放器mplayer的設計與實現(xiàn)畢業(yè)設計(編輯修改稿)

2025-07-21 16:39 本頁面
 

【文章內容簡介】 在安裝中如果報錯“ 找不到 /2410RP_linux/CDROM/root”進入/2410RP_linux文件夾后把所有文件夾的名字都改成大寫字母就能通過,錯誤的原因可能是系統(tǒng)在復制 U 盤中文件時誤把大寫文件名變成了小寫。安裝成功后用armv4lunknownlinuxgcc –v 命令即可查看 gcc 版本信息,如圖 6圖 6 armv4lunknownlinuxgcc 版本信息10(二)armlinuxgcc 編譯器的安裝在這之后我又安裝 armlinuxgcc 版本,因為開發(fā)版自帶的編譯器版本太低,后面編譯 mplayer 時會報錯,新編譯器安裝在 /usr/local/arm/① 下載 (有 )② 解壓在/usr/local 中③ 修改環(huán)境 export PATH=/usr/local/arm/:$PATH 安裝成功后用arm linuxgcc –v 命令即可查看 gcc 版本信息,如圖 7圖 7 arm linuxgcc 版本信息 配置 minimini 是一個通信終端程序,通過 mini 可以設置、監(jiān)控串口工作狀態(tài),接受、顯示串口收到的信息,并且在主機和開發(fā)板之間傳遞數(shù)據(jù)和控制指令,實現(xiàn)通過主機調試開發(fā)板的目的。在 PC 終端輸入命令 :mini –s 進行配置。 port /dev/ttyS1 baudrate 115200 minit mreset rtscts No它表示端口為/dev/ttyS1,波特率為 115200、停止位 1 位、無奇偶驗證位、無數(shù)據(jù)流控制,如圖 8 所示。11注意這里的 ttyS1,首先由于筆記本電腦沒有串口,我這里用的是 usb 轉串口線,在 win7 系統(tǒng)下已經把 usb 轉換為串口信息,所以在虛擬機中不能用 ttyUSB0,用了會報錯。其次“S” 一定要大寫,如果是小寫系統(tǒng)因無法識別而報錯。最后 ttyS0 對應COM1 口,ttyS1 對應 COM2 口以此類推,如果使用 ttyS0 系統(tǒng)報錯,可以嘗試ttyS1 和 ttyS2。 配置 NFS 服務NFS (Network File System)指網(wǎng)絡文件系統(tǒng),是 Linux 系統(tǒng)中經常使用的一種服務,NFS 是一個 RPC service ,很像 windows 中的文件共享服務。它的設計是為了在不同的系統(tǒng)間使用, 所以它的通訊協(xié)議設計與主機及作業(yè)系統(tǒng)無關。當使用者想用遠端檔案時只要用mount就可把 remote 檔案系統(tǒng)掛接在自己的檔案系統(tǒng)之下,使得遠端的檔案在使用上和 local 的檔案沒兩樣。 圖 8 mini 設置界面12 圖 9 setup 圖形化設置界面在 NFS 服務中,宿主機(Servers)是被掛載(mount)端,為了遠端客戶機(Clients ) (如:S3C2410RP 目標板)可以訪問宿主 PC 機的文件,我們需要配置宿主機兩方面內容:①打開 NFS 服務,②允許“指定用戶 ”訪問宿主 PC 機。a) 在終端輸入“steup” 進入圖形化設置界面,如圖 9 所示。b) 在 System services 選項中使用空格鍵選中 NFS 服務去掉 ipchains 和iptables 服務。c) 在 Firewall configuration 選項中選擇 No firewall 關掉防火墻,注意這里RedHat 有一個小 BUG,就是無論選擇哪個等級的防火墻,下次進來時防火墻等級還是 HIGH。不用管它,只要選擇 No firewall 系統(tǒng)就已經關閉了防火墻,盡管下次進來時還是 HIGH。如圖 10 所示d) 在 exports 文件寫入以下命令允許 “指定用戶” 訪問宿主 PC 機/.* (rw,insecure,no_root_squash,no_all_squash )e)設置主機 IP 和開發(fā)板 IP,開發(fā)板 IP 在 mini 中設置。13圖 10 設置防火墻連接完網(wǎng)線和串口線之后就可以實現(xiàn)開發(fā)板和主機的通信了,在這之前可以使用 PING 命令來檢測是否通暢。如果 PING 不通,可能是以下原因:1,開發(fā)板和主機不在同一網(wǎng)段,使用 ifconfig eth0 *.*.*.* up命令。2,主機防火墻開啟了。3,看主機是否能 ping通其他計算機。4,linux 虛擬機設置為橋接。,如果存在多網(wǎng)卡,一定要將其他網(wǎng)卡關閉。這里的第 4 條和 5 條我都遇到了,VM 虛擬機中網(wǎng)絡連接方式默認為 NAT,要把它改成 BRIDGE。由于筆記本的網(wǎng)卡被開發(fā)板占用,我一直在用無線網(wǎng)上網(wǎng)查資料解決問題,最終才知道恰恰是要關閉無線網(wǎng)才能解決問題。 編譯 BootloaderBootloader 是一段小程序,它在系統(tǒng)上電開始時執(zhí)行,初始化硬件設備準備好軟件環(huán)境,最后調用操作系統(tǒng)內核。由于 Bootloadr 需要直接操作硬件,所以它嚴重依賴于硬件,而且依據(jù)所引導的操作系統(tǒng)不同,也有不同的選擇。Bootloader 的啟動過程分為單階段和多階段兩種。往往多階段 Bootloader 能提供更為復雜的功能和更好的移植性。從固態(tài)存儲設備上啟動的 Bootloader 大多都是兩階段的。第一階段用匯編代碼來實現(xiàn);第二階段用 C 語言來實現(xiàn)。(一)VIVI 簡介Vivi 是韓國 mizi 公司開發(fā)的 bootloader, 適用于 ARM9 處理器。 Vivi 有兩種工作模式:啟動加載模式和下載模式【5】 。啟動加載模式可以在一段時間后(這個時間可更改)自行啟動 linux 內核,這時 vivi 的默認模式。在下載模式下,vivi 為用戶提供一個命令行接口,通過接口可以使用 vivi 提供的一些命令,見下表 1: 命令 功能Load 把二進制文件載入 Flash 或 RAMPart 操作 MTD 分區(qū)信息。顯示、增加、刪除、復位、保存 MTD14Param 設置參數(shù)Boot 啟動系統(tǒng)Flash 管理 Flash,如刪除 Flash 的數(shù)據(jù) 表 1 vivi 常用命令(二)vivi 代碼分析 vivi 的代碼包括 arch ,init ,lib,drivers 和 include 等幾個目錄,共 200 多條文件。 Vivi 主要包括下面幾個目錄: arch:此目錄包括了所有 vivi 支持的目標板的子目錄,例如 s3c2410 目錄。 drivers:其中包括了引導內核需要的設備的驅動程序(MTD 和串口) 。MTD目錄下分 map、nand 和 nor 三個目錄。 init : 這個目錄只有 和 兩個文件。和普通的 C 程序一樣, vivi 將從 main 函數(shù)開始執(zhí)行。 lib :一些平臺公共的接口代碼,比如 里的 udelay()和 mdelay()。 include :頭文件的公共目錄,其中的 定義了這塊處理器的一些寄存器。Platform/ 定義了與開發(fā)板相關的資源配置參數(shù),我們往往只需要修改這個文件就可以配置目標板的參數(shù),如波特率、引導參數(shù)、物理內存映射等。15(三)vivi 的運行vivi 的運行分為兩個階段,如圖 11 所示:? vivi 的第一階段 完成含依賴于 CPU 的體系結構硬件初始化的代碼,包括禁止中斷、初始化串口、復制自身到 RAM 等。相關代碼集中在 (\vivi\arch\s3c2410 目錄下);? vivi 的第二階段是從 main ()函數(shù)開始,同一般的 C 語言程序一樣,該函數(shù)在/init/ 文件中,包括打印 vivi 版本、時鐘初始化和 IO 口初始化、內存初始化、堆棧初始化、MTD 設備初始化、私有數(shù)據(jù)和內置命令初始化。(四)vivi 的編譯VIVI 默認是在文件夾/2410RP_linux/vivi 中,如果是第一次編譯,需要輸入下列 2 條命令: ① cd /2410RP_linux/vivi/ ② make clean③ make如果 vivi 工程沒有問題,會生成的二進制文件 vivi, 保存在/2410RP_linux/vivi 文件夾下以供后面燒寫。 編譯 Linux 內核內核移植主要是指操作系統(tǒng)從一種硬件平臺轉移到另一種硬件平臺上運行。對于嵌入式系統(tǒng)來說,有各種體系結構的處理器平臺,使用的外圍硬件也不一樣。嵌入式 Linux 嚴重依賴于具體硬件,所以只要硬件平臺有略微差別,也需要做一些移植的工作。Linux 內核在 PC 上以文件的形式存在(保存成磁盤文件形式) ,就是所謂的“映圖 11 vivi 的啟動過程16像文件”。Linux 內核映像文件最終是要燒錄到目標板的 flash 中?!?Linux 內核映像文件有兩種:一種是非壓縮版本,叫 Image;另一種是它的壓縮版本,叫 zImage。zImage 是 Image 經過壓縮形成的,所以它的大小比 Image 小。為了能使用 zImage 這個壓縮版本,必須在它的開頭加上解壓縮的代碼,將 zImage 解壓縮之后才能執(zhí)行,因此它的執(zhí)行速度比 Image 要慢【6】 。但考慮到嵌入式系統(tǒng)的存儲空容量一般都比較小,內核要常駐內存,采用 zImage 可以占用較少的存儲空間,因此犧牲一點性能上的代價也是值得的,所以一般嵌入式系統(tǒng)均采用壓縮的內核映像文件,即 zImage。為了達到生成 文件,要分為下面兩步:配置;編譯。配置內核有多種方式,我們選用一種操作性比較好的圖形界面,執(zhí)行 make menuconfig 命令可以進入,通過此部分,我們可以方便的選擇,決定哪些部分被加載并編譯入LINUX 內核,哪些部分被編譯為模塊,哪些部分不用。配置完成后,執(zhí)行 make zImage 命令,編譯后得到 文件,保存在/2410RP_linux/kernel/arch/arm/boot 下面make clean 后第一次使用 make zImage 命令,會占用相當長的時間。宿主機會根據(jù) 文件對系統(tǒng)進行編譯【7】 。首先使用交叉編譯器( armv4lunknowngcc )把各個文件夾下用過的 .c 文件編譯為二進制的目標文件,其次用鏈接器 (armv4lunknown ld)把這些目標文件連接到一起;最后壓縮,就得到了內核的鏡像文件 zImage 。這個文件是可以下載并燒寫到 S3C2410RP 目標板上運行的內核。 制作文件系統(tǒng)嵌入式系統(tǒng)與通用 PC 機不同,一般沒有硬盤這樣的存儲設備而是使用 Flash閃存芯片、小型閃存卡等專為嵌入式系統(tǒng)設計的存儲裝置。Flash 是目前嵌入式系統(tǒng)中廣泛采用的主流存儲器,它的主要特點是按整體/扇區(qū)擦除和按字節(jié)編程,具有低功耗、高密度、小體積等優(yōu)點。目前,F(xiàn)lash 分為 NOR, NAND 兩種類型。鑒于 Flash 存儲介質的讀寫特點,傳統(tǒng)的 Linux 文件系統(tǒng)己經不適合應用在嵌入式系統(tǒng)中,基于這樣的原因,產生了很多專為 Flash 設備而設計的文件系統(tǒng),這里我使用的是 Cramfs 文件系統(tǒng)。Cramfs 是 Linux 的創(chuàng)始人 Linus Torvalds 開發(fā)的一種可壓縮只讀文件系統(tǒng)在 Cramfs 文件系統(tǒng)中,每一頁被單獨壓縮,可以隨機頁訪問,其壓縮比高達 2:1, 為17嵌入式系統(tǒng)節(jié)省大量的 Flash 存儲空間。Cramfs 文件系統(tǒng)以壓縮方式存儲,在運行時解壓縮,所以不支持應用程序以 XIP 方式運行,所有的應用程序要求被拷到RAM 里去運行,但這并不代表比 Ramfs 需求的 RAM 空間要大一點,因為 Cramfs 是采用分頁壓縮的方式存放檔案,在讀取檔案時,不會一下子就耗用過多的內存空間,只針對目前實際讀取的部分分配內存,尚沒有讀取的部分不分配內存空間,當我們讀取的檔案不在內存時, Cramfs 文件系統(tǒng)自動計算壓縮后的資料所存的位置,再即時解壓縮到 RAM 中。另外,它的速度快,效率高,其只讀的特點有利于保護文件系統(tǒng)免受破壞,提高了系統(tǒng)的可靠性。 但是它的只讀屬性同時又是它的一大缺陷,使得用戶無法對其內容對進擴充。Cramfs 映像通常是放在 Flash 中,但是也能放在別的文件系統(tǒng)里,使用 loopback 設備可以把它安裝別的文件系統(tǒng)里。使用 mkcramfs 工具可以創(chuàng)建 Cramfs 映像【8】 。文件系統(tǒng)是 Linux 系統(tǒng)必備的一個部分,主要是一些系統(tǒng)文件和應用文件存儲的地方,但是通常使用的 PC 上的文件系統(tǒng)包括很多功能,但是體積比較大通常有幾百兆之多,但是在嵌入式系統(tǒng)中要使用這樣的文件系統(tǒng)是不可能的,所以,嵌入式系統(tǒng)中的文件系統(tǒng)是一個簡化版,包括必須的幾個目錄和文件,完成需要的功能即可。下面我們就來對文件系統(tǒng)中包含的東西和文件進行些簡要的說明。 文件系統(tǒng)要求建立的目錄有/bin ,/sbin ,/etc ,/dev ,/lib ,/mnt ,/proc,/usr 。 ? /bin 目錄下需要包含常用的用戶命令,如 sh 等。 ? /sbin 目錄要包含所有系統(tǒng)命令,如 reboot 等 。 ? /etc 目錄下是系統(tǒng)配置文件。 ? /boot 目錄下是內核映像 ? /dev 目錄含有系統(tǒng)所有的特殊設備文件 ? /lib 目錄包含系統(tǒng)所有的庫文件 ? /mnt 目錄只用于掛接,可以是空目錄 ? /proc 目錄是/proc 文件系統(tǒng)的主目錄,包含了系統(tǒng)的啟動信息 ? /usr 目錄含有用戶選取的命令。cramfs 是一種可讀/ 寫的文
點擊復制文檔內容
外語相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1