全新的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系列有个快速而全面的了解,敬请期待!
-
mcu
+关注
关注
146文章
17148浏览量
351185 -
恩智浦
+关注
关注
14文章
5860浏览量
107457 -
ROM
+关注
关注
4文章
572浏览量
85769 -
系统启动
+关注
关注
0文章
4浏览量
6374
原文标题:MCX A系列微处理器之系统启动
文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论