louliana
发表于 2025-6-20 14:00
STM32的RAM容量是有限的,堆栈均分配在RAM中
elsaflower
发表于 2025-6-20 14:52
链接器生成的*.map文件分析符号地址与大小
mollylawrence
发表于 2025-6-20 15:39
链接脚本中需同时定义栈(Stack)和堆(Heap)的区域,两者共享RAM空间。
流星flash
发表于 2025-6-21 16:44
优化算法,如使用动态数组而非静态数组,可降低内存占用。
lllook
发表于 2025-6-22 17:10
确保全局和静态变量只用于必要场景,避免滥用,合理优化,节省内存。
星闪动力
发表于 2025-7-7 15:58
要扩充内存,可以外加外部RAM。不过这得改动硬件,还得在软件上做点设置。
Pretext
发表于 2025-7-7 23:20
调用函数时,要记住返回的位置、传递的数值和临时存储,太多嵌套或大数据会导致内存占用大。
PreWorld
发表于 2025-7-8 14:41
调整内存分配,确保栈和堆增长不交叉,避免内存冲突。
MintMilk
发表于 2025-7-8 18:22
检查链接脚本,确保内存配置合理,可能需调整堆栈段大小。
Moon月
发表于 2025-7-9 22:58
编译器默认堆栈大小受单片机型号和内存配置影响。
hmcu666
发表于 2025-7-10 13:02
确保堆栈空间足够,避免溢出,对防止程序崩溃和系统不稳定很重要。
zephyr9
发表于 2025-7-10 16:21
堆栈大了,RAM被吃光,影响数据和程序存储,要小心设置。
朝生
发表于 2025-7-12 07:13
堆栈大小受限于单片机的RAM总量,所以得根据RAM大小来调整。
哪吒哪吒
发表于 2025-7-12 09:02
应用复杂度越高,所需堆栈空间越大。
jdqdan
发表于 2025-7-12 12:08
确保栈指针稳定,调用栈清晰,检查栈空间足够,避免溢出风险。
IntelCore
发表于 2025-7-16 08:29
大数组作为全局变量占用空间大,但访问快;动态分配内存灵活,但管理复杂。根据应用场景选择。
未来AI
发表于 2025-7-16 23:00
硬件决定了内存多少和分配,软件改不了这个限制。
喂什么玩意
发表于 2025-7-27 14:24
通常与内存布局限制、链接器配置冲突或实际剩余内存不足有关。
小夏天的大西瓜
发表于 2025-7-27 21:19
建议循环使用还是比较好的
热爱浪漫
发表于 2025-7-30 15:59
堆栈大小受 MCU 内存容量、编译时栈空间分配及递归深度等因素限制。