FS_S5PC100之madplay移植
時間:2016-12-12作者:華清(qing)遠見
FS_S5PC100平臺 一.驅動的添加(jia) 1.FS_S5PC100平臺上WM9714 ALSA 移植(zhi): 這(zhe)個驅動在內核中支持,我們只需要進行(xing)簡單的(de)配置就(jiu)行(xing)了,配置如(ru)下: 修改 sound/soc/s3c24xx/Kconfig,使其支(zhi)持FS_S5PC100平臺(tai)
2.修改平臺代碼 (1)修改sound/soc/s3c24xx/s3c-ac97.c 添加如下內容: 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)配置內核 $ make menuconfig 測試 系統啟動(dong)以后會在dev目錄下產生(sheng)dsp設備節點(dian) 文件系統沒有(you)支持(chi)udev或mdev的話就必(bi)須進行下面步驟 建(jian)立塊專(zhuan)用或字(zi)符專(zhuan)用文件 mknod /dev/dsp c 14 3 注: /dev/dsp 數字信號處(chu)理(li)(DSP):DSP是指聲卡中(zhong)專(zhuan)門處(chu)理(li)效(xiao)果的芯片(pian),稱為效(xiao)果器(qi),對提高聲卡性(xing)能很(hen)有用(yong) /dev/mixer 混音器混音器是(shi)一臺控制音頻信(xin)號(hao)的(de)提升,并將音頻信(xin)號(hao)導向所指(zhi)目(mu)的(de)地(di)的(de)設備 cat test.wav>/dev/dsp 如果(guo)驅動移(yi)植(zhi)成(cheng)功,這時可以聽到雜音 復制一個madplay音頻播(bo)放(fang)程(cheng)序,可(ke)以用來播(bo)放(fang)mp3 二.播放器的移植 1. 移植(zhi)madplay前的準備。 madplay的(de)移植需要以下的(de)幾個(ge)包:madplay-0.15.2b.tar.gz,libmad-0.15.1b.tar.gz, libid3tag-0.15.1b.tar.gz 和 zlib-1.1.4.tar.gz。其中(zhong)前面的(de)三個(ge)包可(ke)以在(zai)(zai)//sourceforge.net/project/showfiles.php?group_id=12349下載,后一(yi)個(ge)包可(ke)以在(zai)(zai)//www.gzip.org/zlib/zlib-1.1.4.tar.gz中(zhong)找到。 為了編譯這個播放(fang)器,還需要一(yi)個交叉編譯器,gcc version 4.3.2 (crosstool-NG-1.8.1-none)
2. 開始編譯 2.1. 用交(jiao)叉(cha)編譯工具編譯zlib,并且把(ba)庫生成到交(jiao)叉(cha)編譯環境(jing)的(de)庫目錄(lu)下,我(wo)把(ba)它(ta)放到/home/toolchain/arm-none-linux-gnueabi目錄(lu) 下。 --prefix=/home/toolchain/arm-none-linux-gnueabi。 make ,make install ,編譯好之(zhi)后(hou)就可(ke)以在上面prefix指定(ding)的(de)目(mu)錄下(xia)的(de)lib目(mu)錄下(xia)找到libz.a這個庫。 2.2. 編譯libid3tag ../configure CC=arm-none-linux-gnueabi-gcc 其中,--disable-shared --enable-static是指定為靜態編譯。不過我發現這樣并不能夠進行編譯。至于如何進行表態編譯,我將在下面中進行介紹。 2.3. 編譯libmad ./configure CC=arm-none-linux-gnueabi-gcc 報錯:cc1: error: unrecognized command line option "-fforce-mem" 解決方(fang)式(shi):找到libmad configure之后的Makefile,vi Makefile 找到包(bao)含"-fforce-mem"字符串(chuan),將其刪除,就ok了 2.4. 編譯madplay ./configure ./configure CC=arm-none-linux-gnueabi-gcc 編譯完成后,查(cha)看了(le)一(yi)下(xia)madplay這個可執行文(wen)件(jian)就把它下(xia)載到(dao)板(ban)子中,敲入: $> ./madplay pig.mp3 Setsid madplay sun.mp3 后(hou)臺執行
發表評論
|