为什么STM8 IAP 升级 写入不了APP数据

2019-07-19 20:25发布

file:///C:UsersxgAppDataRoamingTencentUsers764017114QQWinTempRichOleGJM}NW1~QCP]0UYXM4S@$OT.pngfile:///C:UsersxgAppDataRoamingTencentUsers764017114QQWinTempRichOleGJM}NW1~QCP]0UYXM4S@$OT.png写入不成功,读出来的全是空的

#define MAIN_USER_RESET_ADDR  0x9A00ul   // app 地址


u16  McuDataStartAddressValue =MAIN_USER_RESET_ADDR;

                                                        Iap_To_Write_AppBin(McuDataStartAddressValue,RecCartVaildDataBuffer,RecFileVaildDataTotalLength);
                                                        McuDataStartAddressValue+=1024;



void  Iap_To_Write_AppBin(u16 Faddress, u8 *pufdata,u16 puflength)
{
                u16 ubBuffPtr =0;       

        FLASH_Unlock(FLASH_MEMTYPE_PROG);

        for(ubBuffPtr = 0; ubBuffPtr < puflength; ubBuffPtr++)
        {
                FLASH_EraseByte(Faddress+ubBuffPtr);
               
            FLASH_ProgramByte((u32)(Faddress+ubBuffPtr),  pufdata[ubBuffPtr]);
        }

       
      FLASH_Lock(FLASH_MEMTYPE_PROG);               
}



void FLASH_ProgramByte(u32 Address, u8 Data)
{
    /* Check parameters */
    assert_param(IS_FLASH_ADDRESS_OK(Address));
    *((PointerAttr u8*) Address) = Data;
}
void FLASH_EraseByte(u32 Address)
{
    /* Check parameter */
    //assert_param(IS_FLASH_ADDRESS_OK(Address));

    /* Erase byte */
   *(PointerAttr u8*) (u16)Address = FLASH_CLEAR_BYTE;

}
/**
  * @}


为什么请大神指导   ,STTOOL 工具读出来的9A00之后都没有数据。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。