你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32L5 生态系统总汇

[复制链接]
STMCU-管管 发布时间:2020-5-27 14:02
6 ^9 h+ |2 y) l% X! N( J
/ W8 l6 h" J2 c0 P$ }% y6 m
' _  S6 L" k( [
11.jpg
2 K) A. x) u' n$ ?/ D+ Q7 C$ w
从使用角度,我们有以下六类设计资源,提供给开发者,做基于STM32L5的安全应用开发。
技术文档、评估板、参考固件例程、配合应用开发的软件工具、中文培训材料、本地方案(ST本地支持团队和中国合作伙伴开发的方案,都会在这里向大家集中展示)

6 l& R& |$ Y# Q; v: W4 E
技术文档

# I2 n% r+ |* y/ `
基础技术文档
STM32L5参考手册
4 c+ ~0 n5 O# |9 A5 W' Q# K# [* r
Cortex-M33内核编程手册
& `: z3 s# H* Q1 t* v
【STM32L562xx系列】数据手册
7 q( G+ F+ z, ~9 ~
【STM32L552xx系列】数据手册

% \% }1 w0 j) P% k; {
【STM32L552xx/562xx系列】勘误手册
" y" _7 @6 _6 ^# P+ o1 N9 U
应用笔记/用户手册
Octo-SPI interface on STM32
《STM32的Octo-SPI接口外设》
STM32L5新外设和新模块
FDCAN peripheral on STM32 devices
《STM32的FDCAN接口外设》
FDCAN protocol used in the STM32   bootloader
《STM32启动程序使用的FDCAN协议》
Using STM32L5 cache to optimize   performance and power efficiency
《使用STM32L5的cache来优化性能和能效》
Managing memory protection unit in STM32   MCUs
《管理STM32的MPU》
支持L5新版本MPU

" D) X8 u$ Q% ^

* R" R2 D% S# q1 H* W. U& f

) M; L! P  b0 ^: y! ]" ^
基础文档,除了参考手册,数据手册,勘误手册之外,由于STM3L5是第一颗基于CM33内核的STM32,因此对内核的编程手册也是一篇重要的文档。

. b& ~1 b$ @. ?+ ^+ x4 Z1 b* T# t; C( O
STM32L5延续以往STM32系列的外设基因,同时增加了新的外设模块,进一步扩展目标应用市场,并进一步提高效能和安全性。对这些新外设,我们都有应用文档描述它的使用。
, P6 `- f/ G( R3 \3 ?% f5 W

应用笔记/用户手册

Overview secure firmware install (SFI)

《安全固件安装概览》

9 r0 v- A; z/ Y9 K

& ^7 A1 E4 y3 p; Q7 O; @' H+ Z0 b- f! n1 I- m* t9 Z
9 X- i8 G+ s+ v, U* t3 h. U

& @5 {3 p1 z5 d& x2 G2 ^5 t

STM32L5的TrustZone和其他安全特性

STM32L5 TrustZone feature

《STM32L5的TrustZone特性》

Getting started with STM32L5 and TrustZone® development

《基于STM32L5的TrustZone开发入门体验》

STM32L5 system memory RSS services

《STM3L5系统存储区里的RSS(根安全服务)》

Overview of SBSFU solution on STM32L5

《STM32L5的安全启动和安全固件升级方案介绍》

STM32L5 Nucleo-144 board (MB1361)

《STM32L5的144引脚Nucleo板介绍》

STM32L5的三种不同定位和功能的评估板

Evaluation board with STM32L552ZE MCU

《STM32L552的Evaluation(全功能评估)板》

Discovery kit with STM32L562QE MCU

《STM32L562的Discovery(探索套件)板》

! C* m3 {- x$ _/ K% j  m9 O% u
安全,是STM32L5的重点特性之一,除了TrustZone,ST还提供了安全启动安全升级的参考源码,以及用于产线上安全烧录固件的SFI服务。以下文档,可以让你有一个比较全面的认识。

6 x' T# c* t3 o8 ^) y' p8 F+ `
应用笔记 / 用户手册
STM32Cube firmware examples for STM32L5
《STM32CubeL5固件包里的例程介绍》
搭配STM32CubeL5固件包
Getting started with CubeL5 for STM32L5
《基于固件包STM32CubeL5体验STM32L5的入门》
Getting started with L5 in STM32CubeIDE
《基于软件工具STM32CubeIDE体验STM32L5的入门》

! w9 U. X0 M# W
Getting started with STM32L5  hardware development
《基于STM32L5的硬件开发指南》
; q& P  v' @' _1 ~, e% u
Migrating from STM32L4 and STM32L4+  to STM32L5
《如何从现有设计从STM32L4和STM32L4+移植到STM32L5》
方案移植
  w5 \* G- H5 R2 ]% K: R0 l

" s+ O2 i- R8 R7 \
除了评估板和技术文档,和以往的STM32芯片一样,STM32L5也有它自己的固件包:STM32CubeL5。里面包罗了很多预编译后,直接下载就能运行的例程,在以下文档里我们也有描述。  STM32L5是ST推出的集低功耗和安全特性为一身的芯片,现有基于前代产品的方案,如果要移植到更安全,更节能的STM32L5上,可以参考AN5138的移植文档。
8 r; X  _7 U' f$ H2 ]8 s
评估板
& c/ u1 H9 f3 Z

! c9 P4 Q. s/ I# e: e% h

2 d! U" T0 h7 L7 A' W% `7 e- q8 U1 a

$ p' w' |# d# p( B7 @: M# c- b
; l" O5 Q" z6 H, a6 z( q( ?$ }
芯片型号
STM32L552ZET6QU
STM32L562QEI6QU
STM32L552ZET6QU
板上调试器
STLINKV2
STLINKV3
STLINKV2
片上硬件密码学模块
SHA, TRNG
SHA, TRNG
AES, PKA
SHA, TRNG
板上器件
3个用户LED
1个用户按钮,一个复位按钮
32.768KHz 晶振
+
TFT LCD模块,带触摸功能功耗测量器件(300nA~150mA)
Audio CODEC, MEMS数字麦克风,Octo-SPI Flash,BLE模块,加速度计和陀螺仪
4个用户LED+
Octo-HyperRAM,SRAM,EEPROM,Tamper按键,Joystick,触摸感应按钮,光敏电阻,纽扣电池
用户手册
UM2581
UM2617
UM1597
+ M1 I5 r) M6 I4 w7 Q
ST官方有三种L5的评估板。DK板上搭载L562系列,比Nucleo和Eval板上L552系列,多一些和密码学操作有关的硬件:支持对称加解密技术的AES,和支持非对称加解密技术的PKA。
# N, U0 c* S9 Y+ G
并且DK板载的STLINK是第三代产品,下载速度更快,支持更多USB桥接接口,比如I2C、SPI,CAN等。这三块板子对应的用户手册,也在下表中列出。
为了方便大家体验STM32L5,Nucleo评估板已在STM32天猫旗舰店上线。
6 h3 o6 D4 A& s+ {( l
固件例程
$ T1 S# [- z$ N0 _% c
CORTEX
InterruptSwitch
如何先在安全应用中使用一个中断,再在非安全应用中使用同样这个中断
Nucleo
DMA
MemToMem
如何在DMA的安全通道和非安全通道上执行存储区间的数据传输
Nucleo
FLASH
BlockBased
如何对片上Flash以block为粒度进行安全区域和非安全区域的设置和使用
EVAL
EraseProgram
如何执行片上Flash的擦除和编程操作
EVAL
FMC
SRAM
如何配置FMC控制器,访问被安全应用和非安全应用划分了各自区域的板载SRAM
EVAL
GPIO
IOToggle
如何翻转安全和非安全区域的I/O引脚
DK, Nucleo
HASH
SHA1_DMA
如何在安全DMA通道上使用安全的HASH   SHA-1计算服务
Nucleo
RCC
ClockConfig
如何从非安全应用中触发请求,去安全应用中在运行模式配置系统时钟
DK, Nucleo
RTC
RTC
如何配置TrustZone-aware的RTC,某些特性在安全状态,某些特性在非安全状态
Nucleo
UART
Trace
如何使用UART定义一个安全的trace通信路径
DK

) {" H7 _5 o, s+ I8 i
STM32CubeL5软件包里有丰富的例程,这里强调的有三个种类的例程,和以往的Cube软件包里内容有所不同。一类是支持TrustZone的例程:基于TrustZone的软件开发需要新的编程模型,即使就是简单的翻转gpio引脚电平,也通常需要两个项目,一个运行在安全世界,一个运行在安全世界。但是有一点需要大家注意一下,并非必须两个工程,但是运行在安全世界的工程一定是必须的。
! J2 ]$ ^' Y* f% I" J$ z# \
通过这个表格里列出的例程,大家可以体会一下RTC、DMA、Flash的操作,在需要支持TrustZone隔离的应用中,和普通应用开发有什么不同。

, ]" }3 c( a! h! c& Q/ B9 d3 ~9 R) T9 t/ C
GTZC
如何使用GTZC单元里的MPCWM和TZIC子模块
EVAL
如何使用GTZC单元里的MPCBB子模块,并使能SecureFault检测
DK, Nucleo
OTFDEC
如何使用安全的OTFDE在安全区域对数据进行加密,再在非安全区域对其解密,而无需密钥交换
DK
如何对存储在外部Octo-SPI Flash的数据进行解密
如何执行存储在外部Octo-SPI Flash上的指令
PKA
使用PKA模块执行ECC相关操作(验证公钥、从私钥产生公钥、计算签名)
DK

2 J2 m0 S8 U7 h6 ^" Q7 I8 I
第二类例程:支持STM32L5新增的硬件模块,比如GTZC,OTFDEC、PKA。其中绿色字体标注的,是新模块在TrustZone使能后的用法。
# R% s3 ~0 ^' H3 _
TFM
提供信任根方案,包括安全启动、安全固件升级;还提供了安全服务的例子,它运行在安全世界,和非安全应用隔离开来,但是能被非安全应用在运行时调用。安全服务包括:加解密、安全存储、设备认证等
DK
SBSFU
提供信任根方案,包括安全启动、安全固件升级;还提供了安全服务的例子,它运行在安全世界,和非安全应用隔离开来,但是能被非安全应用在运行时调用
Nucleo
FatFs
如何在TrustZone使能的条件下使用FatFs协议栈
DK, Nucleo
FreeRTOS
如何在TrustZone使能的条件下使用FreeRTOS,支持TZ的FreeRTOS和以往有什么不同?
DK, EVAL, Nucleo
8 _' }4 x* Z  L8 a, o
前两个表格里的例程都是针对单个外设模块的使用展示,接下来的例程,集成更多中间件,包括文件系统和ROTS。TFM和SBSFU是基于STM32L5的trustzone架构,并结合了L5特有的片上安全模块,实现了安全启动和安全固件升级的功能,解决了现在IOT时代大多数设备的共性问题。

) r" E* T3 S3 I/ W& M$ I( P$ N
相关资料
培训资料

4 w: R* d8 O% p; g" s) I9 b& y! K
STM32L5快速入门
课程章节名称
章节介绍
时长
从内核角度认识TrustZone,包括为了支持TZ功能而在内核里新增的外设,以及原有内核外设为了支持该功能的更新
40 分钟
光有内核的TrustZone是不够的,STM32L5把“隔离”的概念和措施从内核延伸出来,部署到了全片系统
30 分钟
通过GPIO toggle例程,体会新的用户编程模型,深入理解Cortex-M33内核和STM32L5外设对TZ的支持和使用
60 分钟
使用STM32CubeMX在STM32L5上生成TZ应用初始代码及其框架,添加用户应用逻辑,实现前三节课里讲的知识点
30 分钟
05. STM32L5的低功耗特性
理解L5的供电策略、各种低功耗模式,内置DC/DC SMPS的使用, 以及外设对于低功耗方面的设计考虑,BAM模式介绍

, G: `2 i& p4 n$ k9 Z( ]- `* Z* \
                                                               STM32L5 进阶课程 (敬请期待)
                                                               STM32L5 高阶课程 (敬请期待)
7 E8 D8 i0 l! H3 I' M

% h: f0 ~* `. Q

' @1 u( i0 v1 b* @' ]9 x0 ]
STM32L5的本地化培训材料分为三个level:
- level 0 : STM32L5入门 - TZ入门,从内核到L5的基本外设,新的编程模型
- level1 : STM32L5 进阶 - L5其他新增外设

& S8 O- I+ Q4 Z( q
- level 2: STM32L5深入 - Eco-system层面的中间件、方案、服务,具体会包括对 PSA, TFM,TEE, REE 的介绍和讲解。

8 z3 F9 t0 ~/ P7 Z1 y" h+ n, V$ g
工程师笔记

' M7 m+ [0 e" H# W& q, z8 T- h4 i+ r; D# e
工程师笔记,来自工程师在客户支持过程中遇到的典型和共性问题的解决记录。在STM32中文官网的设计资源板块,本地设计资源栏目里,实战经验页面,是历年所有笔记的汇总。和STM32L5相关的工作笔记,我们会陆续从中挑取出来,引用到这里,方便大家从一个总的入口就可以看到尽肯能多的和STM32L5相关的资料。
" Z; o3 z" \+ P6 m* g7 n6 v3 R9 A% }
常见问答
; p  S( `8 z7 k* E! D% K6 q- `8 {
STM32L5快速入门
【Q1】STM32L5比其他STM32芯片在安全性能上有哪些进一步提高?
1 f6 f0 ]6 G5 D5 a
【A】STM32芯片里首颗集成支持TrustZone安全扩展的Cortex-M33内核,它在硬件上隔离出安全区域和非安全区域。   除此之外STM32L5的HDP功能,还可以在安全世界里进一步提供运行时的隔离
+ g& [' ^, ?7 T; ]7 O
【Q2】在STM32L5上开发项目,一定要两个工程吗,这可是和以往的开发经验大不相同呢?
0 t0 A' O* g& P' Y5 S7 g
【A】如果应用无需trustzone以及它带来的安全特性,可以关闭选项字节里的TZEN(芯片出厂状态TZEN是没有使能的)。这样,它的开发和其他以往STM32芯片的开发没有任何不同
4 I: c9 X( H, v5 O
【Q3】STM32L5除了低功耗、安全方面的提升,在性能上有进步吗?
* [5 s# D$ X3 c9 X6 ^% a3 g+ X
【A】STM32L5采用CM33内核,比CM4内核增加了20%的性能;同时STM32L5采用的新一代ST ART加速器不仅作用于片上Flash,还能作用于外接Flash。 (本质是加了一个Cache)
9 W5 ?& Q4 X/ D6 f9 M
【Q4】OTFDEC模块可以对芯片外部flash上的内容进行加解密吗?
# ?% M* A* b0 z1 x. L
【A】OTFDEC的作用对象是STM32L5通过Oct-SPI接口外接的Flash,而不是所有接口上的外部Flash; 并且对外接O-SPI flash的内容是可以on-the-fly地解密,而加密不能on-the-fly地操作, 加密结果要先放在SRAM里,再由O-SPI flash的驱动来把密文写到外部Flash。

4 ]5 v1 @# Z) W4 J. D# y

0 t( R8 [  K0 p4 \& o) K# Q- \1 b  k8 G
为了进一步方便大家对STM32L5有个快速的认识,我们也在建立常见问题问答列表,相对前面提到的培训材料、工程师笔记,FAQ更多以“点”的形式来呈现,更加短小精悍。
STM32L5 常见问答
【Q5】STM32L5的TZEN功能如何关闭?

) d" ]3 l8 e3 z5 p
【A】TZEN的设置,从0到1,很容易,使用STM32CubeProgrammer写选项字节就可以操作。 但是TZEN的撤销,从1到0,无法通过选项字节直接回退。需要把STM32L5先升级到RDP1,在从RDP1到0的回退过程中同时TZEN从1到0,才能撤销TZEN。执行前有一些注意事项,详情参见:工程师笔记
【Q6】哪里可以拿到L5的培训材料
培训
【Q7】我想使用OTFDEC模块,只有在Trustzone使能后才有这个功能,那么一旦TZEN置位了,我还是要做两个工程的开发吗,一个运行安全工程,一个运行非安全工程?
- j& J% a3 M& ?* a5 j" Q+ C& Q) L
【A】如果需要用到TrustZone使能后才有的安全特性,而无需TrustZone本身带来隔离功能,可以只开发一个工程,但是一定是运行在安全世界的工程,因为一旦TZEN置位后,芯片复位后一定是从安全世界开始运行的。 在《STM32L5进阶课程》我们会有具体例子的介绍
更多FAQ还在收集整理中…

6 K" m" Z4 f& M
更多FAQ我们还在收集整理中,将会不断增加到这个列表里,欢迎大家持续关注。

$ M) ?/ @' Q9 b9 g0 X6 g; X5 l4 Q' ?+ r) d& S6 M) c
安全固件烧录
22.jpg
, c. `# j9 ~) e$ Q; x! ?9 J
STM32L5是第一个全系列支持SFI服务的芯片系列。SFI是ST提供的一个方案,用于第三方产线对芯片进行烧录,解决的问题是烧录固件的保密性、完整性,以及控制产线的烧录次数。
! Q" \6 R5 ^4 G& T4 H
SFI是一个服务,它不仅仅需要预先固化在芯片里的代码和数据支持,还需要其他环节的配合,包括HSM,Programmer。Programmer可以是装载了STM32CubeProgrammer软件工具的电脑,HSM可以是一张智能卡,详情参见图里的链接。

* |. A. v- d  w* L* D6 i3 v1 [0 q( F% q: N% Z: s) ]% F8 W
更多本地化方案,包括STM32L5上的TEE、REE,我们会陆续在这里呈现,欢迎大家的持续关注。
; a3 I1 F: f8 [' }  C; c7 A# T
% o* g8 b) X1 c
* \% a- `* I7 j3 M( H2 ?& v
1 收藏 1 评论1 发布时间:2020-5-27 14:02

举报

1个回答
李康1202 回答时间:2020-5-29 08:44:07
顶一下  n* k' q4 H( W4 |  {4 q

3 m3 x4 @; X) f) C  F, b; F- s
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版