当前位置: 首页 > article >正文

ESP32之Flash操作

Flash是一种高速存储,Flash是可读可写的ESP32也为我们提供了这种机制的相应的函数。

以下面这个函数为例子我们来解析一下ESP32的Flash读取

void flashdev_READ(esp_partition_type_t type)
{

    uint8_t data[32]={0};
    const esp_partition_t *partition = esp_partition_find_first(
        type,
        ESP_PARTITION_SUBTYPE_ANY,
       NULL);


   esp_partition_read(partition, 0, data,32);
   for(int i=0;i<32;i++)
   {
    ESP_LOGI(TAG, "flash data 0x%x:",data[i]);

   }

esp32官方给出了高级函数,也就是不关注底层我们直接进行上层的操作

 esp_partition_read(partition, 0, data,32);这个函数就是作为读取的函数,第一个参数是一个指针我们调用esp_partition_find_firs函数将返回值给到这个参数,通过这个函数我们找到对应的位置查询这个位置开始的所有的地址,然后通过读取的函数将这个值读出来我们将读出来的值给到我们定义的uint8_t的data也就是我们将会读出32个字节的数据到这个data里面然后我们可以通过这个日志log将相关的数据打印出来最终实现将Flash中的数据读出的效果。进行Flash操作有什么用呢?答案是---》我们可以使用Flash进行暂存一些关键的数据,也可以通过写入相应的数据改写单片机的程序,例如OTA的升级其实也就是对flash数据的写和修改像是STM32会使用小端存储我们只需要以倒序写入相应的数据就可以实现程序的自我更新。


http://www.kler.cn/a/571197.html

相关文章:

  • 11、HTTPS和HTTP有哪些区别【高频】
  • SSM开发(十四) Spring之IOC
  • 大模型——CogView4:生成中英双语高清图片的开源文生图模型综合介绍
  • DeepSeek vs Grok vs ChatGPT:大模型三强争霸,谁将引领AI未来?
  • Web⾃动化测试及常用函数
  • pnpm+monorepo实现前端公共函数、组件库
  • 芯麦 GC1272 芯片:电脑散热风扇领域的高效替代之选,对比 APX9172/茂达芯片优势解析
  • Linux基础 -- ARM 32位常用机器码(指令)整理
  • Deepseek的底层架构思维构成
  • 面试-----每日一题
  • android13打基础: 接收自定义广播并在接收到广播时触发设备震动
  • 3月4日C高级
  • 通往 AI 之路:Python 机器学习入门-线性代数
  • ffmpeg 添加字幕subtitles绝对路径
  • Servlet理论和tomcat(2)http
  • 制服小程序的“滑手”:禁用页面左右滑动全攻略
  • leetcode112-路径总和
  • 练习题:66
  • Python 矩阵对角线操作函数介绍
  • 音频3A测试--AEC(回声消除)测试