armink / SFUD

An using JEDEC's SFDP standard serial (SPI) flash universal driver library | 一款使用 JEDEC SFDP 标准的串行 (SPI) Flash 通用驱动库
MIT License
1.25k stars 444 forks source link

增加 Power down 功能讨论 #51

Open gaupen1186 opened 3 years ago

gaupen1186 commented 3 years ago

移植 SFUD 模块,用着很舒服。 最近考虑低功耗,需要把 flash 进入到低功耗模式,代码增加起来也很简单,但一直没想好是应该放到主 sfud 模块中,还是 port m模块中,亦或者单独增加个 misc 或 utility 模块。 毕竟 power down 不属于 sfud 核心功能。 有结果了我就提交 pull request.

armink commented 3 years ago

是用的什么芯片呢,最好能找到 SFDP 中有相关的标准,这样能够更好的与其他芯片统一起来

gaupen1186 commented 3 years ago

我在 SFUD_FLASH_CHIP_TABLE 中定义的 型号中随便挑的五六款 ic 的 datasheet,都有相同的 power down 命令 B9H,但我没查到 SFDP 的相关标准(因为SFDP文档要注册才能看)

armink commented 3 years ago

那把这些芯片列一下,如果覆盖面足够了,先默认用 B9H 可以的

katcoo commented 2 years ago

@armink 大佬,我也碰到同样的问题,我目前使用的是IS25LP064D ,进入低功耗的命令也是B9H,退出低功耗的命令是ABH,如果低功耗这种不容易统一,我在想是否能在SFUD中增加一个自定义接口,就是可以由用户来设置,这样不管是低功耗,还是其他芯片的特殊操作,都可以满足。

armink commented 2 years ago

可以在 sfud_flash 设备对象里,新增一个 cmd 结构体元素,里面分别有 进入低功耗退出低功耗 两个元素,把这个 B9H 和 ABH 作为 sfud_flash 对象初始化后的默认值,用户也可以直接修改这个些命令的值

dmsg commented 2 years ago

进出低功耗的命令,SPI Flash还是比较统一的。如果SFUD可以直接支持,最好不过了。