- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于AT91RM9200的BootLoader设.doc
基于AT91RM9200的BootLoader设
摘 要:随着微电子技术和计算机技术的发展,微处理器芯片的功能越来越强大,嵌入式技术也越来越受到人们的关注。但是在嵌入式系统设计过程中,Boot Loader的设计是遇到的第一个难点。本文以AT91RM9200为例,介绍Boot Loader的一般实现流程以及功能更为强大的u-boot的移植。
关键词:BootLoader AT91RM9200 u-boot移植 嵌入式系统
一、引言
嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁减来适应系统对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统。随着各种微处理器功能越来越强大以及软件上操作系统的支持,使得整个嵌入式系统拥有了完整构架。近年来各种嵌如式操作系统也是层出不穷以适应各种不同功能的微处理器。然而如何加载操作系统却成了大家学习嵌入式系统遇到的第一个拦路虎。这就是BootLoader,他把嵌入式硬件和嵌入式操作系统衔接起来,对于嵌入式系统后续软件的开发十分重要,在整个开发中也占有相当大的比例。BootLoader的功能是引导和加载内核镜像,是在系统复位后执行的第一段代码,BootLoader首先完成系统硬件的初始化,包括时钟的设置、存储区映射、设置堆栈指针,以及完成处理器和周边电路和设备正常运行所要的初始化工作,创建内核需要的信息并将系统的软硬件带到一个合适的状态,然后跳转到操作系统内核入口,将系统控制权交给操作系统,在此之后系统的运行和BootLoader再无任何关系。u-boot是当前比较流行、功能强大的BootLoader,可以支持多种体系结构。
二、BootLoader主要任务及典型结构
一个嵌入式Linux系统从软件的角度看通常可以分为四个层次:引导加载程序、Linux内核、文件系统、用户应用程序。如图2.1所示
BootLoader是依赖于硬件实现的,特别是在嵌入式系统中。不同的体系结构需求的BootLoader是不同的;除了体系结构,BootLoader还依赖于具体的嵌入式板级设备的配置。也就是说,对于两块不同的嵌入式板而言,即使它们基于相同的CPU构建,运行在其中一块电路板上的Boot Loader,未必能够运行在另一块电路开发板上。
BootLoader的启动过程可以是单阶段的,也可以是多阶段的。通常多阶段的BootLoader能提供更为复杂的功能,以及更好的可移植性。从固态存储设备上启动的BootLoader大多数是二阶段的启动过程,也即启动过程可以分为stage 1和stage 2两部分。
用户应用程序
文件系统
Linux内核
引导加载程序
图 2.1
依赖于CPU体系结构的代码,比如设备初始化、开关中断、初始化时钟等,通常都放在stage 1中,而且都用汇编来实现,以达到短小精悍的目的。而stage 2通常用C语言来实现,这样可以实现较复杂的功能,而且代码有较好的可读性和可移植性。
Boot Loader的stage1通常包括以下步骤:
(1)初始化各种模式的堆栈和寄存器。
(2)初始化系统时钟、系统总线速率及一些系统常量。
(3)初始化存储控制器,如FLASH和SDRAM的大小、类型、数据宽度、地址范围等
(4)初始化各种I/O口和各种控制器。
(5)为stage2做准备。
Boot Loader的stage2通常包括以下步骤:
(1)初始化本阶段要使用到的硬件设备。
(2)检测系统内存映射(memory map).
(3)将内核映像和根文件系统映像从flash拷贝SDRAM中。
(4)为内核设置启动参数。
(5)调用内核。
综合起来,整个BootLoader的实现流程如图2.2所示:
基本硬件初始化
拷贝阶段2镜像至RAM
扩展功能所需硬件初始化
图 2.2
三、BootLoader的实现
u-boot是当前比较流行、功能强大的BootLoader,而且是通用的免费开放源码的Boot Loader程序,可以支持多种体系结构。u-boot是由德国的工程师代码发展而来的。目前必威体育精装版版本是u-boot-1.1.4。现以ATMEL公司生产的AT91RM9200为例,介绍如何在以AT91RM9200为核心处理器的最小系统上的u-boot-1.1.0的移植。本系统包括:
flash :4MB
sdram:32MB
1.u-boot源代码目录结构
(1)board:和一些已有开发板的文件,比如Makefile和u-boot.lds等都和具体开发板的硬件和地址分配有关。
(2)mon:与体系结构无关文件,实现各种命令的C文件。
(3)cpu:CPU相关文件,其中的子目录都是以u-boot所支持的CPU为名,比如有子目录arm926ejs、mips、mpc8260和nios等,每个特定的子目录中
您可能关注的文档
- 培养孩子学习心得(精选多篇).doc
- 培养英语朗读习惯 提高学生学习能力.doc
- 培养适应岗位需求的银领人才 ——长三角部分企业考.doc
- 培育和践行社会主义核心价值观的意义(精选多篇).doc
- 培训代表发言(精选多篇).doc
- 培训会会议主持词.doc
- 培训会议主持词串词.doc
- 培训会议主持词结束语.doc
- 培训会议领导讲话(精选多篇).doc
- 培训会领导讲话(精选多篇).doc
- 2024年国家公务员考试公共基础知识精选试题库及答案.docx
- 2025国家义务教育质量监测艺术试题(附答案).docx
- 药品管理法、流通管理办法、职业道德,培训试题和答案.docx
- 2025初中道德与法治中考模拟卷(带答案).docx
- 2025届高考模拟作文“放低姿态,抓住重点”导写及范文.docx
- 2025年吉林白城师范学院专项招考聘用高校含科研院所毕业生2号模拟题二.docx
- 2025年国家药品监督管理局信息中心招聘考试试题及答案.docx
- 事业单位联考公基考试真题(含答案).docx
- 2025年必威体育官网网址知识考试题库教育测考试题库及答案.docx
- 2025年度军队文职人员招考笔试《英语语言文学》备考模拟题及答案.docx
最近下载
- 2023年云南大学滇池学院网络工程专业《数据结构与算法》科目期末试卷A(有答案).docx VIP
- 油水井动态分析方法.pptx VIP
- 风机吊装安全技术交底交底.docx VIP
- 2023年云南大学滇池学院计算机科学与技术专业《数据结构与算法》科目期末试卷B(有答案).docx VIP
- 高考志愿填报样表.doc VIP
- 论剧版《繁花》的叙事策略与主题.docx VIP
- 阳煤丰喜肥业(集团)有限责任公司临猗分公司“8·31”煤气过滤器导淋排液中毒事故调查报告.doc VIP
- 人工智能引论知到智慧树期末考试答案题库2025年浙江大学.docx VIP
- 2023年广东珠海中考地理真题及答案.doc VIP
- 2022年云南大学滇池学院计算机科学与技术专业《数据结构与算法》科目期末试卷A(有答案).docx VIP
文档评论(0)