小菜刚开始接触单片机没多久,关于flash的理解,是一塌糊涂,请高手帮我讲解下flash,然后msp430 flash 的Main memory(64Kbyte) 即可以存代码,又可以做为eeprom使用,我怎样才能知道哪个地址里面存的是代码,哪个地址里面是我当做EEPROM可以使用的呢?我在写程序的时候,该怎样去指定地址?请高手指点下。谢谢!
一般注存储器存放代码,信息存储器可当做EEPROM存放数据。
楼主可以自己定义要存放的地址。
自定义存放代码的地址就要通过修改Linker文件来进行了!
或者CCS下的CMD文件。
我们平时所说的FLASH用来当EEPROM用,实际上FLASH是不能完全替代EEPROM的,只是用软件来处理可以让外部看起来像是一个EEPROM的区域。
1. 之前由于FLASH的擦写次数不够多,早起的FLASH只能擦写1000次,所以经常要改写的数据就需要保存在EEPROM中。
2. 现在FLASH的擦写普遍可以达到1W-10W次,所以我们就有了这种可能,用FLASH来保存需要经常改写的数据。
3. 由于FLASH的特性,我们在对数据进行改写的时候,必须先对整页进行擦除然后在字节写,所以,当我们更改FLASH的数据时,一般是先把该页数据读到缓存里,更改指定位置数据,然后擦除该页的FLASH,在进行写操作。
4. 而EEPROM却不存在这个操作,它支持字节的擦除和写操作,所以可以对任意位置的数据改写。
5. 为了让FLASH更方便地使用,MSP430提供一个INFO FLASH的区域,改区域的一个页面大小较小(64、128字节),这样我们使用该区域模拟EEPROM的时候,需要的缓存就小,页写的时间也大大缩小。
6. 如果不使用INFO FLASH区域,改区域也可以用做代码区使用。