STM32程序死在BEAB BKPT 0xAB解决办法

来源:互联网 发布:九泰基金 知乎 编辑:程序博客网 时间:2024/05/18 20:10

最近做STM32无线IAP,调试时发现的问题,把程序改回原启动地址时候出现死机情况,仿真后发现程序一直卡死在  BEAB BKPT 0xAB,找到几个解决办法


1、MDK选择设置,TARGET ,勾选Use MicroLIB



2、直接复制进去以下代码,

声明一下,这个引用的是正点原子的

#if 1#pragma import(__use_no_semihosting)             //标准库需要的支持函数                 struct __FILE { int handle; /* Whatever you require here. If the only file you are using is */ /* standard output using printf() for debugging, no file handling */ /* is required. */ }; /* FILE is typedef’ d in stdio.h. */ FILE __stdout;       //定义_sys_exit()以避免使用半主机模式    _sys_exit(int x) { x = x; } //重定向fputc函数//printf的输出,指向fputc,由fputc输出到串口//这里使用串口1(USART1)输出printf信息int fputc(int ch, FILE *f){      while((USART1->SR&0X40)==0);//等待上一次串口数据发送完成  USART1->DR = (u8) ch;      //写DR,串口1将发送数据return ch;}#endif
3、如果还没有解决,也有可能你程序掉进某个死循环,或者掉进某个中断中,需要好好检查一下

0 0