[i=s] 本帖最后由 toplow 于 2009-12-29 20:39 编辑 [/i]
现在许多电台都开通了网上电台服务器,用户可以通过Inernet收听其电台广播。目前已经有许多PC端的网络收音机软件,它给用户提供了一种新颖的收听广播方式。
如今有许多ARM9开发板接口齐全,且有Linux操作系统等优秀开源软件的支持,利用ARM9来实现网络收音机功能将变为可能。
下面将介绍如何利用OPEN 9260 ARM9开发板来实现网络收音机的功能。相信该项目具有一定的实用性和趣味性。
准备所需要的软件和编译工具包
1.At91bootstrap Bootloader 软件包
2.Uboot1.3.4以及补丁
3.Linux2.6.27 源码包以及补丁
4.ARM-LINUX-GCC 交叉工具链
2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
arm-softfloat-linux-gnu.tar.bz2
以上这些包均可在www.linux4sam.org上下载到,不再详细介绍。
解压缩2007q1-10-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
arm-softfloat-linux-gnu.tar.bz2
到/opt/目录下,并设置好交叉编译器环境变量。
解压缩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 有人感兴趣吗?如果上述方案用usb WIFI来连接网络的话连网线也省了。可以用9260或者9G20核心板来做。当然用QFP 9260也行 |