Memory 微控制器中的存储器组织

Memory 微控制器中的存储器组织,memory,embedded,microcontroller,memory-segmentation,Memory,Embedded,Microcontroller,Memory Segmentation,微控制器中的内存是分段的还是扁平的 我会说它是以平面模型组织的。然而,接下来的事情让我困惑。链接器使用偏移地址在内存(.bss、.text、.data)中创建分段部分,并在该部分中创建引用变量,这与分段模型类似。如果生成链生成由代码段(.text)组成的目标, 只读数据、初始化数据(.data)和未初始化数据(.bss)将它们合并到平面内存模型中很容易。另一方面,拆分这样的企业集团是不可能的。 由于构建链的一部分通常针对多个平台,因此它们试图在构建过程中尽可能长地保持分段的体系结构 在操作系统上

微控制器中的内存是分段的还是扁平的


我会说它是以平面模型组织的。然而,接下来的事情让我困惑。链接器使用偏移地址在内存(.bss、.text、.data)中创建分段部分,并在该部分中创建引用变量,这与分段模型类似。

如果生成链生成由代码段(.text)组成的目标, 只读数据、初始化数据(.data)和未初始化数据(.bss)将它们合并到平面内存模型中很容易。另一方面,拆分这样的企业集团是不可能的。 由于构建链的一部分通常针对多个平台,因此它们试图在构建过程中尽可能长地保持分段的体系结构

在操作系统上运行的计算机中的微处理器,采用复杂的内存管理。
相比之下,微控制器具有很多外围功能,不需要进程之间的隔离

此外,它取决于您的微控制器是否遵循哈佛大学或vonNeumann体系结构。
使用vonNeumann体系结构,您最终拥有一个平坦的单内存地址空间

这完全取决于微控制器的体系结构——并非所有微控制器都有一个体系结构。查看相关零件的数据表、参考手册或结构规范。链接器节上下文中的“段”.bss、.txt、.data等与分段内存体系结构上下文中的段完全不相关。更复杂的是,仅仅是平面/分段的内存组织可以是冯·诺依曼(vonneumann)或哈佛(Harvard),设备可能有也可能没有MMU或MPU。