- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
UBoot在SC上的移植分析
摘 要:介绍了一款优秀的嵌入式BootLoader—U-Boot,详细讲解了它的运行原理,着重讨论了其在S3C2410上的移植过程,并对移植结果进行了测试。 关键词:U-Boot;S3C2410;移植;BootLoader ????????引 言 ???????? BootLoader是嵌入式系统软件开发的第一个环节,它紧密地将软硬件衔接在一起,对于一个嵌入式设备后续的软件开发至关重要。BootLoader还涉及到许多硬件相关的知识,对于普通的嵌入式开发板,它又是不可跳过的步骤,所以做好它的移植工作是必须的,对于后续的开发工作也是有益的。U-Boot是当前比较流行、功能强大的BootLoader,它操作简便,可以支持多种体系结构的处理器,同时提供了完备的命令体系。 S3C2410是三星公司一款基于ARM920T的嵌入式通用处理器。本文的移植平台就是以S3C2410 为核心的HHARM9-EDU-R2开发板,这块开发板的硬件资源配置较为完善。主要硬件资源有:S3C2410处理器;1片Intel TE28f128FLASH ( 16M);2片Hynix HY57V561620 SDRAM(64M);10/100M自适应网络芯片DM9000; USBHost/Device;RS232×2/RS485×1串口;LQ035FLM08L 256K色TFT真彩LCD显示屏;全功能JTAG调试口等。 ???????? U-Boot简介 ???????? U-Boot是Das U-Boot的简称,是由denx软件中心依照GPL 发布的公共软件,作为系统启动的引导模块,U-Boot支持多种处理器架构,比如Power-PC、ARM、MIPS和x86等。 目前,U-Boot源代码在sourceforge网站的社区服务器中, Internet上有一群自由开发人员对其进行维护和开发,它的项目主页是http:/// projects/ u-boot。当下载并解压U-Boot 源码包后,会形成如下的目录结构:board,和一些已有开发板有关的文件;common,实现各种U-Boot 命令的C 文件;cpu,CPU相关文件,其中的子目录都是以U-Boot 所支持的CPU命名的;disk,disk驱动的分区处理代码;doc,文档;drivers,通用设备驱动程序;fs,支持文件系统的文件;include,头文件,对各种硬件平台支持的汇编文件,系统的配置文件和对文件系统支持的文件;net:与网络有关的代码; lib-arm,与ARM体系结构相关的代码;tools,创建S-Record 格式文件和U-Boot Images的工具。 ???????? 本文中U-Boot的移植就是根据HHARM9-EDU-R2开发板的硬件资源在以上的目录中修改或者添加相关源文件,并且重新编译的过程。移植工作开始之前,了解U-Boot的运行过程是十分必要的。 ????????U- Boot 运行过程分析 ???????? U-Boot编译后的代码定义一般不超过100kB,并且这100 kB又分成两个阶段来执行。第一阶段的代码在start.s中定义,大小不超过10 kB,它包括从系统上电后在0地址开始执行的部分。这部分代码运行在Flash中,它包括对S3C2410的一些寄存器的初始化和将U-Boot的第二阶段代码从Flash拷贝到SDRAM中。除去第一阶段的代码,剩下的部分都是第二阶段的代码。 第二阶段的起始地址是在第一阶段代码中指定的,被复制到SDRAM后,就从第一阶段跳到这个入口地址开始执行剩余部分代码。 第二阶段主要是进行一些BSS 段设置,堆栈的初始化等工作,最后会跳转到main-loop函数中,接受命令并进行命令处理。图1 给出了U-Boot的详细的运行过程包括对内核的设置、装载及调用过程。 ???????? 图1 U-Boot运行过程???????? 了解了U-Boot 的运行过程以后,我们还必须确定开发板的地址空间分布,才可以进行源码的修改和移植工作。 地址空间的分布部分依赖于开发板的硬件配置及CPU 的复位地址。 本文中开发板的地址空间如图2 所示。 ???????? 图2 开发板地址空间分布 ????????U-Boot的移植与测试 ???????? 为了使移植工作更加快捷,应当选择U-Boot当前发布的最新版本1.1.2 (尽管通过CVS可以得到U-Boot1.1.3,但其正在开发,尚未发布,不宜使用) 。 因为最新的版本可以提供尽可能多的处理器核及开发板的支持。 对于U-Boot-1.1.2 而言,它不仅提供对ARM- 920T内核的支持,而且直接提供了对于S3C2410 的板级支持,这使移植工作
您可能关注的文档
最近下载
- 2024年9月21日红河州事业单位考调笔试真题及答案解析(综合管理卷).doc VIP
- 最新市政管网工程施工组织设计.docx VIP
- 社会实践登记表电子版.doc VIP
- 文创产品设计-课件.pptx VIP
- 篮球教案专业课课时计划.pdf VIP
- 陆培文阀门设计手册第三版计算书.xls VIP
- 成人2型糖尿病口服降糖药联合治疗专家共识(2025版)解读PPT课件.pptx VIP
- DLT-5210.1-2012-电力建设施工质量验收及评价规程-第1部分土建工程--配套表格.doc VIP
- 领导力和领导艺术(提要).ppt VIP
- 医学教程 《中国成人型糖尿病口服降糖药联合治疗专家共识》解读.ppt VIP
文档评论(0)