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

使用STM32的MPU实现代码隔离和访问控制

[复制链接]
STMCU小助手 发布时间:2022-8-11 16:27
内容
  Z, U3 G7 {9 _, X2 |+ W+ a1 z1 问题/目标与方案分析* y" F+ `' k) _% _' V+ e: I
2使用MPU实现访问控制的思路$ L: @5 Q- E5 y* M( i5 g4 d0 u
3构建示例程序——通过MPU实现访问控制
' q9 z2 Y& R& L
问题/目标与方案分析
/ y7 C  O" I* ^, F3 Z• 需要解决的问题和达到的目标
5 G& w! h, \/ }) G/ r$ Q$ Q) Y• 用户需要将一部分数据写入NVM,一次性希望写入后该部分数据不能再被修改+ u. \5 \- p- K9 x+ v
• 该端数据只能被部分关键代码访问,其他的应用数据无法直接读取该段数据的内容
6 M. |2 X. J( b" k
- I1 u9 {( I: Z, K# l2 d3 I
• 目标环境8 W* [6 f6 ~3 A! g- @
• 应用程序使用的MCU为STM32F4
* v8 i! x0 z* G, t$ T, u/ s3 Q  @6 h2 Y3 y
• 分析(以F413为例)! p# v( t' C& n8 z# B, T
• F413带有528字节的OTP,可以满足数据一次性写入之后无法被修改的需求: m; N$ F8 A* d; p5 [. R
• 为了实现只允许部分代码访问OTP的要求,需要将代码分区,并设置不同的访问权限
. H9 R  ^9 X. d' z+ a' f• F413带有MPU功能,通过合理配置MPU和不同代码的运行级别,可以实现访问控制; Q2 e  k0 r5 _% ~& |7 a
• 首先可以将代码区分为运行于特权级别的代码(关键函数),和运行于用户级别的代码(普通应用)
  |3 [5 e: `  y• 设置不同的MPU region及其访问权限,使得OTP所在的region只能被运行在特权级别的代码读取2 J; F+ z  ?, c7 t" o+ V

9 f1 w7 B+ [% S' I2 ?1 |8 v1 x' v! u) C2 a0 T
8QH]${J35@N}]HM@@N[D_4P.png
4 j! ~* X+ ], V) t' U; ~& ]/ G5 d. B8 s. X* i3 S
完整版请查看:附件
- U2 H& O1 H( b. N5 A4 ]# E+ S* L  m0 I# b3 j( p2 {* R4 `8 |- {9 U
8 e+ H4 c9 Q$ [6 T; C
8QH]${J35@N}]HM@@N[D_4P.png
赞 收藏 评论0 发布时间:2022-8-11 16:27

举报

0个回答

所属标签

相似技术帖

官网相关资源

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