赞
踩
一个是FLASH,一个是RAM
RAM是易失存储器,FLASH是非易失存储器,这是最直观的解释。
主要记住以下几点:
RAM(随机存储器):既可以从中读取数据,也可以写入数据,但电源关闭时,存于其中的数据就会丢失。
:RAM的读写速度相对FLASH是很快的,但是掉电丢失。
:heap stack data(变量)都在RAM中存储
FLASH(闪存):不会掉电丢失数据。主要用来存储代码和cost data
stm32中的RAM一般是SRAM(静态随机存储器),起始地址为0x20000000
Flash的起始地址为0x80000000.
也可以在设置里边看到
- int *p=(int*)0x20003000;
-
-
- *p=0xFCF;
这样就代表将值写入到了0x20000000这个地址了
点击memory窗口,在address中输入地址,就可以查看到
总共有8个数字变了颜色(这是16进制的数,相当于是一个是4位,两个相当于8位,即一个byte)
可以看到显示的是CF 0F 00 00
在STM32微控制器中,RAM的大小通常以字节(byte)为单位进行度量。
CPU:STM32F103RCT6,LQFP64,FLASH:64KB,RAM:20KB
1、写入值的值的大小取决于RAM的总大小以及选择的数据类型 例如 stm32F103C8T6的RAM为20kb 20*1024=20480个字节
2、并且想在0x20003000写入一个值,这个值的最大的大小为32的无符号整型 32位的无符号的整形占4个字节,意味写入的最大值为0xFFFFFFFF
3、注意写入的值有大小端的问题
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。