int32_t DrvFMC_Write(uint32_t u32addr, uint32_t u32data)
{
FMC->ISPCMD.FCTRL = 1;
FMC->ISPCMD.FCEN = 0;
FMC->ISPCMD.FOEN = 1;
FMC->ISPADR = u32addr;
FMC->ISPDAT = u32data;
FMC->ISPTRG.ISPGO = 1;
__ISB();
while (FMC->ISPTRG.ISPGO);
if (FMC->ISPCON.ISPFF == 1)
{
FMC->ISPCON.ISPFF = 1;
return E_DRVFMC_ERR_ISP_FAIL;
}
return 0;
}
请教__ISB();这个指令在这里起什么作用呢
屏蔽掉这个指令 数据也可以正常写入到DATA FLASH中 |