跑飞这个说法太笼统了,建议你从两个方面入手。
1、使用硬件仿真,看看跑飞后程序停在哪里,如果是停在硬件错误函数里面,那很有可能是你中断函数里面,某句话,造成数据溢出,越界造成的。
这样你可以把中断函数里面你写的内容先屏蔽掉,然后调试,逐句验证。
2、也有可能是你中断函数的某些标志没有清除,导致中断一直运行,造成死机的假象。
总之,建议使用硬件仿真去排查问题。