你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

stm32f103之位绑定的理解和疑惑

[复制链接]
motianlun1111 发布时间:2015-7-18 20:50
问个很low的问题,那个stm32f103的位绑定,为什么指针指向绑定后的那个地址,操作那个地址就能操作了对应的绑定前的寄存器地址?
      我意思是这明明是两个地址,第一个地址是寄存器真实的地址
      第二个地址也是实实在在存在于芯片里面的
      操作第二个地址就能达到操作第一个地址的效果,是单片机厂家给他们建立起了联系还是?
      给出个位绑定的关系式,关系式理解和怎么找到寄存器地址对应的位绑定的地址我也知道
捕获.JPG
下面是我对位绑定的理解,有偏差的地方大神请指正
就是意思SRAM和外设里面都是有寄存器的,
这些寄存器都是有对应的地址的
直接操作这个地址显然是可以让寄存器存的值发生变化
但是问题是直接操作这个寄存器只能32bit,32bit一次的这样的操作
有时候只是要改变这个寄存器32bit里面的一个bit的值为0或者1,或者读或者写,那么直接操作这个寄存器就比较麻烦了,相应的在这个地址里面给这些寄存器的地址外扩了,扩大原先的1Mb,SRAM里面扩大了原先的1Mb,片上外设区域里面扩大了原先的1Mb,
SRAM           0x2000 0000 - 0x200f ffff,这就正好是1Mb(1Mb=1024kb=1024*1024b)这里这么理解错了,应当是1MB,因为地址是按一个字节算一个数的
片上外设      0x4000 0000 - 0x400f ffff,同上也是1Mb  同上,也是MB
由外扩的公式可以看出,在0x2200 0000,或者0x4200 0000,这两个地址为开头的基础上,往后面分别的32MB的区域里面都有对应于原先寄存器的相对的地址,
在这32MB的空间里面,可以把原先的那些寄存器地址稀释,就和上面的公式的那种方法去稀释,这时候操作新的地址,也是一次进行32bit的操作,但是这个32bit只和原先的那个一个寄存器地址32bit里面的某一个bit建立起关系,具体关系的建立就是新的32bit的最低的那一位是啥原先的32bit中的那个对应的那个bit就是啥,

但是这里再注意一下这里寄存器的地址的外扩,扩大了32Mb,注意这里是Mb,不是MB(这里就说错了,应当是扩大了32MB,地址是8位算一个,也就是一个字节算一个的),MB的意思是1M个字节,Mb的意思是1M个bit,对于存储空间flash,什么256k,512k,1MB,是这样的定义的,他们的意思是256K个字节,一个字节(B)是8位也就是8bit,B是Byte,
那外扩的空间32Mb转化一下也是4MB啊(接蓝色字,这里应当是32MB),,我想也许有人可能也会突然好奇,我也好奇,SRAM,片上外设都扩了4MB,FLASH才多点大,是这么浪费吗,?求大神给纠正错误
我还有疑惑,SRAM里面的寄存器地址,这个是什么寄存器啊,干嘛用的,好像我们接触到的片上外设的那个地址都是从0x4000 0000开始的,SRAM里面干嘛的,另外这个地址外扩的这个一一对应是厂家给配置好的吗?意思是不管我用不用,这个外扩的地址都在这,操作外扩的地址可以达到操作寄存器地址相同的效果,换句话说就是不操作这个外扩的地址,不用它是一种浪费了,这是stm32厂家给的福利?

再给个片上flash地址的区域,
捕获3.JPG
这里可以看出是从0x0800 0000到0x0807 FFFF,而0x7FFFF是多大呢,是524287,那么算上0就是一共524288个字节空间,正好是512k,这里看出片上flash区域比SRAM和外设的地址要小的多啊,意思底下区域也就是低位的是片上flash,那么在看SRAM的区域是从0x2000 0000开始的,也就是片上flash最大能做到0x0000 0000 - 0x1FFF FFFF,也就是512MB的大小?要是从0x0800 0000 开始的话,那就是512MB-128MB,就是384MB,只是个人的猜想啊,其实主旨就是这个片上flash的地址,和SRAM地址,还有片上外设地址的对应关系?片上FLASH占据的地址原来很小很小的?
收藏 评论7 发布时间:2015-7-18 20:50

举报

7个回答
你好我好大家好! 回答时间:2015-7-19 19:36:51
顶起,坐等答案
dsjsjf 回答时间:2015-7-19 21:48:22
了解一下
beill8888 回答时间:2015-7-20 08:05:59
围观   
stary666 回答时间:2015-7-20 09:27:43
顶起,,,,,,,,,,,
JackieLaura 回答时间:2015-7-20 12:30:38
求大神给解释。。。。
轻描&淡写 回答时间:2016-8-14 23:37:50
楼主有答案了么?最近也在思考这个问题
轻描&淡写 回答时间:2016-8-15 14:23:56
博主你好 我今天找到了答案,分享给你

摘自蒙博宇[STM32自学笔记].推荐可以看看,这本书真的好单纯好不做作,跟外面那些妖艳贱货好不一样~
QQ截图20160815141902.png
QQ截图20160815141917.png

所属标签

STM32团队

意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器


最新内容

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版