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