基于ARM内核的网络收音机的设计与实现
2.6.18内核,并解压到相应目录。
(2)修改内核顶层目录下的Makefile文件,指明交叉编译器。进入Linux-2.6.18内核目录,输入命令vi Makefile,找到ARCH和CROSS_COMPILE两项,将其修改为ARCH = arm,CROSS_COMPILE = arm-linux-。
(3)设置PATH环境变量,使其可以找到交叉编译工具。输入su root,进入root,在输入vi/etc/bashrc,在结尾处加入以下行:export PATH="/usr/local/arm/3".4.4/b
(4) 设置Flash分区。首先要在arch/arm/mach-s3c2410/devs.c文件中添加分区信息,其次在arch/arm/mach- s3c2410/mach-smdk2410.c文件的smdk2410_devices[]的成员中添加&s3c_device_nand。这 样Linux内核启动时,就会对Flash分区的设置初始化。
(5)禁止Flash ECC校验。修改drivers/mtd/nand/s3c2410.c 文件,找到s3c2410_nand_init_chip()函数,在该函数体最后加上一条语句:chip->eccmode = NAND_ECC_NONE。
(6)配置内核。通过make menuconfig命令配置内核。
(7)编译内核,make zImage命令,得到Linux内核的映像文件zImage。
(8)制作根文件系统。
3.2 Mplayer移植
Mplayer是Linux下的一个多媒体网络播放器。它的主要功能是对接收到的各种格式的流媒体数据进行解码,同时也完成对接收的网络电台的 IP地址进行解析的任务。Mplayer支持mp3、ogg 和wma等多种格式的流媒体数据进行解码,是一个功能十分强大的开源应用软件。Mplayer的移植步骤如下:
(1)下载源代码MPlayer-current.tar.bz2,并解压。
(2)为了让mplayer支持在线播放,从而能够播放网络电台,还必须下载安装网络协议包(主要指RTSP、MMS等协议)。可从www.live555.com上下载live555协议包,解压后配置并编译。
(3)配置mplayer的命令格式如下:
./configure --cc=arm-linux-gcc --target=arm-armv4-linux --enable-static --disable-win32 --host-cc=gcc --disable-dvdread --enable-fbdev --disable-mencoder --disable-mp3lib --enable-mad --enable-libavcodec --enable-live --with-livedir=/live555的目录/ --2>&1 | tee logfile。
其中,--host-cc=gcc是用来编译一些需要在host上执行的中间文件的,如codec-cfg。--cc=arm-linux- gcc 是用来指定交叉编译工具。关于 --target=arm-armv4l-linux这个参数要注意的是它被分为三部分,第一部分的arm是指arch,这里设定为arm;第二部分的 armv4l是指具体的版本;第三部分是系统平台。--enable-static是设定静态连接。--2>&1 | tee logfile意思是将执行的情况在输出到屏幕的同时记录到logfile文件中,在控制台下编译比较有用。
(4)输入make命令开始编译,编译完成后在顶层目录生成mplayer可执行文件。
3.3软件主流程图
系统主流程图如图5所示。系统上电后,bootloader(U-boot)启动,完成硬件设备的初始化,
并引导系统内核启动。系统启动执行初始化任务后,首先配置网络连接,通过运行DHCP Clieant向DHCP
Server申请获取本系统IP地址。然后系统自动访问默认的电台服务器,该服务器上有最近更新的世界各地的网络电台的URL地址,系统下载该列表,并更
新上次保存的列表。然后系统判断有无按键按下,若有按键按下,系统根据按键选择相应网络电台,若在一定时间段内没有按键按下,系统自动连接电台列表的第一
个电台地址,并开始播放该网络电台。同时,LCD将显示电台的有关信息和系统信息。在播放过程中,同样可以根据按键来中断、选择网络电台。
图5 系统主流程图
4 结束语
本设计基于ARM的嵌入式技术,通过软硬件等三层结构,实现了一个嵌入式网络收音机系统。该系统克服了PC机形式的网络收音机的诸多缺点,是一个极具创新思维的设计。随着网络技术和嵌入式技术的高速发展,该设计具有很好的市场应用前景和科研价值。
本文作者创新点:
1、首次提出了用嵌入式技术设计网络收音机的系统设计方案,极具创新特点。
2、实现了Mplayer软件在Linux系统平台下向ARM9的移置。
参考文献
[1] 周立功等.ARM 微控制器基础与实践[M].北京航空航天大学出版社,2003.7.
[2]
[3] 孙琼. 嵌入式Linux应用程序开发详解[M]. 人民邮电出版时, 2006.7.
电子 集成电路 ARM 嵌入式 Linux S3C2410 电路 Cirrus LCD PWM ADC USB 滤波器 电路图 555 相关文章:
- LCD TV整体电源解决方案-“GreenEngine?”技术(02-23)
- 在消费电子应用中考虑使用OTP存储器(04-13)
- 晶体元件在电子器件中不可缺(05-12)
- 用于移动电子设备的电路保护方案(11-08)
- 耳机设计:品质VS效率(01-07)
- SMARTCAR软件平台实现汽车电子系统软件的整体设计(03-30)