eFuse入门(基于ESP32)

主要参考资料:
eFuse 管理器: https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/api-reference/system/efuse.html
技术参考手册 > eFuse控制器: https://www.espressif.com.cn/sites/default/files/documentation/esp32_technical_reference_manual_cn.pdf#efuse

简介

eFuse 是一种微型的一次性可编程保险丝,可以通过“烧录”(即编程)将数据存储到 ESP32 中。
ESP32 有 4 个 eFuse 块,每个块的大小为 256 位(并非所有位都可用于用户参数):

  • EFUSE_BLK0 完全用于系统用途;
  • EFUSE_BLK1 用于 flash 加密密钥。如果不使用 flash 加密功能,此块也可以用于用户参数;
  • EFUSE_BLK2 用于安全启动密钥。如果不使用安全启动功能,此块也可以用于用户参数;
  • EFUSE_BLK3 可以部分保留,以存储自定义 MAC 地址,或者完全用于用户参数。请注意,一些位已经用于 ESP-IDF。

eFuse 管理器组件中集合了多种工具和 API,可帮助定义、烧录和访问 eFuse 参数。常用的工具和 API 包括:

  • 表格格式,用于在 CSV 文件中定义 eFuse 数据字段
  • efuse_table_gen.py 工具,用于生成 CSV 文件指定的 eFuse 数据字段对应的 C 结构体
  • 用于读/写 eFuse 数据字段的 C API 集合

下面依次介绍。

表格格式

efuse_table_gen.py 工具

efuse_table_gen.py 工具能够从 CSV 文件生成 C 源文件,其中包含 CSV 文件中定义的 eFuse 字段的对应 C 结构体(类型为 esp_efuse_desc_t)。此外,该工具还会在生成 C 源文件前对 CSV 文件进行检查,以确保:

  • eFuse 字段的名称唯一
  • eFuse 字段使用的位不重叠

用于读/写 eFuse 数据字段的 C API 集合

可以通过指向描述结构的指针来访问 eFuse 字段。API 函数可以实现一些基本操作:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值