Bootloader中的PBL、SBL的区别

本文介绍了PBL(PrimaryBootloader)和SBL(SecondaryBootloader)在嵌入式系统中的角色,它们共同构成Bootloader,PBL负责基本初始化和硬件检测,SBL用于应用程序加载和更新。SBL的存在确保了应用程序的可升级性,但需借助工具刷新且依赖于特定会话模式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、PBLSBL的定义

1:PBL(Primary Bootloader)是第一级引导程序,主要执行芯片ECU的初始化和底层硬件的检测;

2:SBL(Secondary Bootloader)是第二级引导程序,主要负责执行从存储介质中读取数据,并加载到内存中执行;

二、PBLSBL两者的关系

1、Bootloader是由Boot Mannger(PBL) Reprogramming Software(SBL)组成,从图可以看出,程序运行到Boot Mannger以后,决定进入APP还是SBL。

具体检测操作:首先判断是否接收到更新APP的需求(即检测是否请求programming会话),然后再检测APPValid有效标志位。若未检测到请求Programming会话,则判断APPValid有效标志位,如果APPValid有效则进入APP,则功能正常运行;如果APPValid无效,则停留在BOOT模式下;若检测到请求Programming会话,则需要更新Application;所以程序先进入的是PBL然后根据标志位是否进入SBL;

2、SBL存在的意义就是更新APP程序。SBL更新APP程序的步骤:首先发1002会话保证处于PBL模式下----->其次下载SBL------>接着激活SBL------校验SBL的有效性------>下载APP------>校验APP的有效性;

3、BOOT刷新所用到的两个文件是FlashDriver驱动程序和boot软件,在这里我们可以将SBL理解为FlashDriver驱动程序,PBL理解为Boot软件。

4、SBL和PBL的关系是:SBL需要在PBL模式下运行并激活,MCU一上电首先复位到boot入口(上图的Boot Manager)。

5、注意点:SBL只能借助工具刷进去,当没有reset复位或者掉电,程序就会停留在SBL模式中;PBL是我们通常请求的1002会话模式下的程序,当MCU收到1002请求并且响应之后,程序会进入PBL模式中;

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值