STM32F4+uCOS OS_CPU_EXCEPT_STK_SIZE引起的HardFault_Handler()
问题:STM32F4+uCOS OS_CPU_EXCEPT_STK_SIZE引起的HardFault_Handler()
R14(LR)=0XFFFFFFF1
查看map文件,发现OS_CPU_ExceptStk[OS_CPU_EXCEPT_STK_SIZE]附近的全局变量被无故修改,且是由高地址写往低地址。
原因:由于中断处理函数功能的增加,且极端情况下发生了中断嵌套,使得MSP的需求量增加,uCOS定义的MSP堆栈不够。
解决: 增大OS_CPU_EXCEPT_STK_SIZE。