0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FLASH操作程序设计与存储器结构

2oON_changxuemc 来源:未知 作者:李倩 2018-03-30 16:02 次阅读

1,FLASH操作程序设计

下面我们来学习编程的内容。在学习编程前,我们要先了解一下FLASH存储模块的控制寄存器。

FLASH存储模块的所有操作都通过控制相关的控制寄存器来实现的。包括FCTL1、FCTL2、FCTL3三个控制寄存器,其中FCTL1主要包含对FLASH的编程和擦除操作的控制位;FCTL2主要定义进入时序发生器前的时钟源和分频系数;FCTL3保存FLASH存储模块的一些标志位。

2, FCTL1控制寄存器

FWKEY:FLASH存储模块的安全键值。共8位,对FLASH操作时应该向其中写入对应的安全键值,否则会引起PUC信号以及KEYV信号。0x96:读取时的安全键值;0x5A:写入时的安全键值。

BLKWRT:段编程控制位。当需要对某一个段或者几个段连续编程时,使用段编程方式可以加快编程的速度。1:使用段编程方式;0:不适用段编程方式。

WRT:编程控制位。当需要对FLASH编程时,必须对该位置位,否则会导致ACCVIFG(非法访问中断标志位)置位。1:允许对FLASH编程;0:禁止对FLASH编程。

MERAS:多段擦除控制位,当需要擦除多段时,对改为置位。1:擦除多段;0:不擦除。

ERASE:但段擦除控制位,当需要擦除一个段时,对该位进行置位。1:擦除一个段;0:不擦除。

3,FCTL2控制寄存器

FWKEY:FLASH存储模块的安全键值。共8位,对FLASH操作时应该向其中写入对应的安全键值,否则会引起PUC信号以及KEYV信号。0x96:读取时的安全键值;0x5A:写入时的安全键值。

FSSEL1~0:选择FLASH存储模块的时序发生器的时钟源。3:选择SMCLK;2:选择SMCLK;1:选择CMLK;0:选择ACLK。

FN5-0:为时序发生器的时钟源选择分频系数,最终的分频比为32*FN5+16*FN4+8*FN3+4*FN2+2*FN1+FN0+1.

4, FCTL3控制寄存器

FWKEY为安全键值,和前两个一样,我们不在赘述。

EMEX:紧急退出位。对该位置位能够紧急停止对FLASH的操作。1:紧急停止FLASH操作;0:不操作。

LOCK:FLASH锁定位。如果在该位置位时对FLASH进行擦除和写入操作会导致非法访问,对应的标志位ACCVIFGF置位。1:锁定FLASH存储模块,锁定时可读,但不可擦除和写入;0:不锁定FLASH存储模块,可读可写可擦除。

WAIT:等待标志位,用户通过读取该位的状态已获得FLASH存储器和段编程状态。1:段编程有效;0:段编程操作正在进行。

ACCVIFG:非法访问标志位。1:非法访问;0:没有非法访问。

KEYV:非法安全键值标志位。1:错误安全键值;0:正确的安全键值。

BUSY:FLASH存储模块忙标志位。1:当前FLASH存储模块忙;0:当前FLASH存储模块空闲。

5,单字节写入操作

程序时对单字节写入的操作,向Seg_A中的地址0x1090写入数据0xAA。从这个程序段,我们可以看出向FLASH写入的数据的基本流程,大部分与擦除还是很相似的。需要特别注意的是,在这段程序中我们省略了检测BUSY状态位的环节,并且在实际情况下,只要用户程序不是频繁的、交叉的操作FLASH存储模块,一般是需要检测BUSY位的。

对于多字节的写入操作,其基本操作方式单字节类似,只需要每次修改FLASH地址指针,并写入对应的数据即可。

6,段擦除操作

MSP430系列MCU尽管可以向FLASH存储模块的任意地址写入数据,但是擦除操作只能以段位基本单位操作,即最少只能擦除Seg_A和Seg_B段。从示例的程序中,可以看出段擦除的基本流程:除了启动擦除操作之前的基本设置,擦除之后的基本设置之外,还需特别注意的是:向要擦除的段(程序中位Seg_A)任意一个地址中写入任意数据以启动擦除操作。同样,这是一个简化的程序段,也没有检测BUSY等标志位。

这是一个非常经典的TI的关于FLASH存储模块的程序,在几乎所有的关于MSP430的书籍等资料上都可以看见他的身影。这段程序包含了擦除,段写入、段复制等操作,是一个非常好的例子。

需要特别注意的是:前面的程序仅仅是一个示例,当你在很复杂的程序中操作FLASH前,一定要先禁止所有的中断并禁用看门狗,切记切记。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6031

    文章

    44510

    浏览量

    632560
  • FlaSh
    +关注

    关注

    10

    文章

    1619

    浏览量

    147718
  • 存储器
    +关注

    关注

    38

    文章

    7445

    浏览量

    163571

原文标题:MSP430单片机的FLASH与存储器结构(3)

文章出处:【微信号:changxuemcu,微信公众号:畅学单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    求助 数据存储器 FLASH程序存储器 FLASH数据存储器的区别

    数据存储器 FLASH程序存储器 FLASH数据存储器 片内RAM数据
    发表于 11-29 09:50

    stm32存储结构& 存储器映射

    。RM0008文档中可以看出,STM32采用的是Cortex-M3内核,因此,有必要了解Cortex-M3的存储器结构。图中还可以看出,Cortex-M3是通过各个总线和Flash、SROM相连接的。2
    发表于 08-14 09:22

    Flash存储器的相关资料推荐

    最近工作上需要对英飞凌XC886这款单片机的Flash进行读写,以下为简要的几点总结:一、Flash存储器结构:XC886共有32KFlash,地址映射如下图所示:共三块P-
    发表于 01-26 06:46

    Flash存储器概述

      Flash 存储器的简介   在众多的单片机中都集成了 Flash 存储器系统,该存储器系统可用作代码和数据
    发表于 11-11 18:25 4939次阅读
    <b class='flag-5'>Flash</b><b class='flag-5'>存储器</b>概述

    ARM基础应用实验_Flash存储器

    ARM嵌入式应用程序架构设计实例精讲--ARM基础应用实验05Flash存储器
    发表于 07-08 11:08 0次下载

    flash存储器在线编程

    高、低功耗、成本较低等特点。一般我们都认为Flash储存器具备固有不挥发性、易更新性,可靠性好的基本特性。 从 Flash储存的基本特点可以看出,在单片机中,可以利用F1ash存储器
    发表于 10-11 18:57 4033次阅读
    <b class='flag-5'>flash</b><b class='flag-5'>存储器</b>在线编程

    flash存储器的读写原理及次数

    程序)、PDA(个人数字助理)、数码相机中保存资料等。本文将探讨FLASH存储器的读写原理及次数。 FLASH存储器的读写原理
    发表于 10-13 16:34 2.1w次阅读

    FLASH的特点和结构与基于FLASH介质嵌入式存储的设计

    FLASH(闪速存储器)作为一种安全、快速的存储体,具有体积小、容量大、成本低、掉电数据不丢失等一系列优点,已成为嵌入式系统中数据和程序最主要的载体。由于
    发表于 10-15 10:15 6次下载
    <b class='flag-5'>FLASH</b>的特点和<b class='flag-5'>结构</b>与基于<b class='flag-5'>FLASH</b>介质嵌入式<b class='flag-5'>存储</b>的设计

    闪存存储器的功能概述和程序中文资料概述

    Flash控制提供了一个友好的用户接口,使得Flash存储器可以在应用程序的控制下进行擦除、编程等
    发表于 05-09 10:28 7次下载
    闪存<b class='flag-5'>存储器</b>的功能概述和<b class='flag-5'>程序</b>中文资料概述

    24C02读写操作程序设计实例,24C02 read / write process

    24C02读写操作程序设计实例,24C02 read / write process 关键字:24C02读写操作程序设计实例 24C02
    的头像 发表于 09-20 19:41 1504次阅读

    如何区分各种存储器(ROM、RAM、FLASH

    相信有很多人都对计算机里的各种存储器(ROM、RAM、FLASH 等等)傻傻分不清,就会存在,内存条是 dram 还是 nand?nand flash 和 nor flash 的区别又
    的头像 发表于 12-17 14:56 1.1w次阅读

    【转】PIC单片机的 程序存储器,数据存储器,EEPROM区别

    PIC的程序存储器FLASH存储器,主要存储程序代码,掉电不丢失。 数据
    发表于 11-16 13:06 13次下载
    【转】PIC单片机的 <b class='flag-5'>程序</b><b class='flag-5'>存储器</b>,数据<b class='flag-5'>存储器</b>,EEPROM区别

    51汇编(一):存储器结构

    文章目录内存结构程序存储器数据存储器通用寄存区位寻址区一般RAM区特殊功能寄存区内存
    发表于 11-23 09:36 13次下载
    51汇编(一):<b class='flag-5'>存储器</b><b class='flag-5'>结构</b>

    Flash存储器的工作原理和基本结构

      Flash存储器是一种非易失性存储器,即使在供电电源关闭后仍能保持片内信息。
    发表于 09-09 16:22 5412次阅读

    EEPROM与Flash存储器的区别

    可编程只读存储器)和Flash存储器是两种常见的非易失性存储器,它们具有各自的特点和应用场景。本文将深入分析和比较EEPROM与Flash
    的头像 发表于 05-23 16:35 5383次阅读