栈溢出,固件下载后,会运行异常。如下代码:
代码运行异常,进入debug,发现有hard fault的错:
因为栈已经溢出,一般MCU的栈地址都是向下增长的,stm32也是一样,stm32在启动文件中定义了栈的大小是1Kb:
局部变量明显超了,要么修改栈的大小(可改到8Kb):
要么把局部变量、数组定义成全局的。
栈溢出,固件下载后,会运行异常。如下代码:
代码运行异常,进入debug,发现有hard fault的错:
因为栈已经溢出,一般MCU的栈地址都是向下增长的,stm32也是一样,stm32在启动文件中定义了栈的大小是1Kb:
局部变量明显超了,要么修改栈的大小(可改到8Kb):
要么把局部变量、数组定义成全局的。