S3C4510 开发板中uCLinux系统开发.docVIP

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

S3C4510 开发板中uCLinux系统开发 ??? 摘要:本文针对 ARM7 芯片 S3C4510 开发板,对 uCLinux 在嵌入式设备中的系统开发做了介绍,如何组建软件开发平台,并对引导装载程序,设备驱动程序作了例证和分析。 ?? ??? 关键词:嵌入式? uCLinux??? ARM?? BootLoader? 驱动程序? ?? ?? 1? 引言 ? ??????? 信息家电和手持设备大大加速了嵌入式系统的发展,而 ARM 体系 32 位高性能、低功耗处理器和嵌入式操作系统 Linux 无疑成为佼佼者。因为 Linux源代码开放、免费,任何将其定制于 PDA、掌上机或者便携式设备感兴趣的人都可以从因特网免费下载其内核和应用程序,并开始移植或开发,所以 Linux 在嵌入式开发领域得到稳步发展。uCLinux 即是目前嵌入式 linux? 中最流行的一种,它是针对微控制领域而设计的Linux 系统,其最大特征就是没有 MMU(内存管理单元模块),适合嵌入式系统小型化应用。 ??? uCLinux 支持多任务,支持多种文件系统,提供了对网络的强大支持,具有完整的 TCP/IP 协议栈,以及标准丰富的 API。由于它的很多核心代码都为没有被 MMU 的处理器重新编写过,对标准 Linux庞大的应用程序库和驱动程序库作了删改,所以它的内核要比常规的 Linux? 内核小很多;uCLinux 包含Linux 常用的 API 和小于 512k 的内核及相关的工具,总代码只有 900k 左右,但同时保留了常规 Linux? 操作系统绝大多数的优点。 ? ?? 2? 基于ARM 的硬件平台 ? ??? 嵌入式领域 32 位处理器以 ARM 公司的 ARM 核最为流行,本文以 Samsung公司的 ARM7TDMI 芯片S3C4510 为处理器开发板为硬件平台,开发板上与 S3C4510 相关的部分主要集成了如下器件: ? (2M+512k)B? 的 Flash,其中 AT29C010A为 512B 作为 BootLoader,一片 SST49VF160 为 1M×16bitFlash; 16MB? 的 DRAM,由两片 4M×16bits 的HY57V641620 提供? ; 16MB? 的 SRAM,由 M-systems 的新一代闪存盘 DOC2000 构成; Ethernet 接口; ARM JTAG? 接口。 ? ??? 开发板上与 S3C4510相关部分功能框图如图 1 所示。? ?? ???? ?? 3 uCLinux 内核移植 ?? 嵌入式 Linux? 开发大致涉及三个层次:引导装载程序、Linux? 内核和驱动及应用程序。我们将讨论涉及这三层的一些基本概念;深入了解引导装载程序、内核和文件系统是如何交互的。 ????? 引导程序 BootLoader 的主要作用包括初始化处理器;初始化必备的设备;下载系统映象;初始化操作系统系统并准备执行。? ??? ?引导装载程序有两种方法:专用软件和微小的引导代码。专用软件可以直接与远程系统上的闪存设备进行交互并将引导装载程序安装在闪存的给定位置中。而某些种类的嵌入式设备具有微小的引导代码:根据几个字节的指令,它将初始化一些 DRAM? 设置并启用目标上的一个串行(或者 USB,或者以太网)端口与主机程序通信;然后,主机程序或装入程序可以使用这个连接将引导装载程序传送到目标上,并将 它写入闪存。? ???? 嵌入式设备上一些流行的并可免费使用的 Linux? 引导装载程序有 Blob、Redboot? 和 Bootldr。所有这些引导装载程序都用于基于 ARM? 设备上的 Linux,并需要 Jflash-linux? 工具用于安装。一旦将引导装载程序安装到目标的闪存中,它就会执行我们上面提到的所有初始化工作。然后,它准备接收来自主机的内核和文件系统。一旦装入了内核,引导装载程序就将控制转给内核。? ???? Linux内核移植首先需要配置内核,可以用make menuconfig进行,根据板卡选择必要的选项。主要包括系统类型选定(ARM system type),配置SDRAM/Flash地址;对块设备、字符设备进行选择和配置;配置文件系统;是否配置图形用户界面(GUI)。修改内核,我们选用上的uClinux-2.4.26-uc0.diff,已经为S3C4510 移植好的内核,需要修改的地方很少。 ???? 编译内核,首先要在宿主机(安装有Linux)上建立交叉编译环境,下载arm-elf-tools安装在Linux 宿主机上的/usr/local/bin 目录下。现在的BLOB 和将来的uClinux 都要在这个环境下编译。?

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档