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

STM32F101xC/D/E和STM32F103xC/D/E版本Z大容量产品的使用限制

[复制链接]
STMCU小助手 发布时间:2022-7-20 22:00
芯片的识别  o) ]) Q& {+ w' K7 V4 W, y8 F
该勘误表适用于意法半导体的STM32F101xC/D/E基本型和STM32F103xC/D/E增强型大容量系列中的Z版本芯片。该芯片系列集成了ARM™ 32位Cortex®-M3内核,本文中也包含内核的勘误信息(详见第一章)。+ x2 y' W- c8 U+ ]3 B$ x
表2列出了所有的产品型号。表1列出了本文涉及产品的识别:
; r" i; Y. f2 c: y  s● 通过芯片封装上产品标识下的版本号6 i' a, W1 p8 _# U( }: H# i
● 通过包装盒标签上的产品标识的最后3个数字6 p' F: K0 X; y0 T
' y) _4 {% @2 ^. i1 T! E

- m! I/ T  ]# v& W8 E0 c- N; [9 u   h; Q$ V* A; h1 Z" P9 U: L

8 }4 i# k$ z9 P3 w, j) S" t9 U

0 p' B( ~) y$ n5 S* y( ^: {! b! v" \/ f; e
1. DBGMCU_IDCODE寄存器中REV_ID位指明芯片的版本号(关于版本号的详情,参见STM32F10xxx参考手册) 7 ^! ?2 x5 R* \& V7 A2 O. ?8 e: |
2. 关于在不同芯片封装上识别版本号,请参考附录A:产品上版本号标示。( J9 Z$ r6 h" Q* o' j8 v

4 p4 ]6 [4 O+ a

5 E, p' y3 a" E/ c2 G: L AGJM85EHSAYP[)G@UV9$F42.png
- i6 a+ z8 h$ }
! U2 x( J4 [, H* f) O
  g0 l0 A* ^6 u% a. A

: x# b& q0 z& p3 v) Y* x! K1 ARM™ 32-bit Cortex®-M3 的使用限制2 e' z; O! O* c9 S' A  {6 X0 P
STM32F10xxx内核的勘误可以从如下网址获得:
& H" C4 c) E' |http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.eat0420a/. x$ z2 @: s$ f- i
还有一个勘误PDF文档的直接链接地址:' P2 }* Z! w) h1 P
http://infocenter.arm.com/help/topic/com.arm.doc.eat0420a/Cortex-M3-Errata-r1p1-v0.2.pdf6 U7 n. j6 R" P8 g9 i8 w
描述的所有限制对应用的影响都很小,并且是针对Cortex-M3内核中的r1p1-01rel0版本。下表列出了这些局限性和它们对STM32F10xxx大容量产品所产生的影响。) o, ~0 E' U% I8 V- ]" y* u% _
表3 Cortex-M3核心局限性和对微控制器的影响
7 Z, t. {; f% C' P5 P; C: O* y7 T* c) V$ _3 h
- A7 I- W: ^1 T. ?
8B`9]BX4{_2OSXIRT~03B`W.png
! A# Y8 I8 ?, l9 b# ?5 Q4 s
$ s% t4 t8 o- T4 ]. T
5 K! `! w+ p2 [

8 c& M# n7 t" s& E1.1 Cortex-M3的局限性在STM32F10xxx大容量产品的影响1 S0 i1 u( \- f8 ]6 e
只有下面涉及的局限性才对STM32F10xxx大容量产品的实现产生较小的影响。
0 r' @2 J: G" }8 o在ARM的勘误文档中所有其它的局限性(在 表3列出),对STM32F10xxx大容量产品(Cortex-M3 r1p1-01rel0)没有影响,也与STM32F10xxx大容量产品的实现无关。
) c! {. K5 H4 g' @1.1.1 Cortex-M3在中断或访问失效时,LDRD列表中的基址操作可能导致不正确的基址寄存器内容" _) d  S7 L" c* B$ O
问题描述
  r0 h9 q5 r$ [& p' A/ X3 \  P从系统总线区执行LDRD指令时,当在一个列表中的基址寄存器出现下述形式的指令时,Cortex-M3核心有一个缺陷:LDRD Ra, Rb, [Ra, #imm]。在加载了第一个目标寄存器后,可能因为加载第二个寄存器完成之前的中断,或因为加载第二个寄存器而产生总线失败时,不能完成指令的执行。
* e  r* b3 H0 C6 P% u
: t9 ]1 O1 v( D! _7 i
( V8 e5 I2 B6 N
暂时解决办法
- Q& \: X" n' r0 Y1. 当STM32F10xxx以标准的形式——从内置闪存存储器运行代码时,这个局限性不影响STM32F10xxx的运行。
% u$ j9 F% p$ k1 P2. 使用最新的编译器版本,从本文档发布之日起,编译器将不再产生这样的指令。同时,可以向你的编译器供应商索取”扫描工具”,它可以用于在早期版本编译器产生的代码中,检测这样的指令。- G( ]8 H) c- }. G% h/ k
2 }2 w# V5 B+ X( F
" p% M+ i+ Y7 W! |( G
1.1.2 Cortex-M3事件寄存器没有被中断和调试设置
5 c  @) j  W* g! y2 {% P& k问题描述3 n" T8 d" D: K9 F; v8 P2 j
当中断与一个WFE相关,而在WFE执行之前产生了这个中断时,不能设置用于WFE唤醒事件的事件寄存器,该事件会被丢失。因此,当执行WFE时,如果没有其它事件或中断发生时,核心不能被唤醒。STM32F101xCDE和STM32F103xCDE勘误手册* _  v) N8 N( u& d# V& K
暂时解决办法
& W% Z; ?8 j6 \, Z; J9 G配置一个外部的或内部的EXTI线为事件模式,使用STM32F10xxx的外部事件,代替中断去把核心从WFE唤醒。* @% H2 d* g# d6 J% z

/ c1 {: S3 c" `5 D3 F, s9 \6 z, V
* O' U" ]2 W' E6 U6 F1 P* x; e! `( g
1.1.3 Cortex-M3的BKPT在调试监控模式下可以导致DFSR不匹配
, O5 v$ M& m3 `* r问题描述
. d( }3 z$ H6 a  \$ b在调试监控模式下有可能执行BKPT指令,这会产生调用调试监控程序,但是在地址0xE000ED30的调试失效状态寄存器(DFSR)的位1并没有被设置,该位指示调用调试监控程序的源头是BKPT指令。
  I5 Z9 I. Z% u这个现象仅仅出现在即将执行BKPT之前,正要处理中断而不是调试监控的时候。
: G/ [3 o/ s4 u" x9 ?3 B/ N3 D# W9 C暂时解决办法
$ v; ~: W( ~5 v6 O( c如果在进入调试监控程序时,DFSR寄存器中没有任何标志位,则表示出现了这种极端情况,即在调试监控模式下执行了BKPT指令。% ?* L& R' n$ O

4 g9 L+ q2 G* T+ B2 F1 `/ b

/ e7 ~. K4 u1 N, W: U, _1.1.4 Cortex-M3可能在使用SLEEPONEXIT功能时,在单指令的ISR中停止
- o7 r; G- j: O* x9 N  {8 a问题描述$ w0 S. o3 w$ u% O7 i
如果使用了Cortex-M3的SLEEPONEXIT功能,并且涉及到的中断服务程序(ISR)仅包含一条指令,则核心会停止。如果只用一个中断有效,而且这个中断被一个仅包含一条指令的中断处理程序所抢断时,核心将会停止。
4 c( |' e) l9 T但是,如果任何新的中断能够造成抢断当前的中断处理程序,则核心恢复正常。
( p- ^- T5 V% W# `. _暂时解决办法% s: y; s9 k, P" J' h' t1 x; M6 z
这个现象不会发生在真实地应用系统中,因为任何中断服务程序至少会包含一条以上的指令。如果确实只有一条指令,可以在退出指令(BX或BLX)之前插入一个NOP或任何其它指令。
6 Z: O* k6 j4 T1 d) `  g
1 R( E* e$ E8 R5 o* T# L$ q5 C# T% J
' N' {, B% J* P0 B' {0 G
2 STM32F10xxx 芯片的使用限制
. N  e' w6 ~7 J1 g; J" Z8 x下表是所有已经发现的局限性概览:( Q3 Q8 a  |- l8 n

7 B5 U# r; ]# `+ W# l  u* S
0 C+ R4 t9 j8 d' T
[RATHXCH43GRZ8(JAQ@X[10.png ! ^- n6 L# i7 S# m3 h/ ^
, m  W/ \* O3 a2 o# n; i6 M# X

- D' n7 K) j% B: i- _! i5 s
* v/ g# ]. P% S4 C) ?" r
2.1 在ADC输入0上的电压毛刺
. Q" s4 v! }" S3 U问题描述; _  {; T  l- Z! F. Q! z$ `1 P6 F
当以注入触发进行ADC转换时,在PA0引脚(ADC输入0)上,可能会产生一个低振幅的电压毛刺。这个毛刺是由内部耦合和同步到注入序列的开始和结束产生的,与要转换的通道无关。
* {8 U+ h! n) t毛刺的振幅低于150mV,典型的持续时间是10ns(在I/O引脚配置为高阻输入并悬空时测量的)。如果PA0是作为数字输出,这将不会影响到输出信号。如果PA0是配置为数字输入,只要驱动PA0的另一端的阻抗低于5kΩ,这个毛刺将不会被检测为意外的转换。在单ADC配置时,这个毛刺不会对端口A的其它引脚产生影响,也不会对ADC注入转换的结果产生影响。4 T3 _/ A9 y" z* z
当使用ADC的双模式,并使用注入触发时,为了避免任何可能的副作用,建议分配模拟通道时,把通道0配置为注入通道。7 H* t: m+ k  m0 E

: t" c: w5 L, @

" t% v+ @; M) ~7 O
1 u* C$ q. c6 y" f1 x; }- K

' M" |$ {: ]% P2 i1 F
9 n: [! C7 R  [, z- F2 g完整版请查看:附件
( Z7 A+ c: E. k1 r/ V7 ^( q. @2 K- p7 d7 y8 p8 k' B& q3 K, a

5 F4 X! Y/ H+ o

CD00197763_ZHV1.pdf

下载

310.51 KB, 下载次数: 0

赞 收藏 评论0 发布时间:2022-7-20 22:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版