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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于arm的mp3播放器設(shè)計(jì)(文件)

2024-12-27 19:39 上一頁面

下一頁面
 

【正文】 t –t proc none /proc mount –t tmpfs none /dev mount –t tmpfs none /var mount –t tmpfs none /tmp 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 21 echo ―/sbin/mdev‖ /proc/sys/kernel/hotplug mdev –s 創(chuàng)建 lib 目錄 在文件系統(tǒng)根目錄下創(chuàng)建 lib 目錄: mkdir /nfs_root/root_fs/lib 為文件系統(tǒng)添加必要的庫,并為庫創(chuàng)建軟連接: cd /opt/ cp /nfs_root/root_fs/lib cd /nfs_root/root_fs/lib ln –s ln –s ln –s 在文件系統(tǒng)根目錄下補(bǔ)全其它 Linux 架構(gòu)規(guī)定的目錄: cd /nfs_root/root_fs/ mkdir home root var proc mnt tmp sys 此時(shí) 根文件系統(tǒng)所需要的必備文件已經(jīng)全部制作完成,因?yàn)樵O(shè)計(jì)需要在開發(fā)板上執(zhí)行,所以還需要將該文件系統(tǒng)的鏡像文件燒寫到開發(fā)板中。按鍵 控制 模塊實(shí)現(xiàn)了通過按鍵控制音樂的播放,停止,上一首,下一首的功能。 IIS 總線接口支持 IIS 總線數(shù)據(jù)格式和 MSBjustified 數(shù)據(jù)格式。 IISCLK 是串行位時(shí)鐘總線,它為串行數(shù)據(jù)提供位時(shí)鐘。 L3 接口相當(dāng)于混音器控制接口,可以控制輸入、輸出音頻信號(hào)的低音及音量大小等,從而來實(shí)現(xiàn)對(duì)聲音的控制。 對(duì)聲卡進(jìn)行編程時(shí)首先要做的是打開與之對(duì)應(yīng)的硬件設(shè)備,這是借助于 open 系統(tǒng)調(diào)用來完成的,并且一般情況下使用的是 /dev/dsp 文件。 return 1。下面的代碼就是以只寫方式打開聲卡進(jìn)行播放聲音的操作: int handle = open(―/dev/dsp‖, O_WRONLY)。 因?yàn)?Linux 操作系統(tǒng)沒有配備 S3C2440 的聲卡驅(qū)動(dòng)程序,所以 本次設(shè)計(jì)首先 需要完成聲卡驅(qū)動(dòng)的設(shè)計(jì)。 IISLRCK是左右通道選擇總線,用于左右聲道的切換, IISLRCK 為高電平時(shí)表示正在傳輸?shù)氖亲舐暤罃?shù)據(jù),為低時(shí)傳輸?shù)氖怯衣暤罃?shù)據(jù),因此 IISLRCK 應(yīng)正好與采樣頻率相等。 IIS 總線有四線,包括: IISDI, IISDO, IISCLK, IISLRCK。 IIS 總線是串行數(shù)字音頻總線協(xié)議。 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 22 4 MP3 播放器的設(shè)計(jì)與實(shí)現(xiàn) 基于 ARM 的 MP3 播放器的系統(tǒng)結(jié)構(gòu)圖 如 圖 41 所示: 圖 41 播放器結(jié)構(gòu) 圖 其中,播放模塊實(shí)現(xiàn)了 MP3 播放音樂的功能,同步歌詞模塊實(shí)現(xiàn)了讓 MP3 在播放歌曲的同時(shí),顯示對(duì)應(yīng)的歌詞的功能。 之后 讓 busybox 在指定的目錄下生成文件系統(tǒng): make CONFIG_PREFIX=/nfs_root/root_fs install 當(dāng)初步生成了 的文件系統(tǒng) 的框架 后,需要豐富其 系統(tǒng)中的 內(nèi)容以達(dá)到 Linux 系統(tǒng)要求的目錄結(jié)構(gòu)及其中的文件: 創(chuàng)建 dev 目錄 創(chuàng)建 dev 目錄并創(chuàng)建必要的設(shè)備節(jié) 點(diǎn),其中需要 console 和 null 設(shè)備節(jié)點(diǎn),故需創(chuàng)建它們。 但是如果按照這種方法,制作文件系統(tǒng)的工作量會(huì)非常的巨大,還會(huì)出現(xiàn)錯(cuò)誤,所以在本設(shè)計(jì)中借助 了 BusyBox 這種工具來制作根文件系統(tǒng)。 /tmp 目錄 : 用于存放臨時(shí)文件 ,通常是空目錄 。 /usr 目錄 : 該目錄下存放的是可以在多個(gè)主機(jī)間共享 ,只讀的程序和數(shù)據(jù)。 /etc 目錄 : 該目錄下存放各種配置文件。 但是當(dāng)文件系統(tǒng)已經(jīng)接近飽和是, Jffs2 會(huì)因?yàn)槔占年P(guān)系,導(dǎo)致系統(tǒng)運(yùn)行速度的降低。 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 19 在 Linux系統(tǒng)中,主要的存儲(chǔ)設(shè)備分為隨機(jī)存取存儲(chǔ)器 RAM和只讀存儲(chǔ)器 ROM??筛鶕?jù)自己喜好設(shè)定。 用 make menuconfig 配置 linux 內(nèi)核,即保留需要的內(nèi)容,這樣可以減少內(nèi)核文件的大小。 Linux 內(nèi)核分析與文件系統(tǒng)移植 Linux 啟動(dòng)過程 在 BootLoader 將 Linux 內(nèi)核映像拷貝到 RAM 中以后,通過 call_linux(0,machine_type,kernel_params_base)這句代碼啟動(dòng) Linux 內(nèi)核。 S3C24X0_REG32 NFEBLK。 S3C24X0_REG32 NFSECC。 S3C24X0_REG32 NFMECCD。 S3C24X0_REG32 NFADDR。 S3C2440_CLKDIVN_PDIVN) ? 2 : 1)。 case S3C2440_CLKDIVN_HDIVN_3_6: hdiv = (camdiv amp。 break。 switch(clkdiv amp。 在函數(shù) ulong get_PCLK(void)中修改: unsigned long clkdiv, camdiv。 case S3C2440_CLKDIVN_HDIVN_3_6: hdiv = (camdiv amp。 break。 switch(clkdiv amp。 在函數(shù) ulong get_HCLK(void)中修改: unsigned long clkdiv, camdiv。 clk_powerUPLLCON = S3C2440_UPLL_48MHz。但這個(gè)文件燒寫到開發(fā)板上后,開發(fā)板卻沒有任何反映。 在 Makefile的中模仿 smdk2410_config目標(biāo)增加新目標(biāo) 2440V3_config 2440V3_config : unconfig $(MKCONFIG) $(:_config=) arm arm920t 2440V3 NULL s3c24x0 這樣,系統(tǒng)就會(huì)在執(zhí)行 make命令時(shí),顯示 2440V3的標(biāo)簽,供操作者選擇?;居布跏蓟瘻?zhǔn)備 RA M 空間拷貝 STAG E 2 到 RA M中設(shè)置堆棧指針跳轉(zhuǎn)到 STAG E 2 的入口處初始化硬件設(shè)備檢查內(nèi)存映射加載內(nèi)核和根文件系統(tǒng)映像設(shè)置內(nèi)核啟動(dòng)參數(shù)調(diào)用內(nèi)核北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 13 這表明 UBOOT 支持 S3C2410,但不支持 S3C2440。 UBOOT 的第一階段功能是: 定義入口 設(shè)置異常向量 本地硬件設(shè)備初始化 北京聯(lián)合大學(xué) 畢業(yè)設(shè)計(jì) 12 初始化內(nèi)存控制器 設(shè)置堆棧、同時(shí)跳轉(zhuǎn)到第二階段的 程序入口 UBOOT 的第二階段主要完成: 調(diào)用一系列的設(shè)備初始化函數(shù) 確定目標(biāo)板是進(jìn)入下載操作模式還是啟動(dòng)加載模式 如果是啟動(dòng)加載模式,則將內(nèi)核映像和根文件系統(tǒng)映像從 FLASH 上獨(dú)到RAM 空間中。通過這段小程序,初始化必要的硬件設(shè)備,創(chuàng)建內(nèi)核需要的一些信息,并將一些信息通過相關(guān)機(jī)制傳遞給內(nèi)核,真正起到引導(dǎo)和加載內(nèi)核的租用 。 在本次設(shè)計(jì)中,對(duì)于設(shè)計(jì)的 MP3 播放器的基本功能 ,例如播放器進(jìn)行歌曲的播放、暫停、停止、以及歌曲的切換等 進(jìn)行了設(shè)計(jì)與優(yōu)化,讓播放器盡可能的滿足準(zhǔn)確性、安全性和穩(wěn)定性以及實(shí)際應(yīng)用 的需要,以減少對(duì)系統(tǒng)資源的消耗,降低硬件成本。 設(shè)備驅(qū)動(dòng)程序是內(nèi)核的一部分,它像內(nèi)核中其它代碼一樣運(yùn)行在內(nèi)核模式。 在本設(shè)計(jì)中采用了 UBOOT作為 Boot Loader 引導(dǎo)程序,當(dāng)打開 MP3 播放器的電源開關(guān)時(shí),系統(tǒng)會(huì)自動(dòng)加載 Linux引導(dǎo)程序。和通用計(jì)算機(jī)不同,嵌入式系統(tǒng)的硬件和軟件都必須高效率的設(shè)計(jì),量體采用,去除冗余,盡量以最小的系統(tǒng)、最低的成本去實(shí)現(xiàn)目標(biāo)功能。硬件包括處理器/微處理器、存儲(chǔ)器及外設(shè)器件和 I/ O 端口、圖形控制器等。它包括硬件和軟件兩部分。 CPU 除了在數(shù)據(jù)傳輸開始和結(jié)束時(shí)做一點(diǎn)處理外,在傳輸過程中 CPU 可以進(jìn)行其他的工作。 S3C2440 的 UART 提供了三個(gè)同步串行 IO口,第一個(gè)串口都可以使用中斷模式和 DMA 模式,換句話說就是 UART 可以產(chǎn)生一個(gè)中斷或者是 DMA 請(qǐng)求使數(shù)據(jù)在 CPU 和 UART 之間進(jìn)行傳遞。 SDRAM 存取速度遠(yuǎn)遠(yuǎn)大于 FLASH 存儲(chǔ)器,而且具有讀、寫屬性。 開關(guān)鍵:搬動(dòng)開關(guān)鍵,讓開發(fā)板運(yùn)行或關(guān)閉。另外一個(gè)是 2M Nor Flash,掉電易失。這一結(jié)構(gòu)具有獨(dú)立的 16KB 指令 Cache 和 16KB 數(shù)據(jù) Cache。其低功耗,簡(jiǎn)單,優(yōu)雅,且全靜態(tài)設(shè)計(jì)特別適合于對(duì)成本和功率敏感型的應(yīng)用。 ARM9 系列微處理器主要應(yīng)用于無線設(shè)備、儀器儀表、安全系統(tǒng)、機(jī)項(xiàng)盒、高端打印機(jī)、數(shù)字照相機(jī)和 數(shù)字?jǐn)z像機(jī)等。 具有功能很強(qiáng)的存儲(chǔ)區(qū)保護(hù)功能。 經(jīng)濟(jì)可行性分析 本設(shè)計(jì)是在 Linux 環(huán)境下的進(jìn)行編程實(shí)現(xiàn)的, Linux 是免費(fèi)、開源的,使用的硬件平臺(tái)是 S3C2440,價(jià)格便宜,運(yùn)行穩(wěn)定,也可方便的移植到其他平臺(tái)。主要對(duì) ARM9TDMI 的指令和數(shù)據(jù)地址接口提供傳輸和訪問允許檢查,提供地址信號(hào)的傳輸和保護(hù)規(guī)劃。 ARM920T 核由 ARM9TDMI、存儲(chǔ)管理單元 (MMU)和高速緩存三部分組成。該播放器是基于嵌入式 Linux 操作系統(tǒng)、以 S3C2440為硬件平臺(tái)。然而,在眾多的廣告當(dāng)中,有一條卻特別引起了筆者的注意,那就是以 艾諾 為首的廠商所提出的 ‖音畫雙絕 ‖的概念,在筆者看來,這不僅僅是一個(gè)概念,一個(gè)名稱,它更是一種潮流的趨勢(shì)。 雖然沒有引起人們太多的注意,但 MPMan F10 的出現(xiàn)從此便啟動(dòng)了 MP3 市場(chǎng),韓國(guó)的許多公司都開始了對(duì) MP3 的研發(fā)和生產(chǎn)。 MPMan F10 的體積為,約有四個(gè) 軟盤堆疊起來這么大,體重為 65 克,可謂非常輕巧。可惜的是,當(dāng)時(shí)三星正在進(jìn)行組織重整,無暇兼顧 Moon 的發(fā)展提案。 TAG_V2(ID3V2)到現(xiàn)在共有 4 個(gè)版本,但流行的播放軟件一般只支持第 3 版本,它存放在文件的首部,包含了作者,作曲,專輯等信息,但是長(zhǎng)度不固定,同時(shí)擴(kuò)展了 ID3V1 的信息量。 MP3 的文件結(jié)構(gòu) MP3 的文件大體分為三部分: TAG_V1(ID3V1), Frame, TAG_V2(ID3V2)??刂奇I盤通常是按鈕開關(guān)。這樣一段聲波就可以被數(shù)字化后變成一串?dāng)?shù)值,每個(gè)數(shù)值對(duì)應(yīng)相應(yīng)抽樣點(diǎn)的振幅值,按順序?qū)⑦@些數(shù)字排列起來就 是數(shù)字音頻信號(hào)了。我們知道聲音的本質(zhì)是波,人說能聽到的聲音的頻率在 20Hz 到 20kHz 之間,稱為聲波。這里需要遵循幾個(gè)規(guī)范: USB 通信協(xié)議, 大容量移動(dòng)存儲(chǔ)器規(guī)范 , SCSI 協(xié)議。它通過接受儲(chǔ)存主機(jī)通訊端口傳來的數(shù)據(jù),回放的時(shí)候 MCU 讀取存儲(chǔ)器中的數(shù)據(jù)并送到解碼器。它運(yùn)行 MP3 的整個(gè)控制程序,也稱為 fireware,或者固件程序 。 DSP 能夠在非常短的時(shí)間里完成多種處理任務(wù),而且此過程所消耗的能量極少,這也是它適合于便攜式播放器的一個(gè)顯著特點(diǎn)。最后介紹了本設(shè)計(jì) 的設(shè)計(jì)目標(biāo),劃分并設(shè)計(jì)了系統(tǒng)功能模塊,包括: 系統(tǒng)初始化模塊、播放模塊、同步歌詞模塊、按鍵切換模塊 等,設(shè)計(jì)了媒體文件和歌詞文件的處理流程。 本設(shè)計(jì) 探索性地設(shè)計(jì)實(shí)現(xiàn)了一個(gè)支 持 LRC 歌詞顯示的 MP3 播放器的軟件。而 MP3 具有巨大的市場(chǎng)需求。 隨著計(jì)算機(jī)和多媒體技術(shù)的不斷發(fā)展以及個(gè)人計(jì)算機(jī)的普及,各種各樣的媒體文件、媒體播放器層出不窮,而 MP3( MPEG Audio Layer3)格式以其體積小、音質(zhì)也有保證的特點(diǎn)成為使用最為廣泛的音頻格式,得到了絕大多數(shù)軟件和硬件媒體播放器的支持。 基于 ARM 內(nèi)核的微控制器芯片不但占據(jù)了高端微控制器市場(chǎng)的大部分是成份額,同時(shí)也逐漸向低端微控制器應(yīng)用領(lǐng)域擴(kuò)展, ARM 微控制器的低功耗、高性價(jià)比使其以 70%左右的市場(chǎng)占有率成為嵌入式解決方案中主流處理器。 引 言 ...........................................................................................................
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1