- uint8_t data[1];
- #define ISP_ADDR 0x1FFFEC00
- typedef void (*pFunction)(void);//定义一个指针,指向程序入口
- pFunction Jump_To_ISPlication;
- void Jump_to_ISP(void)
- {
- uint32_t address;
- uint32_t JumpAddress;
- // FMC_Unlock();
- address = ISP_ADDR;
- JumpAddress = *(__IO uint32_t*)(address + 4);
- Jump_To_ISPlication = (pFunction) JumpAddress;
- __set_MSP(*(__IO uint32_t*) address);
- Jump_To_ISPlication();
- }
- int main(){
- //系统时钟初始化
- //串口1初始化,PA9 PA10
- //配置串口中断接收,将接收到的数据赋值给data[0]
- while (1)
- {
- if(data[0]==0x7f)//此处根据具体应用,可以设置按键进入等
- {
- __disable_irq();
- Jump_to_ISP();
- }
- }
- }