3 系统的的软件设计

3.1 嵌入式Linux的移植

嵌入式Linux内核的版本很多,一般情况下版本越高,系统越稳定,驱动更完善,本系统选择了2.6.18的Linux内核。其实对于2.6以后版本的Linux内核,对S3C2410的支持都有了很好的支持,所以移植过程都比较简单[3]。Linux2.6.18移植到S3C2410的基本步骤如下:

(1)下载Linux2.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/bin:$PATH,然后重启终端或重新登陆即可。

(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机形式的网络收音机的诸多缺点,是一个极具创新思维的设计。随着网络技术和嵌入式技术的高速发展,该设计具有很好的市场应用前景和科研价值。

嵌入式linux rtsp移植,嵌入式网络收音机的ARM实现 - ARM - 电子发烧友网相关推荐

  1. 嵌入式linux dhcp移植,嵌入式linux中的dhcp服务器

    嵌入式系统下,用开发板建立dhcp服务器 1.重新编译内核,添加对dhcp的支持 2.busybox是否带有dhcp的应用,如无,则需要重新编译busybox,或者直接下一个独立的也可. 3.dhcp ...

  2. linux 挂iscisc存储,基于arm的嵌入式linux操作系统的移植研究-通信与信息系统专业论文.docx...

    基于arm的嵌入式linux操作系统的移植研究-通信与信息系统专业论文 Classified Index: TP316.8 U.D.C: 621.38 Dissertation for the Mas ...

  3. 外网访问arm嵌入式linux系统_嵌入式Linux系统移植的四大步骤

    最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命 ...

  4. 嵌入式Linux系统移植的四大步骤

    最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命 ...

  5. 嵌入式Linux系统移植的四大步骤(详细长文,慎入!)

    关注.星标公众号,直达精彩内容 来源:网路素材 最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们 ...

  6. 嵌入式Linux 系统移植流程总结

    嵌入式Linux系统移植主要由四大部分组成: 一.搭建交叉开发环境 二.bootloader的选择和移植 三.kernel的配置.编译.和移植 四.根文件系统的制作 第一部分:搭建交叉开发环境 先介绍 ...

  7. 嵌入式linux系统移植的四大步骤_嵌入式系统移植步骤

    在嵌入式系统移植中重要的一部分是操作系统的移植,与其它操作系统相比,Linux大的特点:它是一款遵循GPL的操作系统,我们可以自由地使用.修改.和扩展它.正是由于这一特色,嵌入式系统移植过程中Linu ...

  8. 嵌入式linux操作系统的移植 实验报告,嵌入式linux系统移植试题

    [A] 内核不支持当前处理器 [B] 内核不支持当前开发平台 [C ] 内核获取不到bootloader传递来的参数 [D ] 内核初始化终端出现错误 18. 内核启动过程中,如果终端出现" ...

  9. 深度实践嵌入式linux系,深度实践嵌入式Linux系统移植 完整pdf_操作系统教程_源雷技术空间...

    资源名称:深度实践嵌入式Linux系统移植 完整pdf 第1章嵌入式系统架构与移植环境搭建2 第2章u-boot工程与编译系统14 第3章u-boot启动流程分析41 第4章ARM9/S3C2440 ...

最新文章

  1. 修改注册表真正的提高网速
  2. WPF窗口继承实现统一风格的自定义窗口
  3. 深度学习分布式训练小结
  4. 关于HTML的盒子的一些小问题
  5. JENKINS使用DOCKER运行PYTEST并且出ALLURE报告
  6. Microsoft Data Access Components(MDAC) 结构以及一些连接SQL数据库的架构基础
  7. Silverlight 2.0 RTW 正式版发布(附下载地址)
  8. Note that ‘/home/w/.local/share‘ is not in the search pathset by the XDG_DATA_HOME and XDG_DATA_DIRS
  9. android+8.0代码安装包,Android 8.0安装apk的实例代码
  10. 计算机维修需要工具,小200个电脑维护工具,都能去开个维修店了
  11. 视频基本原理 - BT709和BT1120
  12. IOS端好用的ssh工具推荐
  13. 数值计算笔记之数值计算中应注意的问题
  14. 如何把MP4转为GIF格式
  15. 数据接口-免费版(股票数据API)
  16. 星期几—YYYY-MM-DD,表示一个日期,你知道是星期几吗?
  17. 2023届求职 笔试面试记录
  18. IIS应用服务器下MP4无法播放的问题
  19. OFBiz —— 关于用户角色安全组的设计
  20. Python爬虫-爬取快看漫画网图片并拼接成漫画长图

热门文章

  1. matlab 中 将一组数据归一化到(0,1)之间
  2. 大学计算机实验报五告,大学计算机实验报告二_相关文章专题_写写帮文库
  3. Scrape Center爬虫平台之spa9案例
  4. 【Python学习笔记二】函数七十二变
  5. OpenCV去除绿幕 抠图
  6. IPC清晰的分类总结
  7. “佛祖保佑永不宕机永无BUG”的文本
  8. U8860 华为荣耀各种刷机教程
  9. 1.4 想要通过小红书赚钱,这些底层逻辑你一定要懂!【玩赚小红书】
  10. 博科Brocads SAN交换机常用命令