其他存储相关

[English]


ESP32 是否可以使用 LittleFS 文件系统?

LittleFS 为第三方移植组件 esp_littlefs,可直接在 ESP-IDF 中使用。匹配 LittleFS 文件系统镜像的工具为 mklittlefs


ESP32 如何查看芯片内存(例如:DRAM、IRAM、rodata)使用情况?

可以在工程终端目录下输入 idf.py size-components 指令来查看静态存储空间使用估算情况。如需查询运行时内存动态申请信息,请使用 heap_caps_get_info 查询。


ESP8266 用户可用的 RTC RAM 是多大?

  • ESP8266 用户可用的 RTC RAM 为 512 字节 (0x200)。可参见 esp8266.ld 文件说明。


如何使能 exFAT?

CHIP: ESP32

  • 需要在代码中将 #define FF_FS_EXFAT 0 修改为 #define FF_FS_EXFAT 1 , 具体的请参考 ffconf.h


ESP32 分区表中的分区数量有限制吗?

  • 有限制,分区表的长度为 0xC00 字节(最多可以保存 95 条分区表条目)。参考链接 分区表 的说明。


ESP32 如何读取芯片剩余内存?


在 ESP-IDF 下使用 xTaskCreateStatic() 需要注意什么?


基于 ESP-IDF SDK,使用 RTC_NOINIT_ATTR uint32_t counter = 0 ; 定义一个全局变量,打印出来的值为 1368610594,这是什么原因?

  • RTC_NOINIT_ATTR 变量会被编译到 .rtc_noinit 区域,这个区域并不是在启动时清零,所以在变量初始化时赋值不会生效,需要在初始化后进行赋值才是有效的。

  • 当使用 RTC_NOINIT_ATTR 定义一个全局变量时,需要在应用代码中对变量进行赋值,正确的写法如下:

    RTC_NOINIT_ATTR uint32_t counter;
    counter = 0;
    printf("Counter value: %"PRIu32" \n",counter);