微控制器中的内存组织
Memory organization in microcontroller
微控制器中的内存是按分段模型还是平面模型组织的?
我会说它是按平面模型组织的。然而,接下来的事情让我感到困惑。链接器在内存(.bss、.text、.data)中创建分段部分,并使用偏移地址在该部分内部创建引用变量,这类似于分段模型。
如果构建链构建由代码段 (.text) 组成的目标,
只读数据、初始化数据(.data)和未初始化数据(.bss)将它们合并到一个平面内存模型中是小菜一碟。另一方面,拆分这样的企业集团是不可能的。
由于构建链的各个部分通常针对多个平台,因此他们试图在构建过程中尽可能长时间地保持分段架构。
运行 OS 上的计算机中的微处理器采用复杂的内存管理。
相比之下,微控制器具有很多外围功能并且不需要进程之间的栅栏。
此外,这取决于你的微控制器是遵循哈佛还是冯诺依曼架构。
使用 vonNeumann 架构,您终于有了一个平坦的单一内存地址 space。
微控制器中的内存是按分段模型还是平面模型组织的?
我会说它是按平面模型组织的。然而,接下来的事情让我感到困惑。链接器在内存(.bss、.text、.data)中创建分段部分,并使用偏移地址在该部分内部创建引用变量,这类似于分段模型。
如果构建链构建由代码段 (.text) 组成的目标, 只读数据、初始化数据(.data)和未初始化数据(.bss)将它们合并到一个平面内存模型中是小菜一碟。另一方面,拆分这样的企业集团是不可能的。 由于构建链的各个部分通常针对多个平台,因此他们试图在构建过程中尽可能长时间地保持分段架构。
运行 OS 上的计算机中的微处理器采用复杂的内存管理。
相比之下,微控制器具有很多外围功能并且不需要进程之间的栅栏。
此外,这取决于你的微控制器是遵循哈佛还是冯诺依曼架构。 使用 vonNeumann 架构,您终于有了一个平坦的单一内存地址 space。