乐鑫技术交流
直播中

欲望都市

9年用户 878经验值
擅长:可编程逻辑
私信 关注
[问答]

请问ESP32是否支持SPI Nandflash?

在zephyr项目中,普通spi flash在测试中发现,在写入资料到flash中,会导致一些中断丢失(比如I2S),在此类场合应用中,改用一些写入(擦除)速度快的nand flash是比较合适的。

回帖(2)

曾祥玲

2024-6-19 11:47:18
1.ESP32 不支持 NAND Flash
2.Flash API 期间所有非 IRAM_ATTR 的中断都会被挂起
举报

悬崖勒马2

2024-6-19 16:24:53
ESP32是一款功能强大的微控制器,它支持多种通信协议,包括SPI。因此,理论上ESP32是支持SPI NAND Flash的。然而,实际应用中是否能够正常工作,还需要考虑以下几个方面:

1. **硬件兼容性**:首先需要确认ESP32的SPI接口是否与NAND Flash的SPI接口兼容。这包括SPI模式、速率等参数。

2. **驱动支持**:在Zephyr项目中,需要确保有合适的驱动程序来支持NAND Flash。Zephyr是一个开源的操作系统,其硬件支持是通过驱动程序实现的。如果Zephyr中没有现成的NAND Flash驱动,可能需要自己编写或者寻找第三方驱动。

3. **性能问题**:你提到在写入SPI Flash时遇到了中断丢失的问题。这可能是因为SPI Flash的写入速度较慢,导致在写入过程中占用了过多的CPU时间,从而影响了其他任务的执行。NAND Flash的写入速度通常比NOR Flash快,但是如果SPI总线的速度成为瓶颈,那么使用NAND Flash可能并不能显著提高性能。

4. **可靠性**:NAND Flash在写入数据时需要进行擦除操作,这可能会导致写入过程中的中断丢失问题更加严重。因此,在选择NAND Flash时,需要考虑到这一点,并在设计中采取相应的措施来保证系统的稳定性。

5. **测试**:在实际应用中,最好进行充分的测试,以确保ESP32与NAND Flash的兼容性和性能。这包括在不同的工作条件下测试系统的稳定性和性能。

总之,ESP32理论上是支持SPI NAND Flash的,但是实际应用中需要考虑硬件兼容性、驱动支持、性能问题、可靠性和测试等多个方面。如果这些方面都能得到满足,那么使用NAND Flash替换SPI Flash是一个可行的方案。
举报

更多回帖

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