OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7405|回复: 1

W25Qxx覆盖存储

[复制链接]

5

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
103
金钱
103
注册时间
2015-5-9
在线时间
13 小时
发表于 2015-5-9 11:37:28 | 显示全部楼层 |阅读模式
5金钱

W25Qxx可以覆盖存储,无需擦除后存储?? 自己做了实验,把战舰板 汉字显示的FLASH的写程序中的判断擦除 注释掉,第一次烧录程序因为w25qxx中都为空,所以可以写入字库,这肯定的,然后我按key-up键,发现字库依然能更新?我已经把w25qxx (flash)的写函数中的擦除程序段给注释掉了,第二进行字库更新不是w25qxx里面字库位置已经有数据,怎么没擦除还能写入字库信息呢??


void SPI_Flash_Write(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite)  
{
 u32 secpos;
 u16 secoff;
 u16 secremain;   
 // u16 i;   

 secpos=WriteAddr/4096;//???????· 0~511 for w25x16
 secoff=WriteAddr%4096;//??????????????
 secremain=4096-secoff;//???????à?????ó??  

 if(NumByteToWrite<=secremain)secremain=NumByteToWrite;//???ó??4096??×???
 while(1)
 { 
//  SPI_Flash_Read(SPI_FLASH_BUF,secpos*4096,4096);//??????????????????
//  for(i=0;i<secremain;i++)//???é????
//  {
//   if(SPI_FLASH_BUF[secoff+i]!=0XFF)break;//?è??????    
//  }
//  if(i<secremain)//?è??????
//  {
//   SPI_Flash_Erase_Sector(secpos);//????????????
//   for(i=0;i<secremain;i++)    //????
//   {
//    SPI_FLASH_BUF[i+secoff]=pBuffer;  
//   }
//   SPI_Flash_Write_NoCheck(SPI_FLASH_BUF,secpos*4096,4096);//???????????? 

//  }else
  SPI_Flash_Write_NoCheck(pBuffer,WriteAddr,secremain);//?????­????????,?±?????????????à????.       
  if(NumByteToWrite==secremain)break;//?????á????
  else//???????á??
  {
   secpos++;//???????·??1
   secoff=0;//??????????0  

      pBuffer+=secremain;  //????????
   WriteAddr+=secremain;//?????·????   
      NumByteToWrite-=secremain;    //×?????????
   if(NumByteToWrite>4096)secremain=4096; //???????????????????ê
   else secremain=NumByteToWrite;   //?????????????????ê??
  } 
 };   
}

最佳答案

查看完整内容[请看2#楼]

因为你已经更新过了,第二次更新失败,也照样能用。 因为数据已经存在了。 比如1,你写了1了,再次写1 ,失败或者成功,都不影响结果,还是1.
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165371
金钱
165371
注册时间
2010-12-1
在线时间
2110 小时
发表于 2015-5-9 11:37:29 | 显示全部楼层
因为你已经更新过了,第二次更新失败,也照样能用。
因为数据已经存在了。
比如1,你写了1了,再次写1 ,失败或者成功,都不影响结果,还是1.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-24 15:30

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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