基于晶心科技N903A處理器的MP3解決方案與Andes平臺的MP3移植
1.MP3簡(jiǎn)介
MPEG-1 Audio Layer3(簡(jiǎn)稱(chēng)MP3)是一種有損音頻編碼方式,它利用掩蔽效應(一種心理聲學(xué)模型),將脈沖編碼調制(Pulse Code Modulation)音頻數據中人耳聽(tīng)覺(jué)系統無(wú)法察覺(jué)的那部分數據去掉,使得MP3能夠在音質(zhì)丟失很小的情況下把音樂(lè )文件壓縮到很小的程度(1:10 甚至 1:12 的壓縮率)。因為其體積小、音質(zhì)高的特點(diǎn),MP3已經(jīng)成為當今最為流行的音頻格式。madplay是目前使用較為廣泛的一種MP3的解碼器,下面將詳細介紹如何使用Andes提供的AndeSight集成開(kāi)發(fā)工具將madplay移植到Andes平臺。
2.環(huán)境及軟件介紹
2.1系統環(huán)境:
Linux:Fedora 8。
2.2開(kāi)發(fā)環(huán)境:
AndeSight v1.4。
AndeSight是晶心科技提供的一種基于nds32架構開(kāi)發(fā)嵌入式工程的圖形化的集成開(kāi)發(fā)環(huán)境。主要由AndeSight IDE, AndESLive和nds32工具集3個(gè)部分組成。
AndeSight IDE為工程師提供了各種友好的界面,包括對嵌入式工程做編輯,編譯,運行,調試或者評測等等操作。
AndESLive提供了基于nds32架構的仿真器和一種圖形化的虛擬SoC構建模型,它與AndeSight IDE相結合為用戶(hù)提供了一個(gè)虛擬的硬件平臺。這個(gè)虛擬評估平臺提供Andes自行定義ISA的多組系列32位CPU IP以及各種外圍設備IP,并且支持用戶(hù)自定義IP模型。
AndESLive配合AndeSight IDE不僅使得SoC設計者能在計劃初期就開(kāi)始軟件設計、偵錯、最優(yōu)化等工作,并對系統架構及功能進(jìn)行檢驗,而且使硬件工程師和軟件工程師具有一樣的能力去制作和修改他們各自的系統模型,可以有效的控制NRE(NonRecurring Engineering)成本,讓軟件工程師在拿到硬件原型之前,即可以進(jìn)行軟件的開(kāi)發(fā)和優(yōu)化。
nds32工具集提供了一套在A(yíng)ndes平臺上開(kāi)發(fā)嵌入式應用程序所需要的標準工具,例如編譯器、調試器、鏈接器等。
2.3交叉編譯器:
nds32le-linux-gcc。
nds32工具集中對應不同的Andes Core型號,不同的系統函數庫以及大小端形式等條件,提供了各種對應的交叉編譯器。這里我們選用nds32le-linux-gcc。
2.4軟件包:
除了源碼外,madplay還需要MP3的解碼庫libmad,以及zlib和libid3tag來(lái)正確的讀取MP3頭段信息。這四個(gè)軟件包都可以在開(kāi)源網(wǎng)站上獲得。其中,madplay-0.15-1b.tar.gz、libmad-0.15.1b.tar.gz、libid3tag-0.15.1b.tar.gz可以在http://sourceforge.net/project/showfiles.php?group_id=12349獲取,zlib-1.2.4.tar.gz可以在http://zlib.net/獲取。
評論