0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

STM32芯片FLASH容量真如ST官方选型手册那样吗?

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-12 10:07 次阅读

如果某一个天项目经理提出一个需求,要求在现有STM32产品基础上,内部FLASH增加64K字库,你脑海中首先会想到什么?

1先说点其它

一般对于初学者来说,内部FLASH完全足够,跑一个简单的裸机Demo,或者一个RTOS加上两个任务的Demo,对于现在的MCU完全没有压力。

但是,一旦你接触到实际项目,你会发现很多地方都会开支FLASH,而且有些项目占用FLASH还不小。比如:某种特定算法,加载字库,甚至放两张图片在FLASH里面。

再拿一个IAP应用编程的例子来说:一般对升级这个功能做的好一点的,会有一块区域(备份区域)与应用程序差不多大小的FLASH区域。就是说:为了保证安全,你程序下载保存在一个备份区域,等下载成功再更新应用程序。 这样做的目的:就是防止在下载的时候中途掉线,导致失败。

找了一个图,大致如下,将FLASH划分为3个区域(引导程序FLASH区域、应用程序FLASH区域、备份程序FLASH区域),你们琢磨一下。

2STM32芯片选型

一般我们项目提出需求之后,都会选择一款合适的MCU,首先想到的就是查看【选型手册】,除了选择外设资源之外,还有就是选择适合的FLASH容量大小。STM32产品命令规则如下:

选型手册地址:

https://www.stmcu.com.cn/upload/Selection_Guide.pdf

(微信公众号不支持外链接,复制网址打开)

3验证STM32内部FLASH究竟有多大

说了关于FLASH的一些话题,回来说说本文的重点:我们的STM32内部FLASH可能不止上面选型手册说的那么大一点。

比如:我的MCU芯片具体型号为STM32F103RF,查看手册可以知道其容量为768K,但实际它有1M的FLASH容量。

我这里大概说两点简单验证的方法:
1.通过编程验证

简单来说就是通过擦除,写入,读取指定地址(就是超过FLASH大小的地址)。

FLASH_EraseSector

FLASH_ProgramWord

2.通过工具读取FLASH数据

这个办法是最直接,也是最简单的办法。拿STM32 ST-LINK Utility这个下载工具来举例说明:

重点其实都在图中描述出来了:超过768K地址,实际上还可以读出来数据的。

(上图是我拿STM32F103RF真实MCU读出来的,应用程序起始地址就是0x080C0000,应用程序实际也运行起来了)

说了这么多,其实我想说的是:STM32芯片有许多也是类似,不止我上面举例的STM32F103RF,103RC标称的是256K,其实不止256K空间。如果你发现你FLASH空间不足了,通过上面方法可以看看是否不止那么大的空间。

最后留一个问题:你知道为什么ST厂家会这么操作吗?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FlaSh
    +关注

    关注

    10

    文章

    1549

    浏览量

    146643
  • ST
    ST
    +关注

    关注

    32

    文章

    1095

    浏览量

    128147
  • STM32
    +关注

    关注

    2239

    文章

    10671

    浏览量

    348720
  • 字库
    +关注

    关注

    1

    文章

    15

    浏览量

    13250
收藏 人收藏

    评论

    相关推荐

    在KEIL和STM32 ST-LINK Utility中可以找到或连接到FLASH,但却无法ERASE,怎么解决?

    STM32F030R8 ST-LINK keil_v5 STM32 ST-LINK Utility在KEIL和STM32
    发表于 04-03 07:27

    STM32G031K8程序打断点在STARTUP.S文件中,停在断点处会导致操作flash错误怎么解决?

    主要问题:STM32G031K8程序打断点在STARTUP.S文件中,停在断点处就出现FLASH_CR寄存中的CFGBSY置位为1,导致操作flash错误。而且按照手册说明该位的置位和
    发表于 03-25 07:38

    stm32 flash写数据怎么存储的

    stm32 flash写数据怎么存储的  STM32是一款广泛应用于嵌入式系统开发的微控制器,它的Flash存储器是其中一个重要的组成部分。在本文中,我将详细介绍
    的头像 发表于 01-31 15:46 757次阅读

    芯片选型应考虑哪些因素?

    芯片选型
    芯广场
    发布于 :2023年11月30日 18:16:25

    STM32F103x4/STM32F103x6单片机数据手册

    本文档是关于ARM® Cortex®-M3内核的低等容量增强型单片机STM32F103x4,STM32F103x6的数据手册, 介绍了它的主要外设资源和电特性参数,外设资源包括:16/
    发表于 09-22 17:55 9次下载
    <b class='flag-5'>STM32</b>F103x4/<b class='flag-5'>STM32</b>F103x6单片机数据<b class='flag-5'>手册</b>

    STM32选型手册

    STM32选型手册中文版
    发表于 09-22 07:26

    stm32选型手册

    STM32系列专为要求高性能、低成本、低功耗的嵌入式应用设计的ARM Cortex®-M0,M0+,M3, M4和M7内核 (ST\'s product portfolio contains a
    发表于 09-19 07:45

    STM32 ST-LINK Utility软件说明

    STM32 ST-link Utility软件通过ST-link和ST-link/V2工具加快开发环境中STM32微控制器系列的系统内编程。
    发表于 08-31 10:53 4次下载

    在哪里可以找到STM32H5xx USB官方库?

    STM32H5xx的USB在cubemax无法像f4系列芯片那样配置,只能配置USBX,而且必须使用ThreadX才行。能否像以前的那样给个官方
    发表于 08-05 06:50

    STM32选型手册

    电子发烧友网站提供《STM32选型手册.pdf》资料免费下载
    发表于 07-31 16:58 21次下载
    <b class='flag-5'>STM32</b>的<b class='flag-5'>选型</b><b class='flag-5'>手册</b>

    STM32CUBEIDE(16)----内部Flash读写

    本例程主要讲解如何对芯片自带Flash进行读写,用芯片内部Flash可以对一些需要断电保存的数据进行保存,无需加外部得存储芯片,本例程采用的
    的头像 发表于 07-27 09:24 967次阅读
    <b class='flag-5'>STM32</b>CUBEIDE(16)----内部<b class='flag-5'>Flash</b>读写

    STM32单片机芯片介绍

    是懂一些基础英语的重要性),此外,还有官方的《ST MCU选型手册》《STM32F103RC_Datasheet》。
    发表于 07-11 11:42 1893次阅读
    <b class='flag-5'>STM32</b>单片机<b class='flag-5'>芯片</b>介绍

    STM8和STM32产品选型手册

    STM8和STM32产品选型手册
    发表于 07-06 10:44 20次下载

    请问新塘的M031有固件库手册吗?

    官方的资料里面没看到有固件库手册,新塘很多函数的定义看不明白,他们有没有像ST那样的固件库手册,对固件库里的函数进行介绍的。这么使用的文档
    发表于 06-27 06:45

    STM32系列国产替代GD32芯片选型手册

    STM32系列国产替代GD32芯片选型手册
    发表于 05-22 16:39 9次下载