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

请问下stm32l4芯片的堆栈空间

瞩目人kri 2018-08-19 浏览量:666
求助各位坛友,stm32l4芯片的堆栈空间可以在启动文件里设置到多大呢?是跟flash有关的吗我用的芯片是stm32L4RGT。先谢过坛友们。
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • stack和芯片相关,push-pop指令就是操作的这个空间,另外就是用来运行时分配局部变量的,一般要留足够裕量,这个大小完全看你的应用程序。heap是用户内存请求使用的,callocmalloc,free管理这个空间。
    • 发布于 2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:12
  • 如果没有SD卡 文件系统 USB这三种常见的占用堆栈极大的应用,一般栈区设置0x200,堆区设置0x400就可以了,如果不够用就设置0x1000 0x2000.

    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 网络回答:

    0x400 = 1024放不下你的2816,当然说最大是2816,不过安全起见,你还是要预留点。

    保守到3072,修改Stack_Size      EQU     0x00000C00 
    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 理论上是你有多少内存, 全给它都可以, 但这是不可能的, 其它地方也要用的啊 比如你有32k 其它地方用了10K 你留2~3K 其余都全给它也行
    • 发布于2018-08-19
    • 举报
    • 评论 0
    • 0
    • 0

  • 设置多大都可以的,只要是小于芯片的RAM大小就可以了,还要预留一部分给你的程序使用
    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 堆栈都是用的sram空间,ram大就可以设置大一点。栈使用多少内存可以算出来,堆是自己申请释放的,也可以算出来,只要你代码写完了,最大栈空间就确定了,堆最大用量也确定
    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 与芯片的型号是有关的。

    大一些的RAM的芯片,就可以设置的大一些的。最发是其他的代码调试完了,把剩下的全设置了

    • 发布于2018-08-20
    • 举报
    • 评论 0
    • 0
    • 0

  • 常用的设置成1K的内存就够用了,最好是多设置一点,留一点余量
    • 发布于2018-08-22
    • 举报
    • 评论 0
    • 0
    • 0

  • 堆和栈的空间加上程序里面一些全局变量的空间之和小于片上RAM的空间就行,一般设置两个都是0x600是足够的
    • 发布于2018-08-31
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个堆栈空间要根据你的程序设置,一般都是设置一个2K作用就可以
    • 发布于2018-09-15
    • 举报
    • 评论 0
    • 0
    • 0

  • 堆栈的设置没有固定的,你可以设置一个大一点的空间也是没有问题的
    • 发布于2018-09-19
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

请问下stm32l4芯片的堆栈空间