Page 1 of 1

咨询efuse、ROM相关问题

Posted: Thu Aug 03, 2023 7:44 am
by Hao.Liu
请问efuse以及flash区域是否只能通过SDK的API读写?是否能通过指针引用绝对地址读写,比如:

写入
*(uint32_t *)(0xf4000) = 0x02;
读取
a = *(uint32_t *)(0xf4000)

如果支持这么做,我该怎么知道efuse、flash的绝对地址呢?

Re: 咨询efuse、ROM相关问题

Posted: Tue Aug 08, 2023 7:53 am
by ESP_WangYX
eFuse 不可以操作地址进行访问。
Flash 可以通过 spi flash APIs 来访问:https://docs.espressif.com/projects/esp ... -flash-api
另:关于 flash 的地址,你可以根据 log 打印,确认一个分区的 flash 起始地址。

Re: 咨询efuse、ROM相关问题

Posted: Wed Aug 09, 2023 2:58 am
by Hao.Liu
谢谢你的回复。我知道了eFuse不能通过直接地址访问,flash可以通过API访问。

我还想了解的是,你说flash的地址区域可以通过打印看到,对于这些地址我是否可以直接通过指针而非API访问??

Re: 咨询efuse、ROM相关问题

Posted: Wed Aug 09, 2023 3:20 am
by Hao.Liu
我看到了你给我的连接里关于flash部分的描述。我的理解是flash中映射到指令空间的部分才能直接通过指针访问,且不能通过指针写入。不知道我的理解是对的吗?

Re: 咨询efuse、ROM相关问题

Posted: Wed Aug 09, 2023 4:13 am
by ESP_WangYX
映射到 flash 存储器的内存空间可以被访问,存储固件的 flash 部分(包括指令和数据)不建议通过 flash API 来访问。通常你并不需要直接使用 flash 这种低级接口,你可以尝试使用 esp_partition_*()类型的接口。