正常優(yōu)化體積,沒(méi)問(wèn)題。? 但是調(diào)試發(fā)現(xiàn)有部分地方觀察不到,于是關(guān)閉優(yōu)化。
結(jié)果報(bào)硬件故障中斷,調(diào)試發(fā)現(xiàn)是讀FLASH的時(shí)候觸發(fā)的。 簡(jiǎn)簡(jiǎn)單單幾行代碼,只讀,沒(méi)有寫(xiě)的操作,怎么會(huì)觸發(fā)中斷呢?
void?Read_ConfigData(void) { ????ConfigInfo.iMaxVoltage?=?*(u32?*)(FLASH_POWERDATA_ADDR); ????ConfigInfo.iMaxCurrent?=?*(u32?*)(FLASH_POWERDATA_ADDR+0x04); ????ConfigInfo.iTime1?=?*(u32?*)(FLASH_POWERDATA_ADDR+0x08); ????ConfigInfo.iTime2?=?*(u32?*)(FLASH_POWERDATA_ADDR+0x0B); if(0xFFFF?==?ConfigInfo.iMaxVoltage) { ????InitPowerInfo(); } }