MCXA153 MCU的系统启动

描述

全新的MCX A系列融合了恩智浦通用MCU的特点,适用更为广泛的通用应用,实现了低成本,低功耗,高安全性和高可靠性。MCXA153是MCX A系列的第一款产品,已于2024年1月份上市,为低成本入门MCU应用提供了丰富的功能和特性。后续MCX A系列还会继续推出新产品,为客户提供持续的硬件和软件的可扩展升级路径。

系统启动(System Boot)是指MCU从复位到执行应用主程序Main函数的整个过程,它涉及到客户产品开发调试,系统稳定性和后续软件升级,MCXA153的系统启动还包含了信息安全(Security),包括生命周期管理(Lifecycle Management)、代码保护禁读(Read Out Protection)等特性。

今天,我们来一起了解一下MCXA153的系统启动。

   MCXA153的系统启动三部曲   

1. ROM启动:在MCU复位后,将首先执行MCXA153 ROM中的代码 2. 扩展引导程序启动:ROM启动完成后,跳转到扩展引导程序(Extended Bootloader) 3. 跳转到用户应用程序

系统启动

图中虚线箭头表示扩展引导程序和用户应用程序可以调用ROM提供的Flash API,来操作Flash,用户应用程序也可以调用runBootloader API来跳转到ROM当中。

   ROM启动   

在MCU复位之后(包括上电复位POR、复位引脚引起的复位、深度掉电模式唤醒复位等),MCU将首先进入ROM启动流程。ROM启动将完成以下功能:

检查生命周期 Lifecycle

通过调试接口处理调试邮箱请求(Debugger Mailbox)

通过MBC配置Flash的访问权限(读、写、执行权限)

根据唤醒源执行代码完整性检查

在跳转到扩展引导程序之前,隐藏ROM启动关键部分

详细的ROM启动流程如图所示,蓝色箭头表示默认的执行流程,一开始,ROM将执行初始化,并检查扩展引导程序是否存在,然后检查MCU的生命周期,ROM将根据唤醒源,检查扩展引导程序的CRC,用于检测程序的完整性。CRC检查之后,ROM将检查用户程序的堆栈指针(SP)和程序(PC)是否合法,然后隐藏自己并跳转到扩展引导程序。

系统启动  

扩展引导程序启动  


扩展引导程序是将ROM中的部分功能分离出来,放在IFR0 (Implicit-protected Flash Region)区域,在NXP工厂生产时烧录,从NXP出厂后,无法被删除或修改。扩展引导程序主要功能是ISP (In SystemProgramming),可通过ISP接口(USB、LPUART0)更新Flash中的用户应用程序固件。

具体的扩展引导程序启动流程如图所示,首先进行初始化并检查唤醒源,如果MCU不是从深度掉电(Deep Power Down)模式唤醒,它将初始化MCU。接下来如果ISP引脚是低电平,它将进入ISP路径,更新用户应用程序固件。如果ISP引脚为高电平,则跳转到正常启动路径,跳转到用户应用程序。

系统启动

今天给大家介绍了MCX A153的系统启动,后续我们将继续深入,为大家带来更多详尽,专业的特性介绍,帮助大家对MCX A系列有个快速而全面的了解,敬请期待!

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分