移植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 ...
随机推荐
- 【转载】如何升级linux上的gcc到最新版本
来自:http://www.cppfans.org/1719.html 由于工作主要平台换到了linux上,而linux因为源上没有比较新的gcc,只有4.7,而我们用到了C++11, 只好自己升级了 ...
- GIT 回退出错 Unlink of file 'xx' failed. Should I try again? (y/n) 解决办法
发生过程 回退版本 如果回退版本时 里面有删除或者移动的文件 容易出这个问题 解决方法 git reset --hard 版本号 回退失败了 就 本地工作目录跟版本那个工作目录比较 然后还原修 ...
- nodepad++ 快捷键加常用操作
常用快捷键 新建文件 Ctrl+N 打开文件 Ctrl+O 保存文件 Ctrl+S 另存为 Ctrl+Alt+S 全部保存 Ctrl+Shift+S 关闭当前文件 Ctrl+W 打印文件 Ctrl+P ...
- std::deque
deque容器为一个给定类型的元素进行线性处理,像向量一样,它能够快速地随机访问任一个元素,并且能够高效地插入和删除容器的尾部元素.但它又与vector不同,deque支持高效插入和删除容器的头部元素 ...
- spring boot rabbitmq 多MQ配置 自动 创建 队列 RPC
源码地址:https://github.com/hutuchong518/RabbitmqStudy 需求: spring boot 整合 rabbitmq rpc功能, 需要将 请求和响应 ...
- [LintCode] 合并排序数组II
class Solution { public: /** * @param A: sorted integer array A which has m elements, * but size of ...
- Powershell Function Get-PendingReboot
获取系统中Restart Pending的计算机 $servers=get-content D:\serverlist.txt Get-PendingReboot -ComputerName $ser ...
- join-case
SELECT trd.* ,(CASE WHEN ta.AccountID IS null THEN '' ELSE ta.AccountID END ) FROM traceroleid trd L ...
- Vulnerabilities by Type
w http://hackergossips.com/cross-site-scriptingxss-and-preventing/
- 对protected函数的简单理解 good
对于protected提供的函数和属性,除非想扩充这个类的功能,否则是完全用不到的.外部函数main()永远只能调用public的那些函数.所以从拖拉控件编程的角度来讲,只需要学习public的函数和 ...