OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 9663|回复: 6

STM32存储结构

[复制链接]

47

主题

255

帖子

1

精华

高级会员

Rank: 4

积分
641
金钱
641
注册时间
2012-11-3
在线时间
6 小时
发表于 2014-3-25 21:25:27 | 显示全部楼层 |阅读模式

 最近看一下stm32存储结构,我感觉我弄明白了,我就总结一下,写的不好,但是有几个好的资料链接会附上,有错误的话请指出:

 

              

主系统由以下部分构成:

1.四个驱动单元:

Cortex-M3内核,DCode总线和系统总线(S-Bus),通用DMA1和通用DMA2

2四个被动单元

内部SRAM,内部闪存存储器,FSMC,AHB到APB的桥,它链接所有的APB设备。

 

程序存储器,数据存储器,寄存器和输入输出端口被组织在同一个4GB(因为是32位的片子)的线性地址空间内。数据字节以小端格式存放在存储器中。

可访问的存储器空间被分成8个主要块,每一个块为512M。

我是初学者,一开始认为片子的空间不怎么大呢,因为rom=512k   ram=64k   在加上寄存器空间,能有多大的,但是我错了,仔细读一下cotrex-m3和stm32参考手册还有数据手册,终于弄明白了,我在这里介绍一下这4g空间都干什么用了:



大家好好看看这个图,很有用的,大家先看rom也就是flash(0x0800 0000-0x0807 ffff)512k,这个空间就是用户存放程序的地方,用户以后自己写boot loader的时候,也是存放在这个空间里的,system memory这个空间是2k大小,是st公司在生产完片子的时候,就固化好的isp代码,用户之所以能用上位机软件烧程序就是靠这部分的代码,用户更改不了这个区域,想了解这个区域就看AN2606文档,option bytes这个区域是16个字节,是控制flash区域的寄存器,想了解这些寄存器看STM32F10xxx闪存编程参考手册,SRAM这个区域的其实地址始终是0x2000 0000,终止地址就得根据你的SRAM的大小来进行计算了,这个区域就是程序运行时的临时变量区,什么堆栈都在这里面,接下来看寄存器存储区,别看stm32寄存器不多,但是分配的空间挺大,足足512m,也就用了几千个字节,剩下的怎么办?空着呗,我也纳闷了,为什么有很多空间空着不用呢,后来问我学长,他说是为了stm32系列兼容吧,后来查看大中小型stm32映射图,在结构上都是一样的,这个解释完全可以,大家不信就观察一下GPIOA口的寄存器,试试才7个寄存器就分配了1024个字节,剩下的只能空着了,这里说了SRAM和寄存器了,那么就不得不提cotrex-m3的另一个不错的功能,就是bit-band区,上图:



大家仔细观察一下这些地址,是不是SRAM和寄存器都在这两个bit-band区,这是一个什么功能呢,是为了实现位控制,就像51一样,ram有bit区,寄存器能够位控制(P1.0...),其中bit-band区的每一位对应着Bit-band区的一个字(32位),别管是为什么,这是人家设计师的事情,咱们会用就可以了, 1mb bit-band区对应着32mb bit-band别名区,用户操作别名区的一个字就等于操作bit-band区的一位,实现位操作功能,有时候位操作能够优化代码,总之很多好处,具体这个bit-band的对应关系,大家可以查看cotrex-m3权威指南。

 

我参考的资料,他们比我写的好多了,我的都是大白话:

http://www.cnblogs.com/hnrainll/archive/2011/01/01/1923605.html

http://music.573114.com/Blog/Html/C6BB/759561.html

http://anlx27.iteye.com/blog/1539628

什么不明白的地方,就结合这几个资料,一看就懂了。

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-3-25 22:03:37 | 显示全部楼层
博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165475
金钱
165475
注册时间
2010-12-1
在线时间
2115 小时
发表于 2014-3-25 22:05:01 | 显示全部楼层
图片没搞好...
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

47

主题

255

帖子

1

精华

高级会员

Rank: 4

积分
641
金钱
641
注册时间
2012-11-3
在线时间
6 小时
 楼主| 发表于 2014-3-26 09:01:39 | 显示全部楼层
回复【2楼】745021926:
---------------------------------
我怎么能看到呢、、、
回复 支持 反对

使用道具 举报

47

主题

255

帖子

1

精华

高级会员

Rank: 4

积分
641
金钱
641
注册时间
2012-11-3
在线时间
6 小时
 楼主| 发表于 2014-3-26 09:02:17 | 显示全部楼层
回复【3楼】正点原子:
---------------------------------
我能看到图啊。什么个情况
回复 支持 反对

使用道具 举报

39

主题

2026

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2020
金钱
2020
注册时间
2013-5-1
在线时间
87 小时
发表于 2014-3-26 09:02:58 | 显示全部楼层


博观而约取,厚积而薄发。
回复 支持 反对

使用道具 举报

47

主题

255

帖子

1

精华

高级会员

Rank: 4

积分
641
金钱
641
注册时间
2012-11-3
在线时间
6 小时
 楼主| 发表于 2014-3-26 12:41:16 | 显示全部楼层
回复【6楼】745021926:
---------------------------------
fuck 新浪
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-5-13 04:08

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表