下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文格式为Word版,下载可任意编辑——嵌入式linux操作系统uBootloader/u-boot的启动模式
对于计算机系统来说,从计算机开机上电的到操作系统的启动需要一个引导过程。嵌入式Linux同样也需要一个引导的过程,及引导程序就叫做Bootloader。Bootloader是在操作系统启动之前执行的一小段程序,通过这段小程序,我们可以初始化硬件设备、建立内存空间映射表,从而建立适当系统软硬件环境,为最终调用操作系统内核做好准备。
对于嵌入式系统,Bootloader是基于特定平台来实现的,因此几乎不可能为所有的计算机操作系统建立一个通用的Bootloader,不同的处理器架构都有不同的Bootloader,Bootloader不但依靠于CPU的体系结构,而且依靠于嵌入式系统板级的设备的配置。对于两块不同的嵌入式开发板,即使他们使用同一种处理器,要想让运行于一块板子上的Bootloader运行在另一块板子上,一般都需要修改Bootloader源程序。
反过来大多数的Bootloader都具有好多的共性,某些Bootloader也能够支持多种体系结构的嵌入式系统。例如:u-boot就同时支持Powerpc、ARm、MIPS和X86等等的体系结构,支持的板子有上百种,寻常他们都能够自动从存储介质上启动,都能够引导操作系统启动,并且大部分都可以支持串口和网口的操作。
系统加电或者复位后,cpu寻常都会从某个地址开始执行,这是由处理器决定的,对于ARM处理器而言会从0x00000000取第一条指令,嵌入式系统的开发板都要把ROM和FLASH映射到这个地址上,因此必需将Bootloader的程序存储在相应的FLASH位置,这样系统加电后就会首先执行它。
u-boot的启动一般流程:
第一阶段:依靠cpu初始化外围硬件代码,寻常用汇编代码实现
1、设置cpu的工作模式;2、关中断,以防止意外发生;
/**************************************************setthecputoSVC32mode,设置cpu工作模式为11010011,*后五位表示cpu的工作模式设置为〞管理〞,并且关闭中断*110则表示IRQ(普通中断)和FIQ(快速中断)都为阻止**************************************************/mrs
r0,cpsr//读取cpsr中的数据到r0中
bicr0,r0,#0x1f//将寄放器r0的值和0x1f的反码安位与之后将结果存储在r0中相当于清零
orrr0,r0,#0xd3//将寄放器r0的值和0xd3安位或之后将结果保存在r0寄放器之中,关闭中断
msr
cpsr,r0//将cpsr中的数值写到r0寄放器中
3、关闭看门狗,避免系统重启;
#ifdefined(CONFIG_S3C2400)||defined(CONFIG_S3C2410)||defined(CONFIG_S3C2440)
/*turnoffthewatchdog,关闭开门狗*/#ifdefined(CONFIG_S3C2400)#definepWTCON#defineINTMSK
0x15300000
0x14400008/*Interupt-Controllerbaseaddresses*/
#defineCLKDIVN0x14800014/*clockdivisorregister*/#else
#definepWTCON#defineINTMSK
0x53000000
0x4A000008/*Interupt-Controllerbaseaddresses*/0x4A00001C
#defineINTSUBMSK
#defineCLKDIVN0x4C000014/*clockdivisorregister*/#endif
4、设置back初始化,设置cpu的工作频率;#ifdefined(CONFIG_S3C2440)/*FCLKHCLKPCLK=1:4:8*/
ldrr0,=CLKDIVNmovr1,#5strr1,[r0]
mrcp15,0,r1,c1,c0,0orrr1,r1,#0xc0000000mcrp15,0,r1,c1,c0,0
movr1,#CLK_CTL_BASEmovr2,#MDIV_405addr2,r2,#PSDIV_405
strr2,[r1,#0x4]#else
/*FCLK:HCLK:PCLK=1:2:4*//*defaultFCLKis120MHz!*/ldrr0,=CLKDIVNmovr1,#3strr1,[r0]#endif
/*CONFIG_S3C2400||CONFIG_S3C2410*
5、从FLASH
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年断路作业风险管控考试试题及答案
- 2026年店铺数据分析复盘试题及答案
- 未来五年新形势下复合氨基酸制剂行业顺势崛起战略制定与实施分析研究报告
- 2026国宝人寿保险股份有限公司招聘6人备考题库及参考答案详解(a卷)
- 2026国航股份浙江分公司地面综合服务岗位就业见习生、实习生备考题库含答案详解(研优卷)
- 2026陕西西安交通大学医院招聘1人备考题库附答案详解(典型题)
- 2026云南昆明华航技工学校蒙自校区招聘12人备考题库附参考答案详解(巩固)
- 2026贵州黔东南州三穗县招聘社会化服务市场监管协管人员2人备考题库及1套参考答案详解
- 2026福建福州市侨联招聘1人备考题库及答案详解(全优)
- 2026吉林大学白求恩第一医院心血管内科招聘备考题库及答案详解一套
- 合肥蜀山区五校联考2026年初三3月第一次模拟考试英语试题试卷含解析
- 2026年广西事业单位招聘考试真题及答案
- 2025年理赔专业技术职务任职资格考试(理赔员·社保理赔)历年参考题库含答案详解(5套)
- 马工程西方经济学(第二版)教学课件-7
- 大戏院改造项目施工组织设计
- DB37-T 3866-2020 健身场地防护缓冲垫通用技术要求-(高清版)
- 国民经济行业分类注释2002
- 《水利水电工程设计计算程序集》
- 钢结构独立基础开挖施工方案
- (新教材)必修2基因的表达单元教学设计
- 项目跟投案例分析(万科、金地等)
评论
0/150
提交评论