您的位置 首页 分销

根据STM32F407的flash内存结构剖析

基于STM32F407的flash内存结构分析- Main memory部分各个Sector相加最后正合适等于1024Kbyte,这也是与文档开头说的Capacity up to 1 Mbyte相符的。在这个区域里主要是存储我们用户编写的程序,这里你可能看到了,该片存储区地址是从0x08000000开始的,这也就是为什么我们在使用ST-Link2烧写程序的时候,要规定起始地址是0x08000000的原因了。

硬件渠道:STM32F4 DISCOVERY开发板 类型:MB997A或MB997C
主芯片类型:STM32F405xx, STM32F407xx, STM32F415xx, 或 STM32F417xx

首要参阅文档:

(1)PM0081 STM32F40xxx and STM32F41xxx Flash programming manual.pdf
(2)STM32F407 datasheet.pdf

做为嵌入式方面的开发人员,拿到一个芯片后,咱们首先看它的参数目标,有多少多少容量的RAM,多少多少容量的Flash。当然,条件是芯片自带这两个模块。
    今日咱们只研讨Flash的结构:)
(一)声明
    STM32F405xx, STM32F407xx, STM32F415xx, 和 STM32F417xx的Flash模块都是相同的,所以,咱们在文章后边一致以STM32F4代表它们。
(二)概览
    首先来一张概览图吧

根据STM32F407的flash内存结构剖析

2.1 Main memory
    Main memory部分各个Sector相加最终正合适等于1024Kbyte,这也是与文档最初说的Capacity up to 1 Mbyte相符的。在这个区域里首要是存储咱们用户编写的程序,这儿你或许看到了,该片存储区地址是从0x08000000开端的,这也便是为什么咱们在运用ST-Link2烧写程序的时分,要规则开端地址是0x08000000的原因了。
2.2 System memory
    System memory区域是体系保存区,用来在“System memory boot”形式下发动芯片。存储的是一段特别的程序,叫做bootloader,经过运转此段区域里的程序,能够对Main memory进行从头烧写。举个栗子,假如咱们挑选以System memory boot形式发动,一起插上了带有体系固件的U盘,那么经过装备后,bootloader就能够读出U盘里的固件,烧写到Main memory区域里去,怎样样,便利吧!也便是说,给芯片从头烧写固件,能够经过USB OTG FS的方法!奇特的功用:)
2.3 OTP area

根据STM32F407的flash内存结构剖析

这段区域更是奇特,OTP是One-TIme programmable的缩写,从字面上能够看出来,此段区域是一次性编程区。可是,机敏的人类也有犯错误的时分,如果写错了怎样办!ST公司考虑到这一点,在从0x1FFF7A00地址开端的16个字节是带有“锁”功用的字节,当你确认OTPx区域写进去的数据的确没有错误了,你就能够对LOCKBx地址写入0x00,从此OTPx区域就无法更改了。
2.4 OpTIon bytes
    官方文档应该写错了吧,0x1FFFC000-0x1FFFC00F怎样会是16Kbytes呢?应该是16bytes才对吧。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/fenxiao/347538.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部