现象:异常发生crash dump regs: PC=0xa506。现象较异常,有定时器挂了,也有直接crash后挂起看门狗无法重启,>也有直接crash后重启。
- 
					
					
					
					
 现象:异常发生crash dump regs: PC=0xa506。现象较异常,有定时器挂了,也有直接crash后挂起看门狗无法重启,>也有直接crash后重启。 
 原因:堆栈不够,导致中断在打断一些嵌套较深的函数时,发生crash。
 解决:加大堆栈到0x1000,代码看以下。
 void initial_static_memory(uint8_t act_num,
 uint8_t adv_act_num,
 uint8_t con_num,
 uint8_t rx_buf_num,
 uint16_t rx_buf_size,
 uint8_t tx_buf_num,
 uint16_t tx_buf_size,
 uint16_t max_adv_size,
 uint16_t stack_size);/********************************************************************* - @fn user_init_static_memory
- @brief set memory.
- @param None.
- @return  None.
 */
 void user_init_static_memory(void) 
 {
 initial_static_memory(11, 5, 2, 8, 251, 8, 251, 37, 0x1000);
 }
 1
 2
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26版权声明:本文为CSDN博主「匿迭谢君」的原创文章,遵循CC 4.0 BY-SA版权协议,转载附上原文出处链接及本声明。 
 原文链接:https://blog.csdn.net/thanksguy/article/details/124979498