Memory 内存映射配置存储在哪里?

Memory 内存映射配置存储在哪里?,memory,microcontroller,Memory,Microcontroller,假设有一个MCU(比如我正在使用的cypress PSOC4芯片)。芯片内部包含一个闪存(用于存储固件)和一个RAM(可能是SRAM)。我知道,即使这两个组件也需要内存映射,以便处理单元访问它们 但是,每次MPU通电时都应该映射闪存和SRAM,对吗 那么内存映射的配置存储在哪里? 它是否以某种方式硬连接在MPU内部?还是储存在单独隐藏的小内存中 我曾经认为内存映射信息应该位于固件的前面,但这没有意义,因为固件存储在闪存中,MPU不知道闪存映射到哪里。所以,我认为这是一个错误的想法 顺便问一下,内

假设有一个MCU(比如我正在使用的cypress PSOC4芯片)。芯片内部包含一个闪存(用于存储固件)和一个RAM(可能是SRAM)。我知道,即使这两个组件也需要内存映射,以便处理单元访问它们

但是,每次MPU通电时都应该映射闪存和SRAM,对吗

那么内存映射的配置存储在哪里? 它是否以某种方式硬连接在MPU内部?还是储存在单独隐藏的小内存中

我曾经认为内存映射信息应该位于固件的前面,但这没有意义,因为固件存储在闪存中,MPU不知道闪存映射到哪里。所以,我认为这是一个错误的想法


顺便问一下,内存映射甚至可以配置吗?

是的,启动时mcu中的硬接线,一些mcu允许重新映射一次并运行,但为了启动闪存/rom,必须将其映射到已知位置,sane设计也会将片上sram映射并准备在已知位置启动时使用

有些使用带子(外部硬接线的针脚高或低)来操纵mcu引导的方式,有时包括不同的映射。例如,单个条带可以选择将引导加载程序rom与用户闪存映射到处理器的引导空间。但这将与芯片供应商的零件文档中的其他映射选项一样被记录

一些MCU允许您在启动后在软件中将ram移动到向量/异常表区域,以便您可以在运行时对其进行操作,而不限于启动时闪存中的内容。有些MCU甚至具有类似mmu的功能,但我很难给这些MCU打电话,因为它们可以在数百mhz的频率下运行,具有浮点单元、缓存等。从技术上讲,它们是一个具有ram和闪存芯片的SOC,因此被归类为MCU


你的思维是清醒的,flash和sram映射是逻辑的,在重置时,你可以知道事情会在哪里。它位于该产品的文档中。

谢谢!我必须去查看我的mcu的文档:)