FS_S5PC100之madplay移植
時(shí)間:2016-12-12作者:華清遠(yuǎn)見(jiàn)
FS_S5PC100平臺(tái) 一.驅(qū)動(dòng)的添加 1.FS_S5PC100平臺(tái)上WM9714 ALSA 移植: 這個(gè)驅(qū)動(dòng)在內(nèi)核中支持,我們只需要進(jìn)行簡(jiǎn)單的配置就行了,配置如下: 修改 sound/soc/s3c24xx/Kconfig,使其支持FS_S5PC100平臺(tái) 2.修改平臺(tái)代碼 (1)修改sound/soc/s3c24xx/s3c-ac97.c 添加如下內(nèi)容: static int s3c_ac97_hifi_prepare(struct snd_pcm_substream *substream,struct snd_soc_dai *dai) (2)修改 static struct snd_soc_dai_ops s3c_ac97_dai_ops = { (3)修改arch/arm/plat-samsung/s3c-pl330.c 添加頭文件 #include < linux/clk.h> (4)在1037行添加 在1079行添加 (5)修改arch/arm/mach-s5pc100/dma.c 修改 static struct platform_device s5pc100_device_pdma0 中 修改static struct platform_device s5pc100_device_pdma1 中 (6)配置內(nèi)核 $ make menuconfig 測(cè)試 系統(tǒng)啟動(dòng)以后會(huì)在dev目錄下產(chǎn)生dsp設(shè)備節(jié)點(diǎn) 文件系統(tǒng)沒(méi)有支持udev或mdev的話就必須進(jìn)行下面步驟 建立塊專用或字符專用文件 mknod /dev/dsp c 14 3 注: /dev/dsp 數(shù)字信號(hào)處理(DSP):DSP是指聲卡中專門(mén)處理效果的芯片,稱為效果器,對(duì)提高聲卡性能很有用 /dev/mixer 混音器混音器是一臺(tái)控制音頻信號(hào)的提升,并將音頻信號(hào)導(dǎo)向所指目的地的設(shè)備 cat test.wav>/dev/dsp 如果驅(qū)動(dòng)移植成功,這時(shí)可以聽(tīng)到雜音 復(fù)制一個(gè)madplay音頻播放程序,可以用來(lái)播放mp3 二.播放器的移植 1. 移植madplay前的準(zhǔn)備。 madplay的移植需要以下的幾個(gè)包:madplay-0.15.2b.tar.gz,libmad-0.15.1b.tar.gz, libid3tag-0.15.1b.tar.gz 和 zlib-1.1.4.tar.gz。其中前面的三個(gè)包可以在//sourceforge.net/project/showfiles.php?group_id=12349下載,后一個(gè)包可以在//www.gzip.org/zlib/zlib-1.1.4.tar.gz中找到。 為了編譯這個(gè)播放器,還需要一個(gè)交叉編譯器,gcc version 4.3.2 (crosstool-NG-1.8.1-none) 2. 開(kāi)始編譯 2.1. 用交叉編譯工具編譯zlib,并且把庫(kù)生成到交叉編譯環(huán)境的庫(kù)目錄下,我把它放到/home/toolchain/arm-none-linux-gnueabi目錄 下。 --prefix=/home/toolchain/arm-none-linux-gnueabi。 make ,make install ,編譯好之后就可以在上面prefix指定的目錄下的lib目錄下找到libz.a這個(gè)庫(kù)。 2.2. 編譯libid3tag ../configure CC=arm-none-linux-gnueabi-gcc 其中,--disable-shared --enable-static是指定為靜態(tài)編譯。不過(guò)我發(fā)現(xiàn)這樣并不能夠進(jìn)行編譯。至于如何進(jìn)行表態(tài)編譯,我將在下面中進(jìn)行介紹。 2.3. 編譯libmad ./configure CC=arm-none-linux-gnueabi-gcc 報(bào)錯(cuò):cc1: error: unrecognized command line option "-fforce-mem" 解決方式:找到libmad configure之后的Makefile,vi Makefile 找到包含"-fforce-mem"字符串,將其刪除,就ok了 2.4. 編譯madplay ./configure ./configure CC=arm-none-linux-gnueabi-gcc 編譯完成后,查看了一下madplay這個(gè)可執(zhí)行文件就把它下載到板子中,敲入: $> ./madplay pig.mp3 Setsid madplay sun.mp3 后臺(tái)執(zhí)行 相關(guān)資訊
發(fā)表評(píng)論
|