现在许多电台都开通了网上电台服务器,用户可以通过Inernet收听其电台广播。目前已经有许多PC端的网络收音机软件,它给用户提供了一种新颖的收听广播方式。 如今有许多ARM9开发板接口齐全,且有Linux操作系统等优秀开源软件的支持,利用ARM9来实现网络收音机功能将变为可能。
下面将介绍如何利用OPEN 9260 ARM9开发板来实现网络收音机的功能。相信该项目具有一定的实用性和趣味性。
1.At91bootstrap Bootloader 软件包 2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 arm-softfloat-linux-gnu.tar.bz2 解压缩2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 arm-softfloat-linux-gnu.tar.bz2 解压缩At91bootstrap Bootloader,利用交叉编译器arm-none-linux-gnueabi编译出9260的bootloader:dataflash_at91sam9260ek.bin 解压缩U-boot,并为其加入补丁。利用交叉编译器arm-softfloat-linux-gnu编译出9260的Uboot文件:u-boot.bin
解压缩Linux-2.6.27,并为其加入补丁文件。然后修改Makefile文件,修改成arm平台,编译器使用arm-none-linux-gnueabi。
进行内核配置,特别注意加入USB声卡的支持和NFS支持(方便后续调试工作)。
最后编译生成uImage映像文件。
以上工作成果是生成了dataflash_at91sam9260ek.bin,u-boot.bin,uImage三个烧写文件。
将以上三个文件用 AT91ISP工具SAM-BA烧写到OPEN 9260硬件平台的DataFlash上。
其详细过程可以参考另一篇文档“AT91SAM9260EK 开发板Linux 移植文档”
制作烧写根文件系统。
参考“利用Busybox制作根文件系统”和“制作JFFS2根文件系统”两篇**。
生成的根文件系统rootfs.jffs2根文件系统映像文件。该文件烧写到NAND FLASH的mtdblock1上。
设置Linux启动参数。
U-Boot>setenv bootargs mem=64M console=ttyS0 115200
root=/dev/mtdblock1 rw rootfstype=jffs2 ip=192.168.1.10:192.168.1.20:192.168.1.11:255.255.255.0
::eth0:off
表示从mtdblock1启动,根文件系统为jffs2类型。网络参数设置规则为:
ip=$(taget IP):$(servicer IP):$(netGate):$(netMask)::(device):off
$(taget IP) 表示开发板的IP地址。(192.168.1.10)
$(servicer IP)表示PC机Linux服务器IP地址。(192.168.1.20)
$(netGate)表示网关地址。(192.168.1.1)
$(netMask)表示子网掩码。(255.255.255.0)
以上设置假设使用路由器来上网,路由器地址为192.168.1.1,开发板和PC各自连接到路由器上。
测试
在USB HOST插座中插入USB声卡,连接耳机或者有源音箱。
启动开发板,在Linux命令行方式下测试网络连接。
>ping 192.168.1.1
测试外网连接
>ping www.google.com
如果都可以连接,则说明网络设置成功。
测试mplayer的可用性
>mplayer 1.mp3
用Mplayer播放网络广播
> mplayer mms://218.1.74.230/dg101 |