MCX A系列微处理器之系统启动

cathy的头像
cathy 发布于:周四, 07/04/2024 - 09:42 ,关键词:

全新的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. 跳转到用户应用程序

1.png

图中虚线箭头表示扩展引导程序和用户应用程序可以调用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)是否合法,然后隐藏自己并跳转到扩展引导程序。 

2.png 

扩展引导程序启动  

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

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

3.png

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

来源:恩智浦MCU加油站

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 21