W25Qxx页写入的注意事项

一、结论:

1、每次页编程、扇区擦除、块擦除、芯片擦除和写状态寄存器指令之前都需要先发送“写使能”指令(即发送命令0x06);

2、W25Qxx一次最多只能写一页(256字节),且一个指令帧不能跳页写;

3、因为nordic的SPIM每次只能发送255个字节,而在写入数据时,包含1字节指令,3字节地址,因此一次最多只能发送251字节的数据;

二、问题

        问题1:什么是跳页写?

        W25Qxx每一页地址是固定的,0x000000~0x0000FF为第一页,0x000100~0x0001FF为第二页,以此类推;假设我们现在要将20个数据通过一个指令帧写入到0x0000F0~0x000103就是跳页写,其中0x0000F0~0x0000FF为一页,0x000100~0x000103为另一页

        问题2:跳页写会产生什么问题?

        如果发生了跳页写,原本希望写到第二页的数据会从当前页的第一字节开始重新写入,并依次进行按位与“动作”,将结果写入到flash中(注意并不是覆盖,因为flash只能写0不能写1)

三、验证:

1、图1-1,图1-2与图1-3是程序示例,表示将gImageLight1中的数据分两次写入到flahs中,之后读出flash中的数据,图

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
W25Qxx 是一款常用的闪存芯片,它使用 SPI 总线进行数据通信,是许多嵌入式系统的不可或缺的部件。Verilog 是一种硬件描述语言,可以用来描述电路的行为模型和结构。W25Qxx Verilog 是将 W25Qxx 闪存芯片的行为模型和控制器的硬件实现用 Verilog 语言描述出来。 W25Qxx Verilog 的实现包括对 W25Qxx 芯片的 FPGA 硬件平台,SPI 原语(Primitive)和 SPI 控制器的集成设计。为了将闪存芯片和 FPGA 驱动程序连接起来,需要使用 SPI 协议控制器。设计时需要确保 SPI 控制器和芯片的工作方式兼容,并且不会产生冲突。控制器可以支持多种不同的 SPI 命令,包括写入、读取、擦除和其他控制命令。 在实现了 W25Qxx 芯片控制器之后,可以通过使用各种模拟工具进行仿真和测试。在进行测试时需要逐步验证 SPI 的基本功能,包括初始化、写入、读取、擦除和保护等,以确保闪存芯片能够按预期方式正常工作。在应用程序调试阶段可以使用 JTAG 或其他 Debug 工具来检测系统是否正常工作,并且可以通过波形跟踪分析数据传输和电信号传递的行为。 总的来说, W25Qxx Verilog 实现的目的是为了方便嵌入式系统开发人员通过硬件描述语言实现 W25Qxx 芯片驱动程序的硬件实现,并将其与特定的 FPGA 硬件平台集成。这种硬件描述语言实现可以提高系统的性能和可靠性,并且更易于开发人员进行定制和控制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值