【发布时间】:2018-04-08 06:54:35
【问题描述】:
有.bss、.text、.data、.rodata、....等不同的内存段
我不知道它们中的哪些位于 RAM 中,哪些位于 FLASH 存储器中,许多消息来源在 (RAM 和 ROM) 存储器的两个部分中都提到了它们。
请提供对 RAM 和闪存的内存段的公平解释。
ATMEL 工作室编译器
ATMEGA 32 平台
【问题讨论】:
-
ATMEL工作室编译器ATMEGA 32平台
-
如果我使用 diff 编译器或平台会有什么不同吗?
-
@MohamedMoustafa 是的,它有很大的不同。有些平台根本不将任何 ROM 映射到进程内存空间。
-
Atmel Studio compiler- 它不存在。 Atmel studio IDE & gcc 编译器是的。我认为现在对你来说这个话题太复杂了。在数百篇文章中都有解释——如果你不理解它们——意味着它还为时过早。如果您需要深入了解 C 语言、链接器脚本、启动代码和目标硬件,则可以使用。现在只需要记住 - 未初始化的静态变量会被清零,自动不会。 -
这里有各种各样的问题,但具体到哈佛建筑垃圾。