发新帖我要提问
12
返回列表
打印
[其他ST产品]

STM32 内存分配、堆栈以及变量存储位置理解与分析

[复制链接]
楼主: 一点点0321
手机看帖
扫描二维码
随时随地手机跟帖
21
按FIFO或FILO的方式进行数据读写,是软件层面的意义

使用特权

评论回复
22
sanfuzi| | 2023-8-4 18:50 | 只看该作者
栈的大小应大于预计的最大函数调用深度和中断嵌套层数。堆的大小应根据需要的动态内存分配量进行评估。

使用特权

评论回复
23
mattlincoln| | 2023-8-4 20:14 | 只看该作者
全局变量在整个程序中都可见,存储在数据区或程序存储器

使用特权

评论回复
24
wengh2016| | 2023-8-4 20:37 | 只看该作者
堆栈是一种用于存储函数调用和局部变量的内存区域。在STM32中,堆栈通常位于SRAM中的特定区域

使用特权

评论回复
25
phoenixwhite| | 2023-8-4 21:39 | 只看该作者
STM32芯片通常具有不同类型的内存,例如片上内存(SRAM)和闪存(Flash)。SRAM用于数据存储,包括全局变量、静态变量和动态分配的内存(如堆内存)。Flash用于存储程序代码。

使用特权

评论回复
26
phoenixwhite| | 2023-8-4 22:43 | 只看该作者
STM32单片机闪存存储器里存储的是哪些内容?

使用特权

评论回复
27
pentruman| | 2023-8-5 10:49 | 只看该作者
堆和栈的大小都应该合理设置。              

使用特权

评论回复
28
eefas| | 2023-8-5 13:42 | 只看该作者
合理选择变量的作用域可以减小内存占用并提高代码的可读性和维护性。

使用特权

评论回复
29
belindagraham| | 2023-8-5 14:31 | 只看该作者
将变量的作用域限制在最小范围内,可以避免不必要的内存占用和命名冲突。

使用特权

评论回复
30
modesty3jonah| | 2023-8-7 16:44 | 只看该作者
堆栈区与一般的数据存储区有何异同?

使用特权

评论回复
31
beacherblack| | 2023-8-7 17:50 | 只看该作者
通过合理管理内存,可以提高系统的性能和稳定性,并避免由于内存相关问题引起的错误。

使用特权

评论回复
32
lzbf| | 2023-8-14 08:15 | 只看该作者
在STM32上,变量可以存储在不同的内存区域中,具体取决于其声明方式和链接器设置。

全局变量:全局变量在编译时分配内存,并且默认情况下存储在SRAM中。可以使用__attribute__((section("SectionName")))来指定将全局变量放置在特定的内存段中。

静态变量:静态变量也在编译时分配内存,并且默认情况下存储在SRAM中。与全局变量类似,可以使用__attribute__((section("SectionName")))指定静态变量的存储位置。

局部变量:局部变量通常存储在堆栈中,随着函数的调用和返回而分配和释放。对于需要长时间存储的局部变量,可以使用static关键字将其转化为静态局部变量,并将其存储在SRAM中。

动态分配的内存(堆内存):动态分配的内存使用堆进行管理。可以使用标准C库函数如malloc()和free()来申请和释放堆内存。堆内存通常位于SRAM中。

使用特权

评论回复
33
linfelix| | 2023-8-14 11:15 | 只看该作者
STM32微控制器通常具有不同类型的内存,包括片上存储器(SRAM)和闪存(Flash)存储器。SRAM用于存储变量和堆栈,而Flash存储器用于存储程序代码。在编程时,需要注意将变量和数据正确地分配到适当的内存区域。

使用特权

评论回复
34
wilhelmina2| | 2023-8-14 17:09 | 只看该作者
了解内存分配、堆栈和变量存储位置在编写STM32应用程序时非常重要。

使用特权

评论回复
35
huangchui| | 2023-8-14 20:47 | 只看该作者
STM32单片机闪存存储器里存储的是哪些内容?

使用特权

评论回复
36
Undshing| | 2023-8-14 23:05 | 只看该作者
静态变量是存在堆区还是常量区啊?

使用特权

评论回复
37
kkzz| | 2023-8-15 12:56 | 只看该作者
静态变量在函数内部可见,存储在代码区或数据区;局部变量只在函数内部可见,存储在栈区或寄存我们需要掌握这些概念的含义、特点和用途,并在编程中合理运用,提高程序性能和可靠性。

使用特权

评论回复
38
Bowclad| | 2023-8-15 23:36 | 只看该作者
nomomy 发表于 2023-8-4 15:33
堆栈的工作方式类似于数据结构中的栈。

这两个栈不是一样的概念吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则