首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» stm32存储结构& 存储器映射(整理)(2)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
stm32存储结构& 存储器映射(整理)(2)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-4-29 16:54
|
只看该作者
stm32存储结构& 存储器映射(整理)(2)
存储器
该
Cortex-M3
内核通过
I-Code
、
D-Code
、
System
总线与
STM32
内部的
Flash
、
SROM
相连接的
,该种连接情况直接关系到
STM32
存储器的结构组织;也就是说,
Cortex-M3
的存储器结构决定了
STM32
的存储器结构。
这里可能说的比较笼统,可以这样理解:
Cortex-M3
是一个内核,自身定义了一个存储器结构,
ST
公司按照
Cortex-M3
的这个存储器定义,设计出了自己的存储器结构;但是
ST
公司的
STM32
的存储器结构必须按照
Cortex-M3
这个定义的存储器结构来进行设计。
举个例子:
我买了一个做饭的调料盒子,有三块区域(假设存储器分为
3
块),上面分别标有盐(
Flash
)、糖(
SROM
)、味精(
Peripheral
);此时,该调料盒子并没有任何意义(对应
Cortex-M3
内核);我按照标签放入特定品牌、特定分量的盐(
Flash
)、糖(
SROM
)、味精(
Peripheral
),产生一个有实际意义的调料盒(各类
Cortex-M3
内核的芯片,如
STM32
)。
期间,调料位置不能放错,但可以不放。由上面的例子可以看出,空的调料盒子决定了有意义的调料盒子存放调料的结构。因此,只要了解空盒子的存储结构,就可以很清楚的明白当有调料时的用法了。
3 STM32
内核(
Cortex-M3
)的存储器映射
存储器映射是指把芯片中或芯片外的
FLASH
,
RAM
,外设,
BOOTBLOCK
等进行统一编址。即用地址来表示对象。这个地址绝大多数是由厂家规定好的,用户只能用而不能改。用户只能在挂外部
RAM
或
FLASH
的情况下可进行自定义。
如图,是
Cortex-M3
存储器映射结构图。
Cortex-M3
是
32
位的内核,因此其
PC
指针可以指向
2^32=4G
的地址空间,也就是
0x0000_0000
——
0xFFFF_FFFF
这一大块空间。
好,根据图中描述,
Cortex-M3
内核将
0x0000_0000
——
0xFFFF_FFFF
这块
4G
大小的空间分成
8
大块:代码、
SRAM
、外设、外部
RAM
、外部设备、专用外设总线
-
内部、专用外设总线
-
外部、特定厂商等。
导致了,使用该内核的设计者必须按照这个进行各自芯片的存储器结构设计。
这就可以去了解
STM32
的存储器结构,以及为什么这样设计
STM32
存储器的结构了。
4 STM32
存储器结构
首先,我们对比一下
Cortex-M3
存储器结构和
STM32
存储器结构:
图中可以很清晰的看到,
STM32
的存储器结构和
Cortex-M3
的很相似,不同的是,
STM32
加入了很多实际的东西,如:
Flash
、
SRAM
等。只有加入了这些东西,才能成为一个拥有实际意义的、可以工作的处理芯片——
STM32
。
STM32
的存储器地址空间被划分为大小相等的
8
块区域,每块区域大小为
512MB
。
对
STM32
存储器知识的掌握,实际上就是对
Flash
和
SRAM
这两个区域知识的掌握。因此,下面将重点描述
Flash
和
SRAM
的知识。
5 STM32
的
SRAM
以下是
STM32
参考手册
RM0008
中的一段原话:
不同类型的
STM32
单片机的
SRAM
大小是不一样的,但是他们的起始地址都是
0x2000 0000
,终止地址都是
0x2000 0000+
其固定的容量大小。
SRAM
的理解比较简单,其作用是用来存取各种动态的输入输出数据、中间计算结果以及与外部存储器交换的数据和暂存数据。设备断电后,
SRAM
中存储的数据就会丢失。
6 STM32
的
Flash
STM32
的
Flash
,严格说,应该是
Flash
模块。
该
Flash
模块包括:
Flash
主存储区(
Main memory
)、
Flash
信息区(
Information block
),以及
Flash
存储接口寄存器区(
Flash memory interface
)。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议