Beaglebone bootloader杂谈

本文详细解析了Beaglebone平台的Bootloader启动过程,包括ROMBootLoader、SecondaryProgramLoader和U-Boot的角色及其作用。重点讨论了U-Boot的主要功能,如初始化处理器时钟、读取内核镜像并启动内核。

    既然是杂谈,内容就比较轻松一点。这里没有教大家怎样一步步去针对新的硬件平台去修改U-Boot代码(说真的,要想学这些还是去看U-Boot的文档比较靠谱),在这我只是泛泛的侃侃Bootloader和怎样生成针对Beaglebone的bootloader,嗯,闲话少叙,这就开始。

先说说Beaglebone的boot过程 
    大部分处理器的BOOT过程都要经历多个阶段,所谓的“chained loading method”,每一步新的bootloader都完成一些CPU初始化工作,加载下一步要运行的程序,然后将CPU的控制权完全转交。 
    对于Beaglebone平台来说,其使用的是AM335x系列的CPU,系统boot过程分为四大步: 
    1)处理器PoR(power-on reset)后就会跳到复位向量所指的程序段去运行,这段程序位于处理器的ROM中,由处理器生产厂商提供,我们称其为ROM Boot Loader(RBL)。RBL在初始化固定存储设备(NAND Flash,MMC,Etc.)后,根据CPU的跳线选择,从持久性存储设备中将第二部要用到的bootloader读入内存(至于是内部还是外部,要根据ROM中的程序来定,Beaglebone是内部ram),而后将控制权转交。 
     2)这一步的bootloader我们称为Secondary Program Loader(SPL),当然这是TI的叫法,你也可以称其为xloader,UBL。SPL完成有限的初始化工作,最重要的就是初始化DDR RAM(或是其他大一点的外部RAM),因为下一步的U-Boot将要进驻其中。在这之后,SPL从持久性存储设备中将U-Boot(其他bootloader也行,我们这里以U-Boot为例)读入DDR RAM中,随后转交CPU控制权。 
    3)终于到了万众瞩目的U-Boot阶段,使能大部分的处理器功能,将操作系统内核读入DDR RAM中,而后配置启动参数启动Linux内核。当然U-Boot的功能可不止这些,U-Boot中提供了很多应用程序,可以使用tftp下载文件,或是格式化存储设备等等。 
    4)Linux内核启动……内核初始化,MMU使能,外部设备初始化,PID(1)Init进程启动…… 
WHY 4 STEPS? 
    好了,那可能有人会问,搞得那么麻烦干嘛?一步Boot起来不行吗?>_< 其实任何一门技术都是让我们的生活变的简单,Bootloader也是,所以其不可能是麻烦……首先,第一步的RBL不可能太复杂,ROM大小是一个限制,最重要的还是因为其所能获取的系统信息太少,所以处理器只能使用简单的方法去寻找能完成复杂功能的代码,而后将处理器初始化工作交给它来完成。其次,SPL也不能很复杂,因为其位于处理器的内部RAM中,一般处理器的内部RAM都要小于128KB,其大小注定其不能完成很复杂的功能,是故,再寻找能力更强大一些的代码,将处理器初始化工作交给它来完成。到了在DDR RAM中执行的Bootloader(U-Boot算一个),其功能就比较完善了,此时就可以启动操作系统了。 

    最后上两张图:


下面就该说说U-BOOT了

    U-Boot全名是DAS U-Boot,一看就是德国佬做的,DAS吗…… 背景就不多介绍了,大家自己Google吧。 
    处理器在BOOT的前三个阶段都是不适用MMU的,也就是说在此三个阶段运行的程序,都是直接访问处理器的物理地址,只有到操作系统进行MMU初始化后,虚拟地址地址系统才算启动。为什么说这个?如果大家写了裸机程序想使用U-Boot加载运行,别忘了在编译的时候指明要加载的硬件地址! 
    U-Boot 主要完成的功能有: 
    1)初始化处理器时钟,设置pin mux。 
    2)读取内核镜像。 
    3)使用用户指定的内核启动参数启动内核。 


乐播投屏是一款简单好用、功能强大的专业投屏软件,支持手机投屏电视、手机投电脑、电脑投电视等多种投屏方式。 多端兼容与跨网投屏:支持手机、平板、电脑等多种设备之间的自由组合投屏,且无需连接 WiFi,通过跨屏技术打破网络限制,扫一扫即可投屏。 广泛的应用支持:支持 10000+APP 投屏,包括综合视频、网盘与浏览器、美韩剧、斗鱼、虎牙等直播平台,还能将央视、湖南卫视等各大卫视的直播内容一键投屏。 高清流畅投屏体验:腾讯独家智能音画调校技术,支持 4K 高清画质、240Hz 超高帧率,低延迟不卡顿,能为用户提供更高清、流畅的视觉享受。 会议办公功能强大:拥有全球唯一的 “超级投屏空间”,扫码即投,无需安装。支持多人共享投屏、远程协作批注,PPT、Excel、视频等文件都能流畅展示,还具备企业级安全加密,保障会议资料不泄露。 多人互动功能:支持多人投屏,邀请好友加入投屏互动,远程也可加入。同时具备一屏多显、语音互动功能,支持多人连麦,实时语音交流。 文件支持全面:支持 PPT、PDF、Word、Excel 等办公文件,以及视频、图片等多种类型文件的投屏,还支持网盘直投,无需下载转格式。 特色功能丰富:投屏时可同步录制投屏画面,部分版本还支持通过触控屏或电视端外接鼠标反控电脑,以及在投屏过程中用画笔实时标注等功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值