野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 37|回复: 0

SPI Flash + FatFs 写扇区问题

[复制链接]
发表于 前天 17:20 | 显示全部楼层 |阅读模式
各位好,最近买了霸天虎F407开发板,学习到了SPI Flash移植FatFs部分。

对应页面为https://doc.embedfire.com/mcu/st ... er25/chapter25.html   24.3.4.5 扇区写入部分


其中代码清单25-5扇区写入部分,有一块我有一些疑问。
  1. case SPI_FLASH:
  2.          /* 扇区偏移6MB,外部Flash文件系统空间放在SPI Flash后面10MB空间 */
  3.          sector+=1536;
  4.          write_addr = sector<<12;
  5.          SPI_FLASH_SectorErase(write_addr);
  6.          SPI_FLASH_BufferWrite((u8 *)buff,write_addr,count<<12);
  7.          status = RES_OK;
  8.          break;
复制代码
我们知道,W25Q系列SPI Flash一个Sector是4KB,且SPI Flash在写入前需要先擦除。
这里的SPI_FLASH_SectorErase函数一次只擦除4KB的空间,而这里没有对count是否越界做检查
是不是会写入到未擦除的区域。


期待您的指点。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2026-6-5 05:39 , Processed in 0.088291 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表