打印

用AT91SAM9260开发板平台实现网络收音机功能

[复制链接]
4251|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
toplow|  楼主 | 2009-12-29 20:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
[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也行

tiny9g20_1.JPG (68.79 KB )

tiny9g20_1.JPG

radio.JPG (86.44 KB )

radio.JPG

11.JPG (99.91 KB )

11.JPG

radio_console.JPG (111.39 KB )

radio_console.JPG

OPEN9260_linux移植.pdf

394.31 KB

busybox.pdf

963.04 KB

jffs2.pdf

35.08 KB

相关帖子

沙发
soulmate| | 2010-1-7 10:22 | 只看该作者
帮顶~,不过没有人机界面,性能大打折扣~

使用特权

评论回复
板凳
kingreat| | 2010-1-7 16:19 | 只看该作者
能收听网络广播,有何意义?

使用特权

评论回复
地板
sl_168| | 2010-1-8 09:49 | 只看该作者
百特多年前就有这个方案了

使用特权

评论回复
5
lht3956093| | 2010-1-9 00:51 | 只看该作者
顶下先。

使用特权

评论回复
6
windcloud123| | 2011-4-19 09:44 | 只看该作者
还是要顶的。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

94

帖子

3

粉丝