Closed yunzhi closed 3 years ago
没有太明白你的意思,能举个例子吗?
没有太明白你的意思,能举个例子吗?
比如说 w25q64 (1个sector=4KB),需要在0x10位置重新写入abcd四个字符.
const uint8_t test[] = "abcd";
sfud_write(flash, 0x10, 4, test) 写不成功.
sfud_erase_write(flash, 0x10, 4, test) 貌似会把 0x0 ~ 0x10 这段的数据擦除掉了.
之前通用的驱动是先读出4KB的数据,然后再擦除一个1 sector,把读出来的数据0x10的内容替换掉,再写进去.
貌似没有见过这样的 API 接口,一般的 Flash 操作前都是要先擦除再写入的哦
如果想要实现你想要的这个效果,可以自己再封装一套 API 就好了
貌似没有见过这样的 API 接口,一般的 Flash 操作前都是要先擦除再写入的哦
如果想要实现你想要的这个效果,可以自己再封装一套 API 就好了
ok, 了解了
发现 sfud_write 和 sfud_erase_write 都没有这样的功能,是因为这个功能会比较耗内存么?