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

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

3天内不再提示

stm32 flash写数据怎么存储的

工程师邓生 来源:未知 作者:刘芹 2024-01-31 15:46 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

stm32 flash写数据怎么存储的

STM32是一款广泛应用于嵌入式系统开发的微控制器,它的Flash存储器是其中一个重要的组成部分。在本文中,我将详细介绍STM32 Flash的存储机制,包括其结构、特点以及如何写入数据。

一、STM32 Flash的结构

STM32 Flash存储器通常被分为多个扇区,每个扇区大小为2KB到256KB不等,根据不同的型号有所不同。每个扇区可以独立进行擦除和写入操作,这使得STM32 Flash存储器非常灵活和易于使用。

Flash存储器的每个单元通常被称为“页”,一个页大小通常为1KB到2KB。这些页可以独立进行写入操作,并且无需进行整个扇区的擦除。这个特性使得STM32 Flash在实时数据存储和更新方面更加高效。

二、STM32 Flash的特点

1.快速擦除和编程速度:STM32 Flash具有快速的擦除和编程速度,可以高效地进行数据存储和更新操作。

2.耐久性和可靠性:STM32 Flash的存储器具有良好的耐久性和可靠性,可以进行大量的擦除和编程操作,而不会影响存储器的寿命。

3.可擦除性:STM32 Flash存储器可以进行扇区或页级别的擦除操作,而无需将整个存储器擦除。这使得数据更新更加方便和高效。

4.数据保护:STM32 Flash存储器提供了可靠的数据保护机制,包括写保护和读保护功能,以确保数据的安全性和完整性。

三、STM32 Flash的写入操作

STM32 Flash的写入操作需要使用特定的函数来实现。以下是一些常用的写入函数:

1.写入单个字节:使用HAL库中的函数HAL_FLASH_Program()可以将单个字节写入到Flash存储器中。例如,要将值0xAA写入地址0x08008000的Flash存储器中,可以使用以下代码:

```c
HAL_FLASH_Program(FLASH_TYPEPROGRAM_BYTE, 0x08008000, 0xAA);
```

2.写入半字(16位):使用HAL_FLASH_Program()函数可以将半字(16位)数据写入Flash存储器中。例如,要将值0x55AA写入地址0x08008000的Flash存储器中,可以使用以下代码:

```c
HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, 0x08008000, 0x55AA);
```

3.写入字(32位):使用HAL_FLASH_Program()函数可以将字(32位)数据写入Flash存储器中。例如,要将值0x11223344写入地址0x08008000的Flash存储器中,可以使用以下代码:

```c
HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, 0x08008000, 0x11223344);
```

4.扇区擦除:使用HAL_FLASH_Erase_Sector()函数可以擦除Flash存储器的指定扇区。例如,要擦除地址范围为0x08008000到0x08008FFF的Flash存储器,可以使用以下代码:

```c
FLASH_EraseInitTypeDef erase;
erase.TypeErase = TYPEERASE_SECTORS;
erase.Banks = FLASH_BANK_1;
erase.Sector = FLASH_SECTOR_7;
erase.NbSectors = 1;
erase.VoltageRange = VOLTAGE_RANGE_3;
uint32_t PageError = 0;
HAL_FLASHEx_Erase(&erase, &PageError);
```

通过这些函数,我们可以实现对STM32 Flash存储器的写入操作,从而实现数据的存储和更新。

综上所述,STM32 Flash存储器是一种高效、灵活且可靠的数据存储解决方案。在嵌入式系统开发中,通过了解其结构和特点,并使用相应的写入函数,可以轻松地实现对Flash存储器的数据存储和更新操作。

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

    关注

    10

    文章

    1761

    浏览量

    155936
  • 嵌入式系统
    +关注

    关注

    41

    文章

    3831

    浏览量

    133906
  • STM32
    +关注

    关注

    2313

    文章

    11195

    浏览量

    374723
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    通用SPI接口的NOR Flash存储器特性

    在嵌入式系统设计中,NOR Flash存储器凭借其快速读取和可靠的数据存储能力,成为代码存储与直接执行(XIP)的核心器件。英尚代理推出的一
    的头像 发表于 04-07 15:15 171次阅读

    NOR FLASH和NAND FLASH的对比

    FLASH芯片的擦写次数一般来说都是有限的,目前主流产品的擦写寿命普遍在10万次左右。当FLASH芯片接近使用寿命终点时,操作可能会出现失败。不过,需要注意NAND FLASH采用整
    的头像 发表于 03-31 16:58 518次阅读

    SPI NOR Flash和SPI NAND Flash存储芯片的区别

    和高存储密度,成为数据存储的首选。英尚微电子提供高性价比的Flash芯片解决方案,我们拥有丰富型号的Flash芯片,能够满足不同场景的特定需
    的头像 发表于 01-29 16:58 920次阅读
    SPI NOR <b class='flag-5'>Flash</b>和SPI NAND <b class='flag-5'>Flash</b><b class='flag-5'>存储</b>芯片的区别

    CW32F030 FLASH 存储器的注意事项

    地址的 FLASH 存储器进行擦写操作,以保证数据的可靠存储。具体寿命数据请参阅数据手册。 •
    发表于 01-12 06:26

    LAT1198+通过 KEIL 制作 QSPI 接口的外部 Flash 下载算法应用笔记

    随着用户的应用越来越复杂以及 GUI 等需要大存储空间的需求越来越多,很多时候我们需要将代码或数据放在外扩的 Flash 存储空间。但是这样存在一个外部
    发表于 01-11 17:25 0次下载

    CW32L052 FLASH存储器介绍

    概述CW32L052内部集成了64KB嵌入式FLASH供用户使用,可用来存储应用程序和用户数据。 芯片支持对 FLASH 存储器的读、擦除和
    发表于 12-05 08:22

    STM32C011开发(3)----Flash操作

    STM32C011 系列微控制器内置 Flash 存储器,支持程序存储数据保存,具备页面擦除、双字写入、读写保护等功能。本文将简要介绍
    的头像 发表于 09-18 16:48 5320次阅读
    <b class='flag-5'>STM32</b>C011开发(3)----<b class='flag-5'>Flash</b>操作

    NAND Flash的基本原理和结构

    NAND Flash是什么?NAND Flash(闪存)是一种非易失性存储器技术,主要用于数据存储。与传统的DRAM或SRAM不同,NAND
    的头像 发表于 09-08 09:51 7844次阅读
    NAND <b class='flag-5'>Flash</b>的基本原理和结构

    如何在下载程序时保护flash中的用户数据不被覆盖?

    使用stm32cubeide或stm32cubeprogrammer烧程序,stlink下载器,芯片stm32h743,芯片内部flash
    发表于 08-14 06:38

    请问STM32的内部Flash操作是不是优先级最高?

    STM32的内部Flash操作是不是优先级最高?目前在内部Flash的单独一页存储数据,发现在进行页擦除的时候正常工作的定时器中断无法进入
    发表于 08-13 07:03

    FLASH/编程白皮书

    白皮书:如何烧Flash——不同场景不同需求下的选择认识Flash NAND vs. NOR如何烧/编程不同方案比较
    发表于 07-28 16:05 0次下载

    FLASH模拟EEPROM

    AT32F403A 的扇区大小为 2K 字节,这个特性决定了不能简单的将旧数据擦除然后数据,因为这样会导致存储在这个扇区内的其他数据
    发表于 07-16 15:13

    什么是Flash闪存以及STM32使用NAND Flash

    的控制器技术,对写入FLASH闪存模块的方式进行管理,确保每个FLASH闪存单元接收相同的请求。 目前有三种类型的FLASH闪存,耐久性各不相同。单阶
    发表于 07-03 14:33

    关于CCG5 platform Flash问题,在烧images时,如何保留产线校准数据

    和板卡信息丢失 2. PSoC Programmermer没法擦除指定flash,都是整个128K擦除,例如在flash中分配一个row来存储产线校准数据,如何保证在烧
    发表于 05-30 07:50

    MCU片上Flash

        MCU片上Flash是微控制器内部集成的非易失性存储器,主要用于存储程序代码、常量数据及系统配置信息。其核心特性与功能如下: 一、定义与类型‌ 片上
    的头像 发表于 05-06 14:26 1589次阅读