查看: 385|回复: 2

[原创] MCXA153读保护

[复制链接]

该用户从未签到

656

主题

6312

帖子

0

超级版主

Rank: 8Rank: 8

积分
20200
最后登录
2024-5-10
发表于 2024-2-21 11:42:36 | 显示全部楼层 |阅读模式
本帖最后由 小恩GG 于 2024-2-22 09:30 编辑

MCXA153读保护
、概述
MCXA153支持读出保护(ROP),以保护代码从设备内部闪存读取。这种读出保护是一种允许用户在系统中启用不同级别保护的机制。本文详细解释了四个ROP级别的配置,以及不同级别与相应生命周期之间的关系。
Ⅱ、四级读出保护(ROP)
ROPROP_STATE位控制,它是一个32位的字段,存储在IFR0中,可按用户要求编程。   
图片1.png                            
以下是四个ROP级别的介绍:
1.ROP_LEVEL0
l   ROP_STATE = 0xFFFF_FFFF(erased FLASH value),
l  NoROP. Default for blank state.
2. ROP_LEVEL1
l   ROP_STATE = 0x0000_0003
l   Debug is disabled andunlocked, however it can be modified by customer, only limited debug mailboxcommands are available.
3 .ROP_LEVEL2
l   ROP_STATE = 0x0000_0001
l   Debug is disabled and locked,it cannot be modified by customer, only limited debug mailbox commands areavailable.
4. ROP_LEVEL3
l   ROP_STATE = 0x0000_0000
l   Debug is disabled and locked,it cannot be modified by customer, no debug mailbox commands are available

注意:任何其他行为= ROP3的行为(调试禁用/锁定,ISP禁用)

当ROP级别为0时,通过修改IFR0中的ROP_STATE值,可以将ROP级别更改为1、2、3。当ROP级别为1或2时,可以通过ISP或DM-AP命令将ROP级别更改为0。ROP级别3是单程行程,所以要小心。以下是四个层次之间的关系示意图:
图片2.jpg
Ⅲ、生命周期和ROP
当芯片从NXP交付给客户时,生命周期为“NXPProvisioned”,我们也可以称之为“OEM Open”“OEMField return”“NXP Field return”。因为此时,芯片是完全空白的,而ISP和调试功能是允许的。当然,这一点的ROP水平是0。在这个生命周期中,客户可以进行开发和调试。
在客户生产过程中,客户可以根据自己的需要,通过ROPISP进行一定的限制和调试。客户可以选择ROP等级1ROP等级2。此时的生命周期是“OEM关闭。在此生命周期中,当出现一些质量问题时,客户可以使用ISPDM-AP命令擦除整个芯片,或使用DM-AP命令“setFA”将芯片生命周期转移到初始状态,并返回NXP工厂进行分析,而不存储任何IP资产。
在某些场景下,客户可能需要完全关闭ISP和调试功能。在这种情况下,客户可以将ROP级别设置为3,芯片的生命周期为“OEMNo Return”。请注意,此时,即使恩智浦也无法恢复芯片。所以一旦出现CQC问题,我们工厂无法进行进一步的分析。
此外,我们可以在任何生命周期中将芯片转移到“砖”状态。在“砖”生命周期中,芯片将不被引导,并将成为砖。生命周期与ROP的关系如下表所示:
图片3.png
. 不同ROP水平对SWDISP的影响
不同ROP级别支持的SWDISP命令不同。从ROP0ROP3,支持的命令更少。不同ROP级别下,社署和服务提供商支持的命令如下图所示。
l  ISPcommands supported in ROP0-ROP3:
图片4.png
l  SWDDM-AP commands supported in ROP0-ROP3:
图片5.png 图片6.png
、使用SEC工具配置ROP
我们可以通过mcxpresso安全配置(SEC)工具配置ROP。mcxpresso安全配置工具是一个基于gui的应用程序,用于简化恩智浦MCU设备上可启动可执行文件的生成和配置。

硬件需求: FRDM-MCXA153 board、Type-CUSB cable
R软件需求:MCUXpressoSecure Provisioning
(MCUXpresso Secure Provisioning v8_b24011版本及以上)

配置步骤:

步骤1.创建一个新工作区
打开软件后,点击文件-新建工作区,选择“MCXA14x/A15x”->MCXA15->单击“创建”。参考下图:
图片7.jpg
步骤2.与目标处理器的连接
进入ISP模式:长按SW3(ISP键)=>按下并释放SW1(RESET键)=>释放SW3
转到您的工作区,单击“目标”->“连接”,显示“与目标处理器的连接”窗口。这里,我们通过UART进行连接,并选择端口和波特率。参考下图:
图片8.jpg
我们可以点击“Testconnection”来检查连接是否成功。如果连接成功,结果将显示“OK”。我们还可以看到当前板的生命周期:OEMOpen。参考下图:
图片9.jpg
步骤3. 选择“生命周期设置”
点击工具栏“OEMOpen”
图片10.jpg
根据需求选择合适的ROP,本例中为ROP2。注意:谨慎使用ROP3
参考如下图:
图片11.jpg
步骤4.构建镜像文件
完成上述操作后,我们需要将MCUXpressoIDE生成的.s19.hex文件加载到Source可执行镜像中。
加载完成后,系统自动识别起始地址。如果起始地址不为0x00000000,则不能“buildimage”。然后点击“build image”。参考下图:
图片12.jpg
完成构建镜像后,将显示“SUCCECC: built image”。单击“关闭”。参考下图:
图片13.jpg
步骤5.写入镜像文件
我们可以看到,在“writeimage”中已经自动生成了所需的.bin文件,或者我们可以通过“import”导入我们编写的相应的.bin文件,镜像路径文件将自动加载。
图片14.jpg
点击“writeimage”弹出确认,点击“ok”自动运行脚本。文件写入成功后,系统提示SUCCESS:write image。参考下图:
图片15.jpg 图片16.jpg
步骤6.检查
当我们完成ROP2的配置后,我们可以通过“PFR配置”检查寄存器的状态。所使用的寄存器无法读出,显示unknown,如下图所示:
图片17.jpg 图片18.jpg
最后,按下单板上的RESET键,退出ISP模式。此时,电路板已进入ROP2,调试被禁用。进入其他ROP级别的方法是相同的。
那么我们如何回到其他ROP水平呢?
ROP2状态调试关闭,连IDE都无法操作,只能使用ISP命令和SWD命令进行操作。SEC工具集成了SWD批量擦除命令,以返回ROP0。但是,我们也可以使用Blhost软件使用ISP命令,进入ISP模式,输入“Blhost-p comxx --flash-erase-all”返回到ROP 0。
接下来,我们将了解如何使用SWD批量擦除命令。
点击工具栏“Dbg”:
图片19.jpg
弹出“SelectDebug Probe”窗口。参考下图:
图片20.jpg
选择“Probe:”,点击“erase”。擦除成功后,显示如下提示:Flashmass erase succeeded!最终,我们成功地回到了ROP 0。
Ⅵ、总结
ROP功能保护了芯片的安全性,用户可以根据自己应用的要求设置不同级别的ROP。使用MCUXpresso安全配置简化了ROP配置过程。配置不同的rop需要修改CMPAROP_STATROP_STAT_DP的状态位。SEC工具通过GUI界面帮助我们自动化这项工作。   


回复

使用道具 举报

  • TA的每日心情
    开心
    2023-2-28 15:37
  • 签到天数: 42 天

    [LV.5]常住居民I

    42

    主题

    500

    帖子

    0

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    1369

    热心会员

    最后登录
    2024-2-23
    发表于 2024-2-21 18:08:36 | 显示全部楼层
    MCXA 的板子有没有申请的啊
    签到签到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2022-1-4 14:25
  • 签到天数: 1 天

    [LV.1]初来乍到

    0

    主题

    172

    帖子

    0

    高级会员

    Rank: 4

    积分
    579
    最后登录
    2024-5-6
    发表于 2024-3-25 16:24:18 | 显示全部楼层
    学习了
    每天登陆学习一下
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-10 10:35 , Processed in 0.145203 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表