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

【中文文档】PM0081_STM32F40xxx and STM32F41xxx单片机编程手册

[复制链接]
eefishing 发布时间:2019-5-17 19:22
本帖最后由 eefishing 于 2019-5-17 19:23 编辑 $ L' ^# p' [) }/ z$ B) d* B: r

2 a, w: @1 C/ A9 Z前言
0 S2 _$ v8 ~. y& J本编程手册介绍了 STM32F405xx、STM32F407xx、STM32F415xx 和 STM32F417xx 微控制器 Flash 的编程方法。为方便起见,本文档将上述产品统称为 STM32F40x 和 STM32F41x(除非另行声明)。
8 t9 M6 v( x" p8 N0 S' \1 g6 G. ZSTM32F40x 和 STM32F41x 嵌入式 Flash 可采用在线编程或在应用中编程两种方式。
. i3 z* }) x' L* L在线编程 (ICP) 方式适用于更新 Flash 的所有内容,更新时使用 JTAG、SWD 协议或自举程序将用户应用程序加载到微控制器。ICP 可实现快速而高效的设计迭代,并且避免了不必要的器件封装处理或插接。8 D. D+ j9 z  o, {' i. K" t
与 ICP 方法相比,在应用中编程 (IAP) 可通过微控制器支持的任何通信接口(I/O、USB、CAN、UART、I2C 和 SPI 等)将编程数据下载到存储器。使用 IAP 方式时,可以在应用程序运行期间对 Flash 重新编程。但是,部分应用程序必须事先通过 ICP 方式编程到 Flash。" L, l" p' `. v  |) K
Flash 接口根据 AHB 协议实施指令访问和数据访问。它将实施可加快 CPU 代码执行速度的预取缓冲器,以及执行 Flash 操作(编程 / 擦除)所必需的逻辑。编程 / 擦除操作可在整个产品电压范围内执行。读写保护和选项字节的设置也通过 FLASH 接口来操作。& t; m5 g3 d2 C& s9 a- C% P+ E

7 W3 ]- [: G/ F1 u! y词汇表! R% h9 \7 t. z5 |; H  y
本节简要介绍本文档中所用首字母缩略词和缩写词的定义:
; T' c" ]% f  \2 ]) D* Q● CPU 内核集成了两个调试端口:
8 W/ I- R3 s4 Z— JTAG 调试端口 (JTAG-DP) 提供基于联合测试工作组 (JTAG) 协议的 5 引脚标准接口。
* Y( h, ~' a% T  i— SWD 调试端口 (SWD-DP) 提供基于串行线调试 (SWD) 协议的 2 引脚(时钟和数据)接口。
8 l* n1 Z2 ~" ~有关 JTAG 和 SWD 协议的信息,请参见《Cortex-M4F 技术参考手册》
! V! `; b2 e9 X& f* L! B, a/ n3 X● 字:32 位数据/指令。/ G4 f$ N* m  f0 z% V$ q2 H& q7 Y
● 半字:16 位数据/指令。7 r3 j3 o( j2 s
● 字节:8 位数据。/ C3 Y( r; M1 b2 d- ^+ ^
● 双字:64 位数据。
3 r2 d7 `2 r) x● IAP(在应用中编程):IAP 是指可以在用户程序运行期间对微控制器的 Flash 进行重新编程。
3 C1 G+ Q4 v6 ~2 G● ICP(在线编程):ICP 是指可以在器件安装于用户应用电路板上时使用 JTAG 协议、SWD 协议或自举程序对微控制器的 Flash 进行编程。- b, I: y) h& A; h8 w  I
● I-Code:此总线用于将 CPU 内核的指令总线连接到 Flash 指令接口。通过此总线可执行预取操作。
* x6 H- s+ n- _8 V  S8 b: M● D-Code:此总线用于将 CPU 的 D-Code 总线(文字池数据加载和调试访问)连接到 Flash数据接口。5 H1 O) O- X: z& T; O+ h
● 选项字节:存储于 Flash 中的产品配置位。
! X! a$ ?1 }& X7 |6 ?0 f) B● OBL:选项字节加载器。& R& R" T# V: j$ h5 A
● AHB:高级高性能总线。7 y# v# R# R* G: ~
● CPU:指 Cortex-M4F 内核。
" L4 i# @4 r3 n8 v  S/ _: w- }3 B8 i- I" Y+ n" o; ?
1 Flash 接口
* r. K. T- J% f+ C6 ~/ i. p9 \1.1 简介: h  e! n0 H# C1 y
Flash 接口可管理 CPU 对 1 MB(64 Kb × 128 位)Flash 进行的 AHB I-Code 和 D-Code 访问。该接口可针对 Flash 执行擦除和编程操作,并实施读写保护机制。
& q: l3 z6 b3 k. M% SFlash 接口通过指令预取和缓存机制加速代码执行。4 e: x) s4 Y" w9 M& p6 t
1.2 主要特性( S- M- }" j0 ?$ l9 `
● Flash 读操作
0 |" _. k! t! V9 b: f● Flash 编程/擦除操作" v6 g1 @* f/ V+ }
● 读/写保护
! z. n* S0 i8 Z! \( W● I-Code 上的预取操作6 F6 `9 g  p- b; X) \& U4 |+ I
● I-Code 上的 64 个缓存行(128 位)5 |5 c/ Y& f4 d& w' U. }/ d7 u
● D-Code 上的 8 个缓存行(128 位)图 1 所示为系统架构内的 Flash 接口连接。. s9 ?0 i8 V/ T: s' X  q$ |6 k6 ?6 A( h
图 1. 系统架构内的 Flash 接口连接
2.png
.............

7 t  O* V3 _' a# Q1 t9 |
想了解更多,请下载原文阅读
+ U- S( j) t& S$ j1 `# T# H6 n
收藏 评论1 发布时间:2019-5-17 19:22

举报

1个回答
Kevin_G 回答时间:2019-5-18 11:44:52
点赞
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版