我使用SWD在RAM中进行调试,发现主程序是在RAM中进行修改,写入都可以正常运行。但是中断程序只有写入FALSH才能被修改,只写入RAM中断的程序不会被修改
void TIM2_IRQHandler(void)
{
u8 ReadLed;
if(TIM_GetITStatus(TIM2,TIM_IT_Update)!=RESET)
{
TIM_ClearITPendingBit(TIM2,TIM_FLAG_Update);
ReadLed=GPIO_ReadOutputDataBit(GPIOB,GPIO_Pin_10);
if(ReadLed)
GPIOB->BRR = GPIO_Pin_10;
else
GPIOB->BSRR = GPIO_Pin_10;
}
}
就像这个我修改引脚,写入RAM中。运行的输出引脚不会变,只有写入FALSH才会改变。
|