保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

利用F206片内Flash进行在线编程


在访问存储单元模式(只读)时,从数据总线上读到的是存储单元中的数据;工作在访问寄存器模式(读/写)时,从数据总线读到的是寄存器的状态信息。因此,如果将写Flash的程序和将写入数据放在同一块Flash上,则对Flash写操作时需要切换工作模式,从而导致取指令时取到的是状态信息,Flash写操作失败,所以不能将程序和数据放在同一块Flash存储器上。
  
  3F206进行Flash“在线”擦写的基本步骤
  
  (1)模式切换
  
  Flash的“在线”编程由清“0”、置“1”和数据写入等操作组成。进行这些操作前首先要将Flash由存储器工作模式(mode1)切换至于寄存器工作模式(mode0)。F206中Flash存储器工作模式由映射于I/O地址中的两个寄存器控制,分别为F_ACCESS0寄存器(FFE0h)和F_ACCESS1寄存器(FFE1h)。向Flash模式控制寄存器的最低位写入0,则Flash工作于寄存器模式;反之写入1,则工作于存储器模式。复位后,自动处于存储器模式。如图2所示,两种工作模式之间切换后,Flash内容变化。处于模式1时,Flash存储器显示的是其所存储的数据;处于模式0时,Flash存储器显示寄存器的内容,并且以4个为一组重复显示于整个Flash块中。
  
  F206的Flash存储器块中只有4个寄存器SEG_CTR、TST、WADRS、WDATA,其余都是重复显示相同的内容,其功能如下所述。
  
  *SEG_CTR:片段控制寄存器,其高8位(MSBS)用于选择相应片段。该位置“1”,则使能相应的片段,可以进行擦写。因此F206
  
  
  
  中16K×16的Flash块分为8个片段,每个片段2KB.低8位(LSBS)用来控制Flash块的擦除、写入、校验等操作,如图3所示(各个控制位的具体设置方法请查阅TI相关参考资料)。
  
  *TST:测试寄存器,通常不用。(保留,用于测试。)
  
  *WADRS:写地址寄存器,用于存储写操作地址。
  
  *WDATA:写数据寄存器,用于存放写操作数据。
  
  (2)清“0”操作
  
  清“0”操作按扇区进行,F206的Flash每一区的大小为32个字(WORD)。进行清“0”操作就是对Flash存储单元的非零位(即值为“1”)写入0,使各数据位的边缘保持一致;通常的做法是将Flash存储单元中的数据读出,与FFFFh进行异或(XOR)后,再写回Flash存储单元中。清“0”操作后,需调用VER0功能对Flash块进行0校验。
  
  (3)置“1”操作
  
  置“1”操作按扇区进行,对每个存储单元写入“1”;执行置“1”操作后需要调用VER1功能进行校验。置“1”操作后,Flash块存储单元的值均为FFFFh。如果置“1”正确,则可以进行下一步的数据写入数据。
  
  图3
  
  (4)数据写入
  
  数据只能写入已经置“1”的存储单元,对于同Flash存储单元只能写一入一次;如要改变存储单元中的内容,必须重新进行清“0”和置“1”的操作后才能写入新的数据。否则,会使存储单元中各个数据位的“边缘”不一致,从单元中读出的数据与写入的数据不一致。由于Flash擦除次数有限,因此不可能每次修改和定改数据时都进行擦除操作,而

《利用F206片内Flash进行在线编程(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/142254.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。