一直以来对存储器的结构都非常的含糊,初学单片机是完全看不懂,以至于有心思暗影,今日完全消除他吧!!
存储器映射是指把芯片中或芯片外的FLASH,RAM,外设,BOOTBLOCK等进行一致编址。即用地址来表明目标。这个地址绝大多数是由厂家规定好的,用户只能用而不能改。用户只能在挂外部RAM或FLASH的情况下可进行自定义。
1:CM3存储器映射
如图,是Cortex-M3存储器映射结构图摘自《CM3技能手册》。
Cortex-M3是32位的内核,因而其PC指针能够指向2^32=4G的地址空间,也便是0x0000_0000——0xFFFF_FFFF这一大块空间。
好,依据图中描绘,Cortex-M3内核将0x0000_0000——0xFFFF_FFFF这块4G巨细的空间分红8大块:代码、SRAM、外设、外部RAM、外部设备、专用外设总线-内部、专用外设总线-外部、特定厂商等。导致了,运用该内核的芯片厂家有必要依照这个进行各自芯片的存储器结构规划。
2:STM32存储器映射
下面的图摘自stm32f107vct6的阐明文档
3:Flash:寄存代码的当地;
4:System Memory:STM32出厂时自带的你只能运用,不能写或擦除;
5:Option Bytes:能够依照用户的需求进行装备(如装备看门狗为硬件完成仍是软件完成);
3:FLASH
STM32的Flash,严厉说,应该是Flash模块。
该Flash模块包含:Flash主存储区(Main memory)、Flash信息区(Information block),以及Flash存储接口寄存器区(Flash memory interface)。