基于ARM以太网和串口交换系统.pdfVIP

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM以太网和串口交换系统

基于ARM 的以太网和串口交换系统 何佳 电子科技大学电子工程学院,四川成都(610054 ) E-mail :cherryhe83@ 摘 要:将嵌入式设备融入机顶盒,对功能的分离和产品单独生产有很大益处。达到实现的 是运行在ARM 架构上的串口网络口交换系统,并且附加实现了Windows 下的串口、网络收 发程序。硬件上使用的是ARM4510 芯片,在其上运行裁减过的ARM 7 系统,配合外围功 能电路,最终实现应用程序的调试、下载及烧写。主要介绍了基于Linux 的串口网络转换设 备,分别从Linux 系统引导,嵌入式软件架构,硬件选择与设计几方面描述了这个系统。 关键词:嵌入式;Linux;串口;网络 1. 引言 机顶盒在目前数字电视的接收中,起到了不可或缺的作用。但是当前机顶盒的作用只得 到了基本发挥,将机顶盒和网络结合,甚至和家用计算机互联将是未来的发展趋势。所以, 在机顶盒中嵌入芯片,例如ARM 或者DSP 等,在内嵌芯片上运行OS,管理接口和内存等, 都会为机顶盒功能扩展起到很大的作用。将嵌入式PCB 板根据扩展的功能裁减,单独生产, 与网络和计算机互联,是目前升级机顶盒的一个手段。 图1 网络和串口交换系统架构 本文主要设计的是基于嵌入式系统的一个网络和串口交互信息的PCB 板。可以通过嵌 入式系统中的网络服务器和不同的IP 地址进行网络互联,也可以通过串口和其他设备互联, 同时可以将两者的信息共享、转换,如图1 所示。以下涉及系统的软件架构和硬件选用和设 计要点。 2. 软件架构 2.1 系统引导 嵌入式Linux 的启动主要分为两个阶段: 第一部分bootloader 启动阶段 第二部分Linux 内核初始化和启动阶段 (1)start_kernel (2 )用户模式( user_mode )开始start_kernel 结束 (3 )加载Linux 内核完毕,转入cpu_idle 进程 2.1.1Boot Loader 引导启动步骤解析 - 1 - Bootloader 头信息,版本,编译时间等,这个因不同的bootloader 的设计而有所不同, 由此你能看出bootloader 的版本信息。 将bootloader 加载到内存ram ,及配置启动boot 的信息。 从flash 中启动代码 然后将会配置CPU 的主频、动态内存ram 大小、地址辅助说明等 从FLASH 的某个地址启动romfs 只读文件系统,romfs 中包括kernel 和app 应用,不包 括bootloader 和 firmware 信息头。[1]romfs 只读文件系统里的内容有很多种分类方法,我们 可以将kernel 和app 同时放里面,作为根文件系统下的一个文件,也可以在flash 上另外划 分区域来分别存放。 解压 Linux kernel 内核文件,它是在只读文件系统romfs 上的一个组成部分。将romfs 中的Linux kernel 解压缩到内存,从内存地址启动内核。 做释放后的CRC 检查,即循环冗余校验。 之后kernel 已经被从romfs 中释放到内存地址,系统等待启动。 2.1.2 ARM 内核启动及初始化解析 (1)start_kernel 在start_kernel 中将调用到大量的init 函数,来完成内核的各种初始化。例如: Kernel command line: root=/dev/mtdblock3 Kernel 启动命令设为:/dev/mtdblock3 用来指 定根文件系统所在的位置,kernel 会将块设备mtdblock3 当作文件系统来处理。也就是说, 内核会根据上面的kernel 命令行,知道只读文件系统romfs 将是根文件系统rootfs 。 (2

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档