移植madplay到jz2440【学习笔记】
平台:jz2440
作者:庄泽彬(欢迎转载,请注明作者)
说明:韦东山一期视频学习笔记
交叉编译工具:arm-linux-gcc (GCC) 3.4.5
PC环境:ubuntu16.04
一、移植madplay到jz2440需要的安装包:
libid3tag-0.15.1b.tar.gz libmad-0.15.1b.tar.gz madplay-0.15.2b.tar.gz zlib-1.2.3.tar.gz

二、解压相关的安装包
先看我们的工作目录下面现在有什么文件:
*tar.gz文件是我们制作madplay播放器需要的安装包
src-code 目录是用来存放我们解压压缩文件的目录,temp目录用来存放arm版本的安装目录

解压相关文件
tar -xvf libid3tag-0.15.1b.tar.gz -C src-code/
tar -xvf libid3tag-0.15.1b.tar.gz -C src-code/
tar -xvf madplay-0.15.2b.tar.gz -C src-code/
tar -xvf zlib-1.2.3.tar.gz -C src-code/
查看解压情况:

三、编译madplay以及依赖的库文件
设置交叉工具链为arm-linux-gcc
export CC=arm-linux-gcc
3.1编译zlib-1.2.3库
cd src-code/zlib-1.2.3/
./configure --prefix=/home/zhuang/work/project/6-jz2440/systems/madplay/temp
make
make install
3.2编译libid3tag-0.15.1b库文件
./configure --host=arm-linux --prefix=/home/zhuang/work/project/6-jz2440/systems/madplay/temp/ --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/home/zhuang/work/project/6-jz2440/systems/madplay/temp/include LDFLAGS=-L/home/zhuang/work/project/6-jz2440/systems/madplay/temp/lib
make
make install
3.3.编译libmad-0.15.1b库文件
./configure --host=arm-linux --prefix=/home/zhuang/work/project/6-jz2440/systems/madplay/temp/ --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/home/zhuang/work/project/6-jz2440/systems/madplay/temp/include LDFLAGS=-L/home/zhuang/work/project/6-jz2440/systems/madplay/temp/lib
make
make install
3.4编译madplay-0.15.2b库文件
./configure --host=arm-linux --prefix=/home/zhuang/work/project/6-jz2440/systems/madplay/temp/ --disable-debugging --disable-shared --enable-static CPPFLAGS=-I/home/zhuang/work/project/6-jz2440/systems/madplay/temp/include LDFLAGS=-L/home/zhuang/work/project/6-jz2440/systems/madplay/temp/lib
make
make install
四、运行madplay播放器
cd temp/bin
cp madplay /work/nfs_root/first_fs/bin/ 网络文件系统
进入到开发板的串口运行:
madplay 1.mp3 //1.mp是音乐文件
这里展示不了音乐查看相关的log,播放成功,可以洗洗就睡了,

移植madplay到jz2440【学习笔记】的更多相关文章
- JZ2440学习笔记之通过J-Link单步裸机程序(Keil+J-Link)
我们还是使用JZ2440学习笔记之第一个裸机程序(Keil-MDK)里面的程序,但是把延时拿掉,要不然单步的时候一直在delay里面: int main(void) { // Set GPF4/5/6 ...
- jz2440移植QT5.6【学习笔记】【原创】
平台:jz2440 作者:庄泽彬(欢迎转载,请注明作者) 交叉编译工具:arm-linux-gcc (GCC)4.4.3 linux:linu3.4.2 PC环境:ubuntu18.04 一.修改/o ...
- JZ2440学习笔记之第一个裸机程序(Keil-MDK)
CPU:S3C2440, ARM920T, Internal 4KB RAM, Support boot from NAND flash, 128MB for each bank. JZ2440:Me ...
- JZ2440学习笔记之中断
.extern main .text .global _start _start: @********************************************************* ...
- JZ2440学习笔记之内存设备
通过OM[1:0]选择启动的设备: OM[1:0]=00,地址0对应的是Internal 4K RAM,且Nand的前4K会被复制到这里,得到执行: OM[1:0]=01,地址0对应的是Nor Fla ...
- JZ2440学习笔记之链接文件lds
如果在Linux环境下用arm-linux-gcc来编译arm程序,需要编写链接文件lds: 1. 运行地址=链接地址,表示代码在SDRAM中执行的地址,如果程序中有对某部分代码执行过搬运,需要在ld ...
- JZ2440学习笔记之IIS音频芯片WM8976
音频芯片的接线图:IIS接到MPU的IIS controller上:看L3总线的接法,应该是使用GPIO来模拟时序. IIS总线用来传输音频数据. L3总线用来配置WM8976的内部寄存器. L3总线 ...
- jz2440-linux3.4.2-kernel移植【学习笔记】【原创】
平台:jz2440 作者:庄泽彬(欢迎转载,请注明作者) 说明:韦东山二期视频学习笔记 交叉编译工具:arm-linux-gcc (GCC)4.3.2 linux:linu3.4.2 PC环境:ubu ...
- jz2440-uboot-201204版本移植【学习笔记】【原创】
平台:jz2440 作者:庄泽彬(欢迎转载,请注明作者) 说明:韦东山二期视频学习笔记 交叉编译工具:arm-linux-gcc (GCC)4.3.2 PC环境:ubuntu18.04 一.uboot ...
随机推荐
- ICE新手入门版
1.ICE是什么? 网络通信引擎ICE(Internet Communications Engine)是Zero C公司的分布式系统开发专家实现的一种新的高性能的面向对象中间件平台.从根本上说, I ...
- 用pypy运行ryu
最近看到pypy可以提高python的运行速率到很变态的境地,加之现在ryu发现拓扑的能力有限,不能满足实验要求,所以想将其试着在pypy上运行 部署pypy在virtualenv,在学python初 ...
- 将json转为 SortedDictionary
#region ConvertJsonToSortedDictionary 将json转为 SortedDictionary /// <summary> // ...
- CSS3的自定义字体@font-face:将图片ICON转为字体
大家都知道现在各个浏览器都支持CSS3的自定义字体(@font-face),包括IE6都支持,只是各自对字体文件格式的支持不太一样.那么对于网站中用到的各种icon,我们就可以尝试使用font来实现, ...
- 【BZOJ2208】[Jsoi2010]连通数 DFS
[BZOJ2208][Jsoi2010]连通数 Description Input 输入数据第一行是图顶点的数量,一个正整数N. 接下来N行,每行N个字符.第i行第j列的1表示顶点i到j有边,0则表示 ...
- linux部署项目(Java项目+Tomcat+mysql)
http://blog.csdn.net/liujiahan629629/article/details/27121739
- vue+node+mongoDB 火车票H5(四)---完成静态页面
各项配置都好了,就可以开始写静态页面了,先别急着写,看一下页面又哪些公用的部分可以提取出来的,统一放到components组件文件夹中 header头部文件夹放一些头部常用组件,如首页的banner切 ...
- 【Python之路】第十二篇--JavaScript
JavaScript 历史 1992年Nombas开发出C-minus-minus(C--)的嵌入式脚本语言(最初绑定在CEnvi软件中).后将其改名ScriptEase.(客户端执行的语言) Net ...
- Android 点击电话号码之间拨号
点击电话号码之间拨打电话,可用通过下面的方式实现: 假设电话号码以TextView的方式显示 1.Intent方式 在TextView的响应事件中 : String phone = tvphone.g ...
- SpringMVC 运行流程以及与Spring 整合
1. 运行流程 2. Spring 和 SpringMVC 整合 // 1. 导入 jar 包 // 2. 配置 web.xml <!-- 配置 Spring 的核心监听器 --> < ...