首页
学习
活动
专区
圈层
工具
发布

stm32flash的读写特性

在使用stm32自带的flash保存数据时候,如下特点必须知道: 1、必须是先擦除一个扇区,才能写入 2、读数据没有限制 3、写数据必须是2字节,同时写入地址以一定要考虑字节对齐, 4、一般都是在最后几页进行数据保存的...,确保数据量不超过flash的的大小,比如f103大容量是2k字节,其实一个扇区只能写入1k数量的2字节的数据。...网上是如下的解释: 先擦除后写入的原因是为了工业上制作方便,即物理实现方便 flash存储器有个特点,就是只能写0,不能写1。所以如果原来的地址有数据了,意味着有一些位为0,这些位就相当于无效了。...另外每次擦除都必须擦除一个2K(随芯片大小决定)大小的扇区,这是flash的特性所决定的。

77720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MCU驱动Flash读写数据的常见陷阱

    今天,就让我们一起揭开MCU驱动Flash读写背后的技术陷阱,这些经验教训都来自于真实项目的血泪史。 在深入探讨陷阱之前,我们先来了解Flash存储器的基本特性。...Flash分为NOR Flash和NAND Flash两种,MCU中通常使用NOR Flash,因为它支持随机读取,适合存储程序代码。...以下是Flash存储器的典型结构: 1、Flash不是RAM,理解其本质才能避坑 Flash存储器在写入数据前必须先擦除目标扇区,因为Flash只能将1改为0,无法直接将0改为1。...HAL_FLASH_Unlock(); // 解锁Flash FLASH_EraseInitTypeDef EraseInitStruct; EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS...3、读写冲突 在某些MCU中,Flash在写入或擦除期间无法同时读取。如果程序尝试在Flash操作期间从Flash读取代码或数据,可能会引发总线错误或硬故障。

    1.3K10

    linux读写锁

    读写锁 与互斥量类似,但读写锁允许更高的并行性。其特性为:写独占,读共享。 读写锁状态: 一把读写锁具备三种状态: 1. 读模式下加锁状态 (读锁) 2. 写模式下加锁状态 (写锁) 3....不加锁状态 读写锁特性: 1. 读写锁是“写模式加锁”时, 解锁前,所有对该锁加锁的线程都会被阻塞。 2....那么读写锁会阻塞随后的读模式锁请求。优先满足写模式锁。读锁、写锁并行阻塞,写锁优先级高 读写锁也叫共享-独占锁。当读写锁以读模式锁住时,它是以共享模式锁住的;当它以写模式锁住时,它是以独占模式锁住的。...读写锁非常适合于对数据结构读的次数远大于写的情况。...函数 以读方式请求读写锁。

    4.5K30

    linux读写锁_共享内存读写锁

    一、读写锁是什么?...读写锁其实还是一种锁,是给一段临界区代码加锁,但是此加锁是在进行写操作的时候才会互斥,而在进行读的时候是可以共享的进行访问临界区的 ps:读写锁本质上是一种自旋锁 二、为什么需要读写锁?...如果每次操作都给此段代码加锁,太浪费时间了而且也很浪费资源,降低程序的效率,因为读操作不会修改数据,只是做一些查询,所以在读的时候不用给此段代码加锁,可以共享的访问,只有涉及到写的时候,互斥的访问就好了 三、读写锁的行为...读写之间是互斥的—–>读的时候写阻塞,写的时候读阻塞,而且读和写在竞争锁的时候,写会优先得到锁 四、自旋锁&挂起等待是锁?...---->读和写在同时竞争锁的时候,写会优先的得到锁 互斥---->读的时候写阻塞,写的时候读阻塞 4.相关函数 (1)pthread_rwlock_init()—->初始化函数 功能:初始化读写锁

    8.1K11

    开发板测试手册——SPI FLASH 读写、USB WIFI 模块(2)

    目录1.8 SPI FLASH 读写测试 201.9 USB 接口读写测试 211.10 网络接口测试 231.10.1 网络连通测试 231.10.2 网络速度测试 252 网络静态 IP 设置 273...-4.9.0 、Linux-RT-4.9.0进行本文档操作前,请先按照调试工具安装、Linux 开发环境搭建相关文档,安装 SecureCRT 串口调试终端、 VMware 虚拟机、PetaLinux...1.8 SPI FLASH 读写测试本小节对 SPI FLASH 的 MTD3 分区进行读写速度测试。...MTD3 是 SPI FLASH 的用户数据分区, 分区大小为 31MByte ,读写测试会将该分区内容擦除,请做好数据备份。...执行如下命令查询 SPI FLASH 分区, 确认 MTD3 分区大小 (读写请勿超出分区大小) , 将该分区内容擦除。

    3.9K20
    领券