当前位置: 首页 > 工具软件 > Flashboot > 使用案例 >

关于boot及bootloader

伏子辰
2023-12-01

bootloader,比如windows启动的时候可以通过按F2或者F10进入启动菜单,设置一些系统级别的参数,比如最常改动的启动顺序,可以选择CDROM启动、USB启动等。

在基于ARM核的嵌入式系统中,也是需要bootloader的,它的作用,相对来说权限级别比较高,可以执行一些写系统裁剪参数、写user source code到code Flash的指定存储空间。所以这时候bootloader就是在生产的时候用于programming代码或者说下载烧录代码用的,写一些product ID、life cycle等,还有一些状态位写到eFuse电子保险丝或者说OTP里面去的,OTP就是OneTime Programming,就是只能写一次的特殊存储器,如果是secure boot,这里面可能还hi存储一个flash boot code的hash值,用于安全启动的时候进行校验。

有时候一个soc是双核或者多核的,比如6核的,那么就是涉及一个多核启动的问题,multicore boot。

引导过程的主要功能是配置系统(应用修剪和伤害信息,并根据产品生命周期阶段配置访问和保护设置),对应用程序进行身份验证,并将控制转移到应用程序。一般就是CM0+上会有个SROM,这个里面已经烧录了芯片的boot程序。ROM启动进程在M0+上执行,它的主要目的是启动一个M0+闪存启动过程。当其他cpu启动时,它们将进入ROM引导过程。ROM引导过程将识别出这一点,并直接跳转到CPUSS指向的代码中。CM4的CM4_VECTOR_TABLE_BASE绕过了整个启动。CPUSS_IDENTITY寄存器用于确定哪个CPU正在执行ROM引导进程。

 类似资料: