移植需要注意的地方:
1、准备工作,准备kernel和交叉编译工具链。
2、要正确的安装交叉编译工具,并在环境变量PATH中作同步,最好将PATH中其他的交叉编译工具路径删除,只保留移植需要的交叉编译工具路径。
3、交叉编译内核和相关库,所有的库包都在lib目录下,编译过程总可能会出现一些错误,这些错误都可以通过在网上查找资料解决。
4、将交叉编译后的动态库和bin文件拷贝到开发板的文件系统中。
注意:按键驱动可能需要作必要的修改。madplay拷贝到文件系统的/mp3目录下。
基于arm的mp3播放器的实现和移植
1、代码结构:代码有三部分组成。第一部分是相关库,位于lib目录下, libid3tag-0.15.1b.tar.gz mad-0.10.1b.tar.gz zlib-1.1.4.tar.gz libmad-0.15.1b.tar.gz madplay-0.15.2b.tar.gz,其中最重要的库是 madplay-0.15.2b.tar.gz,其他的库的移植都是为这个库的移植而做的准备工作。相关移植办法,可以在网上找到很多相关资料。第二部分是驱动部分,其实主要是实现按键的驱动,就是一个按键字符设备驱动,通过该驱动实现一个按键被按下时触发一个中断,同时可以从该字符设备中读取一个键值。第三部分是应用程序部分,主要完成逻辑控制功能,由驱动产生的键值大小来控制音乐播放、暂停、下一首、上一首功能,最后达到由按键来控制音乐播放的目的。
2、主要需要做的移植工作。一、相关库的移植,需要用与开发板使用配套的交叉编译工具重新编译相关库,并将相关库拷贝到开发板文件系统的库默认路径(例如/usr/lib),具体交叉编译方法请参照网上资料。二、按键驱动的移植,这部分移植工作相对复杂一些,大概要做的工作包括一下几个方面,首先将交叉编译与开发板所烧写的内核对应的linux源码,并将driver目录下Makefile中源码路径替换成编译后的源码目录;其次需要参照芯片手册,主要是按键电路那部分,修改按键驱动代码中的gpio引脚和中断号;最后将驱动编译成模块,动态加载到linux内核,读取键值,并测试键值是否正确。三、应用程序的移植,用交叉工具链重新编译应用程序,具体做法是指定Makefile中的工具链及其路径。
3、调试方法,可以使用nfs挂载,将相关库拷贝到开发板文件系统标准库路径后,加载按键驱动,将应用程序拷贝到nfs挂载目录并执行,测试程序的正确性。最后调试通过后,将应用程序拷贝到开发板文件系统中,并开机启动即可。
基于mini2440的MP3播放器(毕业设计)
4星 · 超过85%的资源 需积分: 9 103 浏览量
2013-07-05
00:14:07
上传
评论 2
收藏 1.76MB ZIP 举报
飞我一年
- 粉丝: 44
- 资源: 25
最新资源
- 最通俗易懂的 MongoDB 非结构化文档存储数据库教程.zip
- 以mongodb为数据库的订单物流小项目.zip
- 腾讯云-mongodb数据库, 项目部署.zip
- 腾讯 APIJSON 的 MongoDB 数据库插件.zip
- 理解非关系型数据库和关系型数据库的区别.zip
- 操作简单的Mongodb网页web管理工具,基于Spring Boot2.0支持mongodb集群.zip
- tms-mongodb-web,提供访问mongodb数据的REST API和可灵活扩展的mongodb web 客户端.zip
- SpringBoot整合mongodb学习MongoTemplate和MongoRepository两种方式CRUD使用.zip
- SpringBoot整合MongoDB实现对数据库的CRUD小demo.zip
- Python操作MongoDB数据库的基本一些操作 .zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈