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

正文內(nèi)容

基于嵌入式linux的mp3播放器的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(編輯修改稿)

2025-07-24 20:29 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 PATH;(3)隨后用保存退出。執(zhí)行命令source /etc/profile ,這樣就不需要重新啟動(dòng)計(jì)算機(jī)就使得上述更改立即生效了。(4)在控制臺(tái)輸入“armlinuxgcc v”,最后一行信息表明安裝成功。 查看安裝的armlinuxgcc相關(guān)信息 Bootloader和Uboot的介紹 啟動(dòng)一個(gè)計(jì)算機(jī)系統(tǒng)的第一步操作是加電,隨后引導(dǎo)程序運(yùn)行,讀取硬盤(pán)上的內(nèi)核鏡像進(jìn)而載入RAM,然后才是啟動(dòng)操作系統(tǒng)。Windows系統(tǒng)中的引導(dǎo)程序就是稱(chēng)為BIOS的程序,而在Linux中的引導(dǎo)程序則稱(chēng)為Bootloader。通過(guò)這段程序,可以初始化硬件設(shè)備。Linux下的的開(kāi)源Bootloader有GRUB、LILO、Loadlin、RedBoot、UBoot、BLOB、LinuxBIOS、Etherboot和ROLO等。存儲(chǔ)介質(zhì)如磁盤(pán)、NOR Flash或NAND Flash,它們的物理地址起點(diǎn)開(kāi)始放置著引導(dǎo)程序,即Bootloader程序。 UBoot是一個(gè)通用的引導(dǎo)程序(Universal Boot Loader),其通用性主要體現(xiàn)在不僅支持對(duì)多種嵌入式操作系統(tǒng)的引導(dǎo),包括Linux、QNX、LynxOS、NetBSD、VxWorks等;而且對(duì)多個(gè)體系架構(gòu)的嵌入式處理器提供支持,如ARM、PowerPC、MIPS和XSCALE等。UBoot是目前ARM平臺(tái)使用最多、應(yīng)用最廣泛Bootloader了。 Bootloader(即Uboot)的功能:設(shè)置并初始化硬件如CPU、RAM 、中斷、時(shí)鐘、串口;引導(dǎo)操作系統(tǒng);下載程序、燒寫(xiě)系統(tǒng)、開(kāi)機(jī)LOGO、驅(qū)動(dòng)管理和閃存分區(qū)管理等功能。 燒寫(xiě)Uboot 剛拿到開(kāi)發(fā)板時(shí),由于對(duì)燒寫(xiě)不夠熟悉,操作錯(cuò)誤,令NAND分區(qū)中的數(shù)據(jù)受破壞,導(dǎo)致無(wú)法通過(guò)NAND中的Uboot啟動(dòng)。而XC2440開(kāi)發(fā)板的NOR Flash中默認(rèn)沒(méi)有Uboot,所以需要重新燒寫(xiě)Uboot這一步驟。 燒寫(xiě)硬件工具:JLink仿真器()。 JLink仿真器連接開(kāi)發(fā)板 燒寫(xiě)軟件工具:Setup_JLinkARM_V408i (安裝好之后,桌面出現(xiàn)多個(gè)快捷方式,點(diǎn)擊一個(gè)名為JFlash ARM 的快捷方式)。 燒寫(xiě)流程:連接線(xiàn)路;由于JLink仿真器只能燒寫(xiě)NOR Flash(JTAG仿真器才是既能燒寫(xiě)NOR Flash,又能燒寫(xiě)NAND Flash的,但是其價(jià)格更貴),所以先向NOR中燒Uboot,再?gòu)腘OR啟動(dòng)Uboot,進(jìn)而向NAND燒寫(xiě)Uboot。 燒寫(xiě)關(guān)鍵步驟的說(shuō)明:打開(kāi)JFlash ARM——“Option”菜單——“Project Setting”,進(jìn)入工程配置界面。有一項(xiàng)對(duì)CPU的配置,其中的“Core”選項(xiàng)選擇ARM9 ;“Check core ID”中填寫(xiě) “00324090”,該數(shù)字表示的是S3C2440這一CPU的ID號(hào);“Use target RAM Addr”表示SDRAM的起始地址為40000000;“Use following init sequence”表示將要設(shè)置SDRAM的初始化序列,該參數(shù)用來(lái)設(shè)置一些寄存器,如看門(mén)狗定時(shí)器控制寄存器、中斷屏蔽寄存器、CPU時(shí)鐘分頻控制寄存器等。 對(duì)CPU的配置 設(shè)置好相關(guān)參數(shù)之后,在“File”菜單中,選擇“Open”,打開(kāi)要燒寫(xiě)的鏡像文件,這里我們燒寫(xiě) 文件。目的地為NOR Flash。,表明燒寫(xiě)成功。 燒寫(xiě)成功的提示信息 向NAND Flash燒寫(xiě)Uboot 首先將開(kāi)關(guān)啟動(dòng)選擇開(kāi)關(guān)撥至“NOR”,從NOR啟動(dòng),從DNW軟件界面可以看到Uboot的啟動(dòng)界面(),注意方框中的信息,表明啟動(dòng)介質(zhì)為NOR Flash。 由NOR啟動(dòng),Uboot界面從鍵盤(pán)輸入“1”,按回車(chē),向NAND進(jìn)行燒寫(xiě)Uboot的工作。 向NAND進(jìn)行燒寫(xiě)Uboot 然后將開(kāi)發(fā)板啟動(dòng)方式選擇開(kāi)關(guān)撥至“NAND”,加電啟動(dòng),從終端中可以看到Uboot界面出現(xiàn)了“NandFlash Booting”的提示信息。 從NAND Flash啟動(dòng)后的界面 之后選擇“6”;先把NAND格式化;完成后再選擇“2”來(lái)燒寫(xiě)Linux內(nèi)核;完成之后選擇 “3”進(jìn)行文件系統(tǒng)的燒寫(xiě)。這些步驟就不進(jìn)行詳細(xì)敘述了。 使用FTP下載工具 使用串口線(xiàn)下載速率較低,每秒只能傳輸幾十KB的數(shù)據(jù);使用下載線(xiàn)傳輸?shù)脑?huà),速率為每秒500KB左右;通過(guò)使用網(wǎng)線(xiàn)搭建局域網(wǎng)傳輸環(huán)境??梢钥闯鍪褂镁W(wǎng)線(xiàn)進(jìn)行傳輸,可以節(jié)約很多時(shí)間,并且操作方便(安裝64位Windows系統(tǒng)的計(jì)算機(jī)由于不能安裝下載線(xiàn)的驅(qū)動(dòng)程序,導(dǎo)致無(wú)法正常使用下載線(xiàn);除此之外下載線(xiàn)還不能傳輸普通文件)。在局域網(wǎng)環(huán)境中,使用“8UFTP”這個(gè)工具軟件可以在開(kāi)發(fā)板同PC之間方便地傳輸文件。第四章 系統(tǒng)詳細(xì)設(shè)計(jì) 關(guān)于移植的原理和介紹 使某個(gè)平臺(tái)的代碼運(yùn)行在其他平臺(tái)上過(guò)程稱(chēng)為移植。根據(jù)實(shí)際的硬件平臺(tái),修改Linux內(nèi)核目錄中的Makefile文件、配置文件以及某些源代碼,使之可以運(yùn)行在ARM,PowerPC,X8MIPS等平臺(tái)上。本畢業(yè)設(shè)計(jì)中的軟件,是需要移植到基于ARM9內(nèi)核的三星S3C2440平臺(tái)的。Makefile的作用就是根據(jù)./configure命令的情況,構(gòu)造出需要編譯的源文件列表,然后分別編譯并把目標(biāo)代碼鏈接到一起,最終形成目標(biāo)二進(jìn)制鏡像文件。 簡(jiǎn)單地說(shuō)移植就是根據(jù)用戶(hù)自行選擇的硬件平臺(tái)進(jìn)行重新修改和編譯源代碼,進(jìn)而使源代碼支持相應(yīng)的硬件,使編譯后的文件(如系統(tǒng)內(nèi)核、文件系統(tǒng)、應(yīng)用程序等)可以在該硬件平臺(tái)上運(yùn)行。假如源代碼中缺少某對(duì)些硬件的支持,就可以根據(jù)自身需要進(jìn)行相應(yīng)的開(kāi)發(fā),并加入到源碼中編譯,最終實(shí)現(xiàn)對(duì)該硬件的支持。 構(gòu)建一個(gè)完整的嵌入式系統(tǒng)涉及到的移植工作包含Uboot移植、內(nèi)核移植、文件系統(tǒng)移植以及Qt的移植。 Uboot、內(nèi)核和文件系統(tǒng)的移植。在Uboot是一種用于嵌入式系統(tǒng)中的開(kāi)機(jī)引導(dǎo)程序。在移植工作中,要改動(dòng)的工作主要有修改makefile文件、加入針對(duì)CPU的時(shí)鐘配置、修改Norflash相關(guān)參數(shù)、加入對(duì)啟動(dòng)zImage內(nèi)核鏡像的支持等。內(nèi)核移植的主要工作主要是修改與CPU體系結(jié)構(gòu)相關(guān)部分,即啟動(dòng)代碼的修改,內(nèi)核的鏈接及裝入,參數(shù)傳遞,內(nèi)核引導(dǎo)等幾個(gè)部分。主要對(duì)下面這些進(jìn)行修改:?jiǎn)?dòng)參數(shù)、Makefile文件,開(kāi)發(fā)驅(qū)動(dòng)程序等。還有其他需要修改的參數(shù),比如根據(jù)開(kāi)發(fā)板對(duì)機(jī)器碼進(jìn)行修改、指定閃存參數(shù)(例如關(guān)閉ECC校驗(yàn))、設(shè)置晶振頻率等。內(nèi)核移植通常使用圖形化界面工具“menuconfig”進(jìn)行快速的操作。 根文件系統(tǒng)以樹(shù)型結(jié)構(gòu)組織,包含內(nèi)核和系統(tǒng)管理所需要的各種文件和程序即/bin、/sbin、/root、/lib、/tmp、/usr、/home、/mnt等文件夾。文件系統(tǒng)的移植就是要產(chǎn)生匹配開(kāi)發(fā)板的這些文件夾。嵌入式Linux系統(tǒng)中,通常使用支持圖形化操作的Busybox工具來(lái)移植根文件系統(tǒng)。為了支持Qt,在根文件系統(tǒng)的移植工作中還要加上Qt相關(guān)的一些配置,如移植tslib以支持使用觸摸屏的Qt程序、qmake配置參數(shù)的設(shè)定、添加字體庫(kù)等。 Bootloader的移植、內(nèi)核和驅(qū)動(dòng)的移植、文件系統(tǒng)的移植以及Qt的移植過(guò)程并不是本畢業(yè)設(shè)計(jì)的重點(diǎn),本次畢業(yè)設(shè)計(jì)直接使用廠(chǎng)商提供的Uboot、內(nèi)核鏡像、支持QT/E的文件系統(tǒng)。本次設(shè)計(jì),首要的一點(diǎn)是學(xué)習(xí)嵌入式Linux的開(kāi)發(fā)流程,不需要太過(guò)于拘泥于這些細(xì)節(jié)的實(shí)現(xiàn)上,因?yàn)檫@些細(xì)節(jié)都是由廠(chǎng)商開(kāi)發(fā)和完成的,用戶(hù)在其上直接進(jìn)行二次開(kāi)發(fā)即可。 開(kāi)源播放軟件MPlayer的安裝和移植 在X86平臺(tái)上安裝MPlayerMPEG1,MPEG2標(biāo)準(zhǔn)中定義的第1,2,3層的音頻壓縮是流行的有損音頻壓縮方式[6]。利用第三層音頻壓縮方法,所產(chǎn)生的音樂(lè)文件就是我們生活中所常見(jiàn)的“MP3”。MPlayer是一款開(kāi)源的媒體播放器,可以在Linux、UNIX、Mac OS X 甚至Windows操作系統(tǒng)下使用。該播放器的開(kāi)發(fā)者們稱(chēng)其為MPlayer The Movie Player,從其名稱(chēng)中就可以看出該播放器最初目的是是用于播放視頻的,MPlayer也可以播放音頻文件,比如MP3格式的音頻文件。為了實(shí)現(xiàn)MP3音樂(lè)文件的播放,還需要解碼庫(kù)才能正常播放MP3音樂(lè)文件,比如libmad就是一個(gè)開(kāi)源MP3解碼庫(kù),對(duì)MP3解碼算法做了很多優(yōu)化。下面是詳細(xì)的安裝過(guò)程:(1)準(zhǔn)備源碼包:;(2)安裝過(guò)程:,在控制臺(tái)中進(jìn)入/opt目錄,輸入tar 命令進(jìn)行解壓。(3)然后依次輸入下面的三條命令: ./configure make make install (4),表明在PC上安裝可在X86平臺(tái)下運(yùn)行的MPlayer最終成功安裝。 安裝Mplayer 成功 ,名為“mplayer”,該文件就是安裝成功后的Mplayer 。將歌曲“”復(fù)制到/opt/目錄下,輸入如下命令:mplayer /opt/songs/ ,就進(jìn)入播放界面了。如果沒(méi)有聲音的話(huà),在播放命令之前輸入如下命令:modprobe snd_pcm_oss,然后再進(jìn)行播放。如果還是不出聲音,請(qǐng)關(guān)注下VMware音頻設(shè)置以及操作系統(tǒng)音頻設(shè)定是否正確。 用X86平臺(tái)的MPlayer播放音樂(lè) 向ARM平臺(tái)移植MPlayer MPlayer的移植過(guò)程主要包括源代碼的獲取,庫(kù)的安裝,詳細(xì)過(guò)程如下所示: (1)下載好下面的源代碼: (2)。 。進(jìn)入該目錄,在該目錄下使用./configure命令配置這些庫(kù)編譯可選項(xiàng),例如:指定交叉編譯器、編譯選項(xiàng)、打開(kāi)生成靜態(tài)庫(kù)選項(xiàng)(disableshared表示不生成動(dòng)態(tài)庫(kù))、關(guān)閉調(diào)試和安裝路徑等,然后用ARM交叉編譯工具交叉編譯。詳細(xì)地命令如下: tar xzvf cd ./configure CC=armlinuxgcc host=armlinux disableshared disabledebugging prefix=/tmp/libid3tag/id3 make make install 完成后會(huì)在/tmp/libid3tag/id3/目錄下生成包含頭文件和庫(kù)文件的文件夾include和lib。其中include文件夾下的頭文件是“”; lib文件夾下的靜態(tài)庫(kù)文件是“” (4) 。 。進(jìn)入該目錄,在該目錄下使用./configure命令配置這些庫(kù)編譯可選項(xiàng),例如:指定交叉編譯器、編譯選項(xiàng)、生成靜態(tài)庫(kù)、關(guān)閉調(diào)試和安裝路徑等,然后用ARM交叉編譯工具交叉編譯libid3。詳細(xì)的命令如下: tar xzvf cd ./configure CC=armlinuxgcc host=armlinux disableshared disabledebugging prefix=/tmp/libmad/mad make make install 完成后在/tmp/libmad/mad/目錄下生成包含頭文件和庫(kù)文件的文件夾include和lib。其中include文件夾下的頭文件是“”;lib文件夾下的靜態(tài)庫(kù)文件是“”。為了方便下一步對(duì)MPlayer的編譯,、。 (5)編譯安裝MPlayer的步驟 源碼包,放到 linux下, 解壓 MPlayer 源碼tar xzvf ; 在解壓后的MPlayer 源碼目錄創(chuàng)建一個(gè)腳本文件,名為“mplayer_config_file”。該文件的實(shí)質(zhì)是對(duì)./congigure命令中的那些編譯參數(shù)進(jìn)行指定:vim mplayer_config_file ,向其中增加如下內(nèi)容:./configure \prefix=/data/lost+found/mplayer_install \disablemp3lib \ disablearmv5te \disablearmv6 \disablemencoder \disableiconv \disablelive \disabledvdnav \disabledvdread \disabledvdreadinternal \disablelibdvdcssinternal \enablelibavcodec_a \enablelibavcodec_mpegaudio_hp \disableivtv \enablemad \enablefbdev \enableossaudio \enablealsa \enablecrosspile \cc=armlinuxgcc \hostcc=gcc \target=armlinux \enablestatic \disablenetwork \disableinet6 \disableftp \disablewin32dll \disablevcd \disabletv \extracflags=I/tmp/libmad/mad/include \extraldflags=L/tmp/libmad/mad/lib \2amp。1 |tee logfile 保存后退出。(說(shuō)明:第二行的disablemp3lib ,表示使編譯的時(shí)候不包含mp3lib解碼器,因?yàn)楸敬萎厴I(yè)設(shè)計(jì)中的MPlayer播放器將使用解碼性能更優(yōu)秀的mad解碼器,即15行的enablemad 參數(shù)。) 依次執(zhí)行下面的命令: ./mplayer_config_file160
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1