CM3学习笔记(一)存储器系统

目录

前言

存储器映射

存储器的缺省访问

 位带操作

非对齐数据传输


前言

CM3有着非常复杂的存储器系统。对于原来只接触过51单片机的初学者来说,这种指令系统真的是令人头疼。

CM3的存储器系统可以说是有着脱胎换骨的变化,有着相当多的特性。我自己水平有限,在这里就简单说说自己对于这套系统的了解。

存储器映射

CM3的存储器的映射是预定义好的,规定了存储器的哪个位置使用哪条总线。CM3只有一个单一固定的存储器映射,无论是哪个芯片厂商生产的任何一款CM3单片机,器NVIC和MPU都在相同的位置。不过,虽然如此,CM3对于存储器所定出的条条框框仍然具有相当大的变化空间的。不同的芯片厂商生产的不同型号的单片机有着不相同的存储器空间分配的方法,这在我学习的一开始给我照成了相当大的困扰。

在学习前我们首先应该搞清楚实物单片机与理论上的CM3的差别。CM3理论上的SRAM的空间为512MB,地址为0X20000000--0X3FFFFFFF。但是在我用实物STM32F103ZE上这个SRAM只有64KB的大小,地址为0X20000000--0X20100000。类似的还有储存空间的代码区。CM3理论上给出的空间为从0X00000000到0X1FFFFFFF,总共为512MB。但是到实物上,代码区的空间为0X80000000--0X1FFFFFFF,总共为512KB。

这个问题我一开始并没有注意到,导致我在0X20100000以后的地址空间写数据时都无法成功写入,并且也解决了为什么我的PC指针总是0X80000000以后的数值(因为芯片制造商根本就没有给代码区0X80000000之前的空间,那么程序计数器指针当然不可能会有0X80000000之前的值!)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值