打印

MSP430 Flash 问题

[复制链接]
6486|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
msp430 flash 的Main memory(64Kbyte) 即可以存代码,又可以做为eeprom使用,我怎样才能知道哪个地址里面存的是代码,哪个地址里面是我当做EEPROM可以使用的呢?我在写程序的时候,该怎样去指定地址?请高手指点下。谢谢!

相关帖子

沙发
创展和众| | 2012-1-28 00:58 | 只看该作者
一般注存储器存放代码,信息存储器可当做EEPROM存放数据。
楼主可以自己定义要存放的地址。

使用特权

评论回复
板凳
TI_MCU| | 2012-1-29 11:50 | 只看该作者
本帖最后由 TI_MCU 于 2012-1-29 11:51 编辑

不知道楼主用的什么器件,但下面这幅MSP430x1xx系列的图应该可以说明问题:


在430里面,flash地址分为主存(main memory)和信息内存(information memory)两块,其中信息内存主要被用来存放信息。二者只是地址不同,使用起来没有区别。

建议楼主使用器件手册中指定的information memory地址范围存储数据

使用特权

评论回复
地板
teabottle| | 2012-1-29 14:48 | 只看该作者
自定义存放代码的地址就要通过修改Linker文件来进行了!
或者CCS下的CMD文件。

使用特权

评论回复
5
wangjinlili| | 2012-1-29 15:48 | 只看该作者
我们平时所说的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区域,改区域也可以用做代码区使用。

使用特权

评论回复
6
meishizhaoshi| | 2012-1-29 16:00 | 只看该作者
信息存储器可当做EEPROM存放数据。

使用特权

评论回复
7
去耦滤波| | 2012-1-29 17:00 | 只看该作者
修改Linker文件

使用特权

评论回复
8
u880| | 2012-1-29 17:06 | 只看该作者
由于FLASH的特性,我们在对数据进行改写的时候,必须先对整页进行擦除然后在字节写,所以,当我们更改FLASH的数据时,一般是先把该页数据读到缓存里,更改指定位置数据,然后擦除该页的FLASH,在进行写操作。

使用特权

评论回复
9
peter_zheng| | 2012-1-29 18:41 | 只看该作者
1# jinpaidianzi 自定义存放代码的地址就要通过修改Linker文件来进行或者CCS下的CMD文件。

使用特权

评论回复
10
rankgrass| | 2012-9-1 09:18 | 只看该作者
4# teabottle
怎么修改linker文件啊!求详解,或者有哪个帖子有说明的吗!
本人正在做这块,实在不清楚,请赐教啊!

使用特权

评论回复
11
第二个小江| | 2012-9-1 14:39 | 只看该作者
如果觉得修改LINKER文件有困难,也有一种方法可以安全地使用MAIN FLASH区。在IAR的OPTION勾选生成MAP文件,MAP文件里可以看到当前程序编译后的大小,complier一般会从低地址向高地址生成HEX文件,比如MCU的FLASH大小为32K,MAP中CODE区(即代码区)大小为15K,为了日后程序代码增加,可把前20K假设为应用程序占用的区域,后12K做为用户数据保存区,FLASH的读写API只访问后12K的地址空间即可,这种不修改LINKER文件的方法,需要随时关注程序是否超过了20K的范围,如果超过则用户数据区就要后移,不然FLASH写API会破坏程序。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

115

主题

1489

帖子

1

粉丝