2
\$\begingroup\$

I am looking to write a page program for this W25Q64FV Flash component. I want to use a full sector of 256-bytes.

I have learned that I must first make sure the section of memory I want to program is erased.

Erasing and programming a sector of memory can only be done if the sector of memory being programmed is not protected.

In the Flash component I am working with, the following memory diagram is provided:

enter image description here

Along with the following bit protection charts:

enter image description here

enter image description here

I am trying to understand how to read these diagrams.

One example: take Block 120. It falls in the Block 0 through 127 in 6.1.11, where protected addresses are 000000-7FFFFF. It also falls in a few other blocks with protected address ranges.

It seems like all the addresses are similar in that they are least partially protected. Would I be correct in saying that without editing the status register, it is not possible to write a full sector of memory?

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$
  1. Section 6.1.3 Block Protect Bits (BP2, BP1, BP0) of the W25Q64FV datasheet contains:

    The factory default setting for the Block Protection Bits is 0, none of the array protected.

  2. Section 6.1.6 Complement Protect (CMP) contains:

    The default setting is CMP=0.

The combination of the CMP, BP2, BP1 and BP0 bits have the default value of 0 means as per table 6.1.11 W25Q64FV Status Register Memory Protection (CMP = 0) shown in the question, none of the blocks are protected.

Therefore, for a device which has never had blocks protected via modifying the Status Register, it isn't necessary unprotect blocks prior to erase or program operations.

The block protection is an optional feature to allow an application to protect parts of the flash array.

\$\endgroup\$
0

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.