乐鑫技术交流
直播中

李进锋

8年用户 999经验值
私信 关注
[问答]

请问efuse以及flash区域是否只能通过SDK的API读写?

请问efuse以及flash区域是否只能通过SDK的API读写?是否能通过指针引用绝对地址读写,比如:

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

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

回帖(1)

zhongnian

2024-6-11 17:07:26
1. 是否只能通过SDK的API读写?

通常情况下,建议使用SDK提供的API来读写Efuse和Flash区域。这是因为SDK的API已经经过了优化和测试,可以确保数据的正确性和系统的稳定性。然而,这并不意味着你不能通过指针引用绝对地址来读写这些区域。实际上,在某些情况下,开发者可能会选择直接操作硬件寄存器来实现特定的功能。

2. 是否能通过指针引用绝对地址读写?

在某些情况下,你可以通过指针引用绝对地址来读写Efuse和Flash区域。但是,这种方法需要你具备对硬件和内存布局的深入了解,以确保操作的正确性。此外,直接操作硬件寄存器可能会增加系统出错的风险,因此在没有充分理由的情况下,建议使用SDK的API。

3. 如果支持这么做,我该怎么知道Efuse、Flash的绝对地址?

要获取Efuse和Flash区域的绝对地址,你可以查阅芯片的数据手册或参考设计。这些文档通常会提供有关内存布局和寄存器映射的详细信息。此外,你还可以查看SDK中的源代码,了解API是如何实现的,从而找到相关的地址信息。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分