
D A T A
中文ê (E T)
( A D VA 权证
I N FO R M的T I O N)
软件功能和示例代码
表7.24
单Word程序
( LLD功能= lld_ProgramCmd )
周期
解锁周期1
解锁周期2
项目设置
节目
注意:
基地=基址。
手术
写
写
写
写
字节地址
基地+ AAAH
基地+ 554h
基地+ AAAH
字地址
字地址
基地+ 555H
基地+ 2AAh
基地+ 555H
字地址
数据
00AAh
0055h
00A0h
数据字
下面是一个使用单一的Word程序功能的C源代码示例。参阅
Spansion公司
底层驱动程序用户指南
(上www.spansion.com可用)对Spansion闪存的一般信息
存储软件开发的指导方针。
/ *例:程序命令
*/
*(( UINT16 *) BASE_ADDR + 0x555 )
*(( UINT16 *) BASE_ADDR + 0x2AA )
*(( UINT16 *) BASE_ADDR + 0x555 )
* ( ( UINT16 * ) PA)
/ *轮询程序完成* /
=
=
=
=
0x00AA;
0x0055;
0x00A0;
数据;
/*
/*
/*
/*
写
写
写
写
解锁周期1
解锁周期2
程序设置命令
数据要被编程
*/
*/
*/
*/
7.7.2
写缓冲区编程
写缓冲区编程允许系统在一个编程操作写最多32个字。
这导致更快的有效字编程时间比标准
字
编程算法。该
写缓冲区编程命令序列通过先写两个解锁周期开始。这之后是
通过含有写在扇区地址的写缓冲器加载命令的第三写周期中
会发生编程。在这一点上,系统将写入数
字的位置减1
这将是
装入在其中将发生编程的扇区地址的页缓冲器。这告诉该设备如何
很多写缓冲区地址将被装入的数据,因此,当期望的
程序缓冲区来
FL灰
确认命令。的位置,以节目的数量不能超过写入缓冲器或大小
操作将中止。 (注:写缓存器的大小取决于正在被加载的数据同样。
注意,加载的数目=的位置的数目进行编程减去1。例如,如果系统将
方案6的地址位置,然后值05h应写入到设备)。
该
写缓冲区
地址必须在同一扇区中用于装入写缓冲器中的所有地址/数据对。
但应当注意的是,写缓冲器编程不能跨越多个扇区进行。如果系统
试图加载所选择的外编程数据
写缓冲区
地址,手术后中止
写入到缓冲区命令执行。此外,起始地址必须是最显著的地址。所有
随后的地址和写缓存数据必须按顺序。
然后,系统写入的起始地址/数据组合。该起始地址是第一地址/数据
对要被编程,并且选择
写缓冲区页
地址。所有后续的地址/数据对绝
顺序排列。
写入起始地址/数据对后,系统然后将剩余的地址/数据对写入到
写缓冲区。写缓存位置必须按顺序装入开始在最低地址
页。需要注意的是,如果地址/数据对的数量做不匹配的字数,程序缓冲区闪光
命令将被忽略。
注意,如果一个写缓冲器地址位置被加载多次,所述
地址/数据对
计数器会
递减为每个数据加载操作。另外,最后的数据的位置处装载前
程序缓冲区
闪
确认指令将被编程到器件中。它是软件的责任
领悟加载一个写缓冲器位置多于一次的后果。计数器递减为每
数据加载操作,而不是为每一个独特的写缓冲区地址的位置。
一旦已加载的写入缓冲器位置指定号码,系统必须那么写
程序缓冲区到Flash
命令,在本部门的地址。任何其他地址/数据写入组合将
中止写入缓冲区编程操作。该设备将随后
去忙。
数据酒吧轮询技术
30
S29WS-P
S29WS - P_00_A7 2006年11月8日