<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種基于EFSL的嵌入式MP3播放器設(shè)計(jì)方法

          一種基于EFSL的嵌入式MP3播放器設(shè)計(jì)方法

          作者: 時(shí)間:2012-11-02 來(lái)源:網(wǎng)絡(luò) 收藏
          DING-BOTTOM: 0px; MARGIN: 20px 0px 0px; WORD-SPACING: 0px; FONT: 14px/25px 宋體, arial; TEXT-TRANSFORM: none; COLOR: rgb(0,0,0); TEXT-INDENT: 0px; PADDING-TOP: 0px; WHITE-SPACE: normal; LETTER-SPACING: normal; BACKGROUND-COLOR: rgb(255,255,255); orphans: 2; widows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  2 軟件設(shè)計(jì)

            播放器采用四層結(jié)構(gòu)來(lái)實(shí)現(xiàn)其功能。軟件層次結(jié)構(gòu)如圖2所示。采用模塊化的主要目的是方便實(shí)現(xiàn)模塊移植性。

            一種基于EFSL的嵌入式MP3播放器設(shè)計(jì)方法

            圖2 播放軟件層次結(jié)構(gòu)

          2.1 開(kāi)發(fā)環(huán)境搭建

            開(kāi)發(fā)環(huán)境主要是建立在The Rowley Cross StudioIDE基礎(chǔ)上進(jìn)行 編譯。CrossWorks for ARM1.6 使用GCC 4.1 編譯器。安裝CrossWorks forARM 1.6軟件并導(dǎo)入MP3Player.hzp項(xiàng)目文件。項(xiàng)目文件中已經(jīng)包含了主板中的文件和設(shè)備配置文件。

            Rowley Cross Studio IDE自動(dòng)加載所有文件后,將顯示所有主要文件夾:Audio Render Driver文件夾(包含了DAC音頻處理相關(guān)代碼)、Demo Player文件夾(主要模塊,可根據(jù)需求對(duì)其進(jìn)行配置和修改)、文件夾(保存了文件系統(tǒng),通過(guò)此文件系統(tǒng)可以用播放器軟件對(duì)MMC存儲(chǔ)卡中的MP3文件進(jìn)行讀寫(xiě)操作)、EFSL Driver文件夾(保存存儲(chǔ)設(shè)備基本讀寫(xiě)操作驅(qū)動(dòng)程序)、Libmad文件夾(主要編碼文件,可根據(jù)需求改變相關(guān)代碼以滿(mǎn)足Libmad配置要求)。

            2.2 文件系統(tǒng)配置與編譯功能模塊

            文件系統(tǒng)配置與編譯功能模塊進(jìn)行軟件配置和文件系統(tǒng)編譯。

            2.2.1 設(shè)置項(xiàng)目文件路徑

            通過(guò)命令行工具,找到項(xiàng)目文件和包含文件。其路徑為:

            一種基于EFSL的嵌入式MP3播放器設(shè)計(jì)方法

            在ARM Flash Release和ARM Flash調(diào)試選項(xiàng)窗口的預(yù)處理選項(xiàng)卡配置文件中添加MP3Player項(xiàng)目。

            2.2.2 配置編譯器

            由于定點(diǎn)數(shù)字計(jì)算量要求非常高,而且擴(kuò)展的數(shù)字指令集只能在32位上運(yùn)行,所以代碼編譯也需要32位環(huán)境下進(jìn)行編譯,同時(shí)需要使用到USB存儲(chǔ)器RAM 及其堆棧分配[5].USB RAM 一般情況下不運(yùn)行在LPC214X環(huán)境下,但Rowley Cross Studio IDE已經(jīng)提供了此硬件設(shè)備的初始化。Philips_LPC2148_startup.s創(chuàng)建并放置在項(xiàng)目目錄,以支持USB RAM設(shè)備,還需要在代碼中加入堆棧分配代碼到USB DMARAM 的內(nèi)存部分。

            2.2.3 Libmad文件配置

            Libmad可以在不同的平臺(tái)上運(yùn)行一個(gè)庫(kù),并為ARM7提供更好的優(yōu)化。其編譯器同樣需要設(shè)置系統(tǒng)運(yùn)行環(huán)境變量。

          linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)


          關(guān)鍵詞: EFSL 嵌入式 MP3播放器

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();