加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

430flash的操作

发布时间:2020-12-15 17:52:13 所属栏目:百科 来源:网络整理
导读:大概印象:430的flash好像有点像arm的flash,只不过是arm的flash要比430的大很多,而且430的flash不同于E2PROOM,这一点需要值得注意 ? MSP430flash的基本特点: 1,拥有内置的编程电压发生器 2:可以进行位,字节,还有字的寻址 3:可以进行段擦除,和整体

大概印象:430的flash好像有点像arm的flash,只不过是arm的flash要比430的大很多,而且430的flash不同于E2PROOM,这一点需要值得注意

?

MSP430flash的基本特点:

1,拥有内置的编程电压发生器

2:可以进行位,字节,还有字的寻址

3:可以进行段擦除,和整体的擦除

注意:对flash进行操作的时候,flash的操作编程电压必须要大于2.7V,如果小于2.7v的话,将会出现不可预知的错误

?

还是先来看看430的整体的基本框图:这张框图集合了430flash的所有的操作

?

标号1,定时器发生器:注意这里的定时器的编程频率必须处于257KHz到476KHz之间,

标号2:编程电压发生器,这里必须产生一个大于2.7v的电压

标号3:三个可以操作的寄存器

标号4:这里就是flash区域,430的flash大小为4KB+256byte

其中4KB是主记忆区,256byte是信息记忆区

这里需要注意的是flash的擦除是以段为最小单位进行擦除,在主存储区4KB中,flash是以512个字节为一段,在信息存储区,256byte是以128个字节为一个段

?

430flash支持比特,字节还有块数据的写入,同时也支持三种擦除方式:1擦除一个段,2,擦除所有的主存储区,3擦除所有flash区域

?

?擦除

方式1:代码是从flash中取出

注意擦除flash的流程图,这里也是看懂这一个流程图就可以了

标号1:步骤一,要关闭所有的中断和看门狗,MSP430的低功耗模式设计,在擦除的时候,cpu被强制的挂起,这时,外部的所有中断不能响应,看门狗如果没有关闭,在擦除过程中会导致程序复位而产生不可预知的结果

标号2:设置flash的控制位和擦除模式

标号3:伪写入一个数据

标号4:重新唤醒cpu

?

方式2:代码是从RAM中取出的话,cpu可以让他不休眠,这样可以继续执行下面的代码

这是原先把flash中的程序拷贝到RAM中,之后在将pc程序指针指向RAM中的地址,那样就可以擦除flash了,这里也只是需要看懂擦鞋的流程图就可以了

?

当代码是从RAM中读出的时候,这是cpu就可以不必被强制挂起,这时候需要注意的是,还是要关闭程序的所有中断,并且要判断BUSY这个标志位,因为BUSY==1,表示flash正在进行读写操作,所以,要等BUSY==0的时候才能进行读写操作

这里看一下流程图就可以知道了

1:关闭所有的中断和看门狗

2:之后判断flash的操作状态,当flash没有进行操作的时候,进行如下的操作

3:设置flash的操作,和擦除的模式

4:伪写入

5:之后判断flash的操作状态,当flash没有进行操作的时候,重新开启中断还有看门狗

?

?

之后就是对flash的写操作

写操作可以有两种操作方式:1:字节和比特的写入,2:块写入

写操作与擦除的流程图是相似的,也分为从flash中读出指令,和从RAM中取出指令

这个时候的操作和擦除过程神似

?

还有就是块写入,就是在进行块写入的时候,写入的时间是不能超过累计编程时间的,累计编程时间是4毫秒,这是因为在对flash进行操作的时候,要对flash加一个比较高的电压,如果持续的时间过长,高电压会对flash有损坏,在进行块写入的时候代码必须是从RAM中取出

这是块写入的操作流程

?

版权所有,转载请注明链接地址:http://www.cnblogs.com/fengdashen/p/3376290.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读