中级会员
 
- 积分
- 225
- 金钱
- 225
- 注册时间
- 2015-12-17
- 在线时间
- 44 小时
|
1金钱
没看明白这个函数
void iap_write_appbin(u32 appxaddr,u8 *appbuf,u32 appsize)
{
u32 t;
u16 i=0;
u32 temp;
u32 fwaddr=appxaddr;//μ±Ç°D′èëμÄμØÖ·
u8 *dfu=appbuf;
for(t=0;t<appsize;t+=4)
{
temp=(u32)dfu[3]<<24;
temp|=(u32)dfu[2]<<16;
temp|=(u32)dfu[1]<<8;
temp|=(u32)dfu[0];
dfu+=4;//Æ«òÆ4¸ö×Ö½ú
iapbuf[i++]=temp;
if(i==512)
{
i=0;
STMFLASH_Write(fwaddr,iapbuf,512);
fwaddr+=2048;//Æ«òÆ2048 512*4=2048
}
}
if(i)STMFLASH_Write(fwaddr,iapbuf,i);//½«×îoóμÄò»D©ÄúèY×Ö½úD′½øè¥.
}
我想问每512个字往Flash里面写一次,执行第一次可以写进去,那以后的写不会把之前写进去的擦除吗?所在的扇区又是一个扇区 。有点不明白了 求解
|
|