0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Cortex-M33内核的系列

STM32单片机 来源:STM32单片机 作者:STM32单片机 2020-06-19 11:35 次阅读

前言

STM32L5是STM32家族中第一个基于Cortex-M33内核的系列,而TrustZone正是此内核最重要的特性,使能TrustZone的方法非常简单,在RDP=0的情况下直接在option byte中将TZEN置1即可,但是一旦TrustZone使能后,与其相关的安全特性也将开启,由于安全方面的特性,在TrustZone已经打开的情况下欲将其再次关闭却不能像打开时那样那么简单操作了。本文将以用户的视角描述一下关闭TrustZone的过程。

过程

为了讲述这一过程,我们将以NUCLEO-L552ZE-Q这块板子为例,工具使用STM32CubeProgrammer V2.4.0

首先通过CubeProgrammer这个工具将MCU的TrustZone打开, 在此之前读保护RDP=0,是用户面临的选项字节最初始状态:

按客户的操作思路,接下来我们尝试关闭TrustZone。

首先,直接在option byte中直将TZEN后那个勾去掉,然后Apply。

此时会出现错误,如上图所示。

基于Cortex-M33内核的系列

在TrustZone已经激活的情况下,是不能直接将其关掉的。

接下来查看参考手册,在RM0438 4.4.2节有讲述到如何将TrustZone关闭的内容:

基于Cortex-M33内核的系列

显然,原来TrustZone关闭必须是在读保护从RDP1回退到RDP0的同时进行才可以。

首先,我们要将RDP设置为level1,然后再回退

基于Cortex-M33内核的系列

如上图所示,在设置RDP1的时候, 此时会出现警告,意思是说在TrustZone开启的情况下尝试使能RDP,如果当前FLASH内的代码不能使得芯片上电后执行的程序最终跳转到NS空间,将会导致关闭trustzone和回退RDP失败,强烈建议将nSWBOOT0设置为1。这样可以确保我们可以通过调整PH3/Boot0引脚电平来从系统bootloader启动,这是一定可以跑到NS程序空间的。【NS:Non-Secure】

我们先选择“取消”,然后检查nSWBOOT0的设置:

基于Cortex-M33内核的系列

如上图所示,nSWBOOT0的值已经为1,是OK的,其值表示BOOT0的值将从PH3引脚的状态来决定 。

既然关闭TrustZone必须是RDP从LEVEL 1回退到LEVEL 0的过程中操作才行,那么我们必须要先将RDP设置为LEVEL 1才行。使能RDP LEVEL 1:

基于Cortex-M33内核的系列

如上图所示,警告意思是: 你确定?你的MCU将可能永远丧失!

点击OK。如下图所示:

基于Cortex-M33内核的系列

表示FLASH内的数据已经不能读取了,RDP LEVEL 1使能后,FLASH的内容自然不能再读出,点击OK。

基于Cortex-M33内核的系列

此时再次尝试连接,则出现如下界面所示 :

基于Cortex-M33内核的系列

此时,ST-Link果然不能再连接。

那么接下来我们该如何做呢?-》拉高PH3, 让MCU从RSS启动。

以NUCLEO-L552-Q板为例,将PH3拉到VDD后,再次上电重启,此时板上的蓝色的LD2和红色LD3亮起。按照这块板子的用户手册UM2581,章节6.11.2说明:直接把CN11上的引脚5(VDD)和引脚7(PH3_BOOT0)短接即可。

使用Cubeprogrammer,以hotplug模式进行连接(Mode :Hot plug) :

基于Cortex-M33内核的系列

尝试连接:

基于Cortex-M33内核的系列

如上图所示,ST-Link已经连接上,只不过由于RDP LEVEL 1使能了而不能读取FLASH内容,但此时option bytes是可以修改的。

打开Option byte界面,在User configuration下将TZEN对应的复选框内的勾去掉,然后再将Read Out Protection下的RDP改回LEVEL 0,然后点击Apply

基于Cortex-M33内核的系列

上图表示已经修改成功,断开连接,断开电源,然后将PH3引脚的高电平恢复到低电平。上电后再次连接…

基于Cortex-M33内核的系列

如上图所示,再次连上时,FLASH的内容由于RDP LEVEL 1回退到LEVEL 0时被全部清空。此时再次查看RDP和TZEN的值 :

基于Cortex-M33内核的系列

基于Cortex-M33内核的系列

RDP恢复到LEVEL 0,TrustZone成功关闭。

后注 :

1》 关闭trustzone需要通过RDP级别回退完成。

2》 nSWBOOT0=1 && BOOT0/ PH3引脚为高,使得上电后系统从RSS启动。

3》 在STM32CubeProgrammer中使用hot plug连接方式是为了让MCU从RSS启动后,在运行到NS空间的时候方便跟调试端口连接,以便进行后续的Option Bytes修改操作。
责任编辑:pj

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

    关注

    3

    文章

    1372

    浏览量

    40276
  • 数据
    +关注

    关注

    8

    文章

    7002

    浏览量

    88940
  • trustzone
    +关注

    关注

    0

    文章

    20

    浏览量

    12535
收藏 人收藏

    评论

    相关推荐

    兆易创新推出基于Arm Cortex-M33内核的GD32G5系列高性能微控制器

    近日,业界领先的半导体器件供应商兆易创新GigaDevice (股票代码 603986) 宣布,正式推出基于Arm Cortex-M33内核的GD32G5系列高性能微控制器。
    的头像 发表于 11-13 17:24 673次阅读
    兆易创新推出基于Arm <b class='flag-5'>Cortex-M33</b><b class='flag-5'>内核</b>的GD32G5<b class='flag-5'>系列</b>高性能微控制器

    瑞萨电子基于Arm Cortex-A55和双Cortex-M33 MPU的SOM方案 加速物联网设计

    基于Arm Cortex-A55(1.1GHz)和双Cortex-M33(250MHz)MPU的SOM(系统模块)方案,该方案可加快物联网应用的开发进程,并降低其设计风险。 系统框图 方案介绍 本方案由一个多功能OSM载板和一个兼容的OSM模块组成。核心在于集成的 RZ/
    的头像 发表于 08-15 17:23 1914次阅读
    瑞萨电子基于Arm <b class='flag-5'>Cortex</b>-A55和双<b class='flag-5'>Cortex-M33</b> MPU的SOM方案 加速物联网设计

    树莓派Pico 2发布,搭载RP2350双核RISC-V和Arm Cortex-M33微控制器!

    复杂得多的设计,具有: – 两个 150MHz Arm Cortex-M33 内核,支持浮点和 DSP – 内置 520KB SRAM – 围绕 Arm TrustZone for Cortex-M
    发表于 08-13 10:07

    恩智浦发布支持多协议无线连接的MCX W系列

    基于MCX N和MCX A系列微控制器取得的成功,恩智浦发布支持多协议无线连接的MCX W系列。作为MCX广泛产品组合的重要成员,MCX W系列具有与MCX产品其他系列相同的Arm
    的头像 发表于 05-10 15:38 2691次阅读
    恩智浦发布支持多协议无线连接的MCX W<b class='flag-5'>系列</b>

    瑞萨MCU/MPU开发板概述

    、扬声器) CPK-RA6M4(200MHz, Arm Cortex-M33内核,1MB  Flash/256KB SRAM,板载Jlink、数字光线传感器、电位计、USB) Dangs RA6
    的头像 发表于 04-15 08:35 687次阅读
    瑞萨MCU/MPU开发板概述

    ABOV现代单片机推出基于75MHz Arm Cortex-M3内核的A33G539产品

    A33G539产品基于75MHz Arm®Cortex®-M3内核,拥有768KB Dual-Bank闪存、32KB 数据闪存和24KB SRAM,支持16位定时器、12位ADC 以及
    的头像 发表于 03-28 16:26 717次阅读

    兆易创新正式推出全新GD32E235系列超值型MCU,扩充Cortex-M23产品阵容

    兆易创新正式推出全新GD32E235系列超值型MCU,进一步扩充Cortex-M23内核产品阵容。首颗同系列产品Arm Cortex-M23
    的头像 发表于 03-27 11:15 823次阅读
    兆易创新正式推出全新GD32E235<b class='flag-5'>系列</b>超值型MCU,扩充<b class='flag-5'>Cortex-M</b>23产品阵容

    Cortex-M0+内核介绍

    和8位的价位实现32位性能。处理器的低门数使其能够部署在需要简单功能的应用中。 作为ARM Cortex-M处理器系列的最新成员,32位Cortex-M0+处理器采用了低成本90纳米低功耗(LP)工艺,耗电量仅9μA/MHz,约
    的头像 发表于 03-27 09:13 1031次阅读
    <b class='flag-5'>Cortex-M</b>0+<b class='flag-5'>内核</b>介绍

    兆易创新推出GD32F5系列Cortex-M33内核MCU

    兆易创新GigaDevice宣布,正式推出GD32F5系列高性能微控制器,该系列MCU基于Arm® Cortex®-M33内核,旨在满足各类
    的头像 发表于 03-16 09:58 1190次阅读

    兆易创新推出GD32F5系列Cortex®-M33内核MCU,提供工业高性能应用新选择

    业界领先的半导体器件供应商兆易创新GigaDevice(股票代码603986)宣布,正式推出基于ArmCortex-M33内核的GD32F5系列高性能微控制器,全面适配于能源电力、光伏储能、工业
    的头像 发表于 03-16 08:22 573次阅读
    兆易创新推出GD32F5<b class='flag-5'>系列</b><b class='flag-5'>Cortex</b>®-<b class='flag-5'>M33</b><b class='flag-5'>内核</b>MCU,提供工业高性能应用新选择

    兆易创新推出GD32F5系列Cortex®-M33内核MCU

    业界领先的半导体器件供应商兆易创新GigaDevice 今日宣布,正式推出基于Arm® Cortex®-M33内核的GD32F5系列高性能微控制器,全面适配于能源电力、光伏储能、工业自
    的头像 发表于 03-07 11:40 840次阅读
    兆易创新推出GD32F5<b class='flag-5'>系列</b><b class='flag-5'>Cortex</b>®-<b class='flag-5'>M33</b><b class='flag-5'>内核</b>MCU

    兆易创新推出基于Arm® Cortex®-M33内核的GD32F5系列高性能微控制器

    中国北京(2024年3月7日)——业界领先的半导体器件供应商兆易创新GigaDevice (股票代码 603986) 今日宣布,正式推出基于Arm Cortex-M33内核的GD32F5系列高性能微控制器,全面适配于能源电力、光
    的头像 发表于 03-07 09:09 884次阅读
    兆易创新推出基于Arm® <b class='flag-5'>Cortex</b>®-<b class='flag-5'>M33</b><b class='flag-5'>内核</b>的GD32F5<b class='flag-5'>系列</b>高性能微控制器

    Cortex-M85内核单片机如何快速上手

    2022年4月,Arm推出了全新的MCU级内核Cortex-M85。截止目前(2024年2月),Cortex-M85是最新、最强的Cortex-M
    发表于 02-29 09:35 736次阅读
    <b class='flag-5'>Cortex-M</b>85<b class='flag-5'>内核</b>单片机如何快速上手

    强大的Arm® Cortex®-M3内核(下)

    经过前一期的芝识课堂,我们了解了东芝MCU产品所基于Arm Cortex-M3内核的基本结构和寄存器分配的细节。
    的头像 发表于 01-25 09:25 1217次阅读
    强大的Arm® <b class='flag-5'>Cortex</b>®-<b class='flag-5'>M</b>3<b class='flag-5'>内核</b>(下)

    STM32 Cortex®-M33 MCU编程手册

    本编程手册为应用程序和系统级软件开发人员提供信息。它给出了完整的描述STM32 Cortex-M33处理器编程模型、指令集和核心外设。适用的产品有列在下表中。Cortex-M33处理器是为微控制器
    发表于 01-09 09:50 14次下载