初级会员

- 积分
- 146
- 金钱
- 146
- 注册时间
- 2012-11-13
- 在线时间
- 12 小时
|
原子大哥,有两个地方没有想明白,关键是不知道根据什么思路定的。还请原子大哥帮忙指导指导,如下:
//前6M字节给fatfs用,6M字节后~6M+500K给用户用,6M+500K以后,用于存放字库,字库占用1.5M.
(1)u16 FLASH_SECTOR_COUNT=2048*6;//6M字节,默认为W25Q64------2048*6怎么代表6M字节,没有看明白
#define FLASH_BLOCK_SIZE 8 //每个BLOCK有8个扇区 ----为什么是8?是根据什么定义的
//初始化磁盘
DSTATUS disk_initialize (
BYTE drv /* Physical drive nmuber (0..) */
)
{
u8 res=0;
switch(drv)
{
case SD_CARD://SD卡
res = SD_Initialize();//SD_Initialize()
if(res)//STM32 SPI的bug,在sd卡操作失败的时候如果不执行下面的语句,可能导致SPI读写异常
{
SD_SPI_SpeedLow();
SD_SPI_ReadWriteByte(0xff);//提供额外的8个时钟
SD_SPI_SpeedHigh();
}
break;
case EX_FLASH://外部flash
SPI_Flash_Init();
(2) if(SPI_FLASH_TYPE==W25Q64)FLASH_SECTOR_COUNT=2048*6;//W25Q64
else FLASH_SECTOR_COUNT=2048*2; //其他 ----这个也没有想明白
break;
default:
res=1;
}
if(res)return STA_NOINIT;
else return 0; //初始化成功
}
|
|