• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32的堆栈设置一般最多可以设置到多大?

drepa 2017-12-05 浏览量:8083

定义大小在startup_stm32fxxx.s
Stack_Size  EQU  0x00000400
...
Heap_Size  EQU  0x00000200

一般CubeMX生成的例程都是0x400和0x200,个别使用了FATFS的例程需要增大到0x800-0x1600左右,请问,如果要设置足够大的堆栈大小,一般能设置到多大而程序不会崩溃呢?

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这个设置与你其他的程序有关的。你可以先编译一下,在map文件中看看占用了多少,可以把剩下的都分配给stack heap
    • 发布于 2017-12-05
    • 举报
    • 评论 1
    • 1
    • 0
电子老工程师 回复了 :1.12.13.14.20.27.28.引脚定义不一样, 回复

其他答案 数量:2
  • 我一般是两个都开到2000,跑工业协议没出现堆栈溢出的情况
    • 发布于2017-12-05
    • 举报
    • 评论 1
    • 1
    • 0
电子老工程师 回复了  :该型号为主控芯片,替换过程非常严谨,需要客户技术人员反复确认 SPC5643LF2MLQ1 型号供参考 回复

  • 一般取一个足够大的数值,0x8000,无论啥程序都够用了,但是不能大于STM32静态存储区的大小。

    • 发布于2017-12-13
    • 举报
    • 评论 1
    • 0
    • 0
电子老工程师 回复了  :05542:是NVM编码,是客户定制的,对于定制的NVM配置,工厂将分配一个唯一的5位数订购代码 回复

相关问题

问题达人换一批

STM32的堆栈设置一般最多可以设置到多大?