W25N01GVXX Part Drivers API Documentation

This page documents the API of the W25N01GVXX Part Drivers.

An overview of the driver is also available here: main_doc .

Functions

Functions

int32_t w25n01gvxx_io_init ( w25n01gvxx_io_t * pio )

Initializes the IO layer. This specific implementation does nothing.

Note

This function must be overridden (using codegen or otherwise with a proper implementation).

Return values :

1 – (always fail)

w25n01gvxx_status_t w25n01gvxx_reset ( w25n01gvxx_obj_t * pobj )

Resets the W25N01GVXX NAND flash memory.

Parameters :

pobj – : W25N01GVXX part Object Pointer

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_init ( w25n01gvxx_obj_t * pobj , uint32_t dev_id )

Initializes the W25N01GVXX NAND flash memory.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • dev_id – : Instance ID

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_deinit ( w25n01gvxx_obj_t * pobj )

De-initializes the W25N01GVXX NAND flash memory.

Parameters :

pobj – : W25N01GVXX part Object Pointer

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_read_id ( w25n01gvxx_obj_t * pobj , uint8_t * pid )

Reads the W25N01GVXX NAND flash memory ID.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • pid – : Pointer to store the part ID (4 bytes)

Return values :

error – status

w25n01gvxx_info_t w25n01gvxx_get_info ( w25n01gvxx_obj_t * pobj )

Gets Flash information.

Parameters :

pobj – : W25N01GVXX Part Object Pointer

Return values :

memory's – information structure

w25n01gvxx_status_t w25n01gvxx_read_protection_register ( w25n01gvxx_obj_t * pobj , uint8_t * p_value )

Reads the W25N01GVXX protection register value.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • p_value – : Pointer to store the protection register’s value (1 byte)

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_read_config_register ( w25n01gvxx_obj_t * pobj , uint8_t * p_value )

Reads the W25N01GVXX configuration register value.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • p_value – : Pointer to store configuration register’s value (1 byte)

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_read_status_register ( w25n01gvxx_obj_t * pobj , uint8_t * p_value )

Reads the W25N01GVXX status register value.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • p_value – : Pointer to store the status register’s value (1 byte)

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_get_status ( w25n01gvxx_obj_t * pobj )

Reads the W25N01GVXX status register and returns the memory status.

Parameters :

pobj – : W25N01GVXX part Object Pointer

Return values :

memory – status

w25n01gvxx_status_t w25n01gvxx_write_protection_register ( w25n01gvxx_obj_t * pobj , uint8_t value )

Writes the W25N01GVXX protection register.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • value – : The 8-bits data we want to write to the protection register

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_write_config_register ( w25n01gvxx_obj_t * pobj , uint8_t value )

Writes the W25N01GVXX configuration register.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • value – : The 8-bits data we want to write to the configuration register

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_set_read_mode ( w25n01gvxx_obj_t * pobj , w25n01gvxx_read_mode read_mode )

Sets the read mode of the memory (buffered/continuous).

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • read_mode – : the read mode to set

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_get_read_mode ( w25n01gvxx_obj_t * pobj , w25n01gvxx_read_mode * read_mode )

Gets the read mode of the memory (buffered/continuous).

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • p_read_mode – : pointer to store the read mode

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_enable_ecc ( w25n01gvxx_obj_t * pobj )

Sets the ECC-E bit of the configuration register.

Parameters :

pobj – : W25N01GVXX part Object Pointer

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_disable_ecc ( w25n01gvxx_obj_t * pobj )

Resets the ECC-E bit of the configuration register.

Parameters :

pobj – : W25N01GVXX part Object Pointer

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_get_ecc_state ( w25n01gvxx_obj_t * pobj , w25n01gvxx_ecc_state * p_ecc_state )

Gets the ECC-E bit state of the memory (enabled/disabled).

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • p_ecc_state – : pointer to store the ECC state

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_write_enable ( w25n01gvxx_obj_t * pobj )

Sets the Write Enable Latch (WEL) bit in the Status Register.

Parameters :

pobj – : W25N01GVXX part Object Pointer

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_write_disable ( w25n01gvxx_obj_t * pobj )

Resets the Write Enable Latch (WEL) bit in the Status Register to a 0.

Parameters :

pobj – : W25N01GVXX part Object Pointer

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_write ( w25n01gvxx_obj_t * pobj , uint16_t block , uint8_t page , uint8_t * p_buff , uint32_t size_byte )

Writes an amount of data into the memory.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • block – : Block number that we want to write into it

  • page – : Page number that we want to start writing from

  • p_data – : Pointer to source buffer

  • size_byte – : size of data to write in bytes.

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_read ( w25n01gvxx_obj_t * pobj , uint16_t block , uint8_t page , uint8_t * p_buff , uint32_t size_byte )

Reads one or more data bytes from the w25n01gvxx physical memory.

Note

In buffered mode (W25N01GVXX_BUFFER_MODE), the maximum size supported is 2048 bytes. The read mode can be modified using the w25n01gvxx_set_read_mode() API.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • block – : Block number that we want to read from it

  • page – : Page number that we want to read

  • p_buff – : Pointer to destination read buffer

  • size_byte – : Size of data to read in bytes

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_page_copy ( w25n01gvxx_obj_t * pobj , uint16_t src_block , uint8_t src_page , uint16_t dest_block , uint8_t dest_page )

Copy the content of a source page into a destination page.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • src_block – : The source block we want to copy from it

  • src_page – : The source page we want to copy from it

  • dest_block – : The destination block we want to copy into

  • dest_page – : The destination page we want to copy into

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_read_spare_area ( w25n01gvxx_obj_t * pobj , uint16_t block , uint8_t page , uint8_t sector , uint8_t * p_buff )

Reads the content of the spare area sector.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • block – : Block number of the spare area

  • page – : Page number of the spare area

  • sector – : Sector number of the spare area (range: 0 to 3)

  • p_buff – : Pointer to destination 16 bytes buffer for the spare sector.

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_write_spare_area ( w25n01gvxx_obj_t * pobj , uint16_t block , uint8_t page , uint8_t sector , uint8_t * p_buff )

Writes data into spare area sector.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • block – : Block number of the spare area

  • page – : Page number of the spare area

  • sector – : Sector number of the spare area (range: 0 to 3)

  • p_buff – : Pointer to source 16 bytes buffer to write

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_erase_blocks ( w25n01gvxx_obj_t * pobj , uint16_t start_block , uint16_t num_blocks )

Erases sequentially one or multiple blocks from the W25N01GVXX NAND flash memory.

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • start_block – : Start block number

  • num_blocks – : Number of blocks we want to erase

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_full_chip_erase ( w25n01gvxx_obj_t * pobj )

Erases the whole W25N01GVXX chip.

Parameters :

pobj – : W25N01GVXX part Object Pointer

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_read_spare_area_dma ( w25n01gvxx_obj_t * pobj , uint16_t block , uint8_t page , uint8_t sector , uint8_t * p_buff )
w25n01gvxx_status_t w25n01gvxx_write_spare_area_dma ( w25n01gvxx_obj_t * pobj , uint16_t block , uint8_t page , uint8_t sector , uint8_t * p_buff )

Writes data into spare area sector using DMA (async)

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • block – : Block number of the spare area

  • page – : Page number of the spare area

  • sector – : Sector number of the spare area (range: 0 to 3)

  • p_buff – : Pointer to source 16 bytes buffer to write

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_write_dma ( w25n01gvxx_obj_t * pobj , uint16_t block , uint8_t page , uint8_t * p_buff , uint32_t size_byte )

Writes an amount of data into the memory using DMA (async)

Parameters :
  • pobj – : W25N01GVXX part Object Pointer

  • block – : Block number that we want to write into it

  • page – : Page number that we want to write

  • p_buff – : Pointer to source buffer

  • size_byte – : size of data to write in bytes.

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_register_read_cplt_callback ( w25n01gvxx_obj_t * pobj , w25n01gvxx_callback_t cb , void * arg )

Registers the read complete callback function.

Parameters :
  • pobj – : Pointer to part object

  • cb – : Pointer to the callback function

  • arg – : Pointer to the user data.

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_register_write_cplt_callback ( w25n01gvxx_obj_t * pobj , w25n01gvxx_callback_t cb , void * arg )

Registers the write complete callback function.

Parameters :
  • pobj – : Pointer to part object

  • cb – : Pointer to the callback function

  • arg – : Pointer to the user data

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_register_spare_read_cplt_callback ( w25n01gvxx_obj_t * pobj , w25n01gvxx_callback_t cb , void * arg )

Registers the spare area read complete callback function.

Parameters :
  • pobj – : Pointer to part object

  • cb – : Pointer to the callback function

  • arg – : Pointer to the user data.

Return values :

error – status

w25n01gvxx_status_t w25n01gvxx_register_spare_write_cplt_callback ( w25n01gvxx_obj_t * pobj , w25n01gvxx_callback_t cb , void * arg )

Registers the spare area write complete callback function.

Parameters :
  • pobj – : Pointer to part object

  • cb – : Pointer to the callback function

  • arg – : Pointer to the user data

Return values :

error – status

w25n01gvxx_async_write_phase_t w25n01gvxx_get_async_write_phase ( w25n01gvxx_obj_t * pobj )

Gets the current phase of the asynchronous write state machine.

Return values :

asynchronous – write phase

w25n01gvxx_async_read_phase_t w25n01gvxx_get_async_read_phase ( w25n01gvxx_obj_t * pobj )

Gets the current phase of the asynchronous read state machine.

Return values :

asynchronous – read phase

Types

Enums

enum w25n01gvxx_status_t

Values:

enumerator W25N01GVXX_OK
enumerator W25N01GVXX_ERROR
enumerator W25N01GVXX_READY
enumerator W25N01GVXX_BUSY
enumerator W25N01GVXX_FAIL
enum w25n01gvxx_read_mode

Enumeration defining the Read Mode of the W25N01GVXX.

Values:

enumerator W25N01GVXX_BUFFER_MODE
enumerator W25N01GVXX_CONTINUOUS_MODE
enum w25n01gvxx_ecc_state

Enumeration defining the ECC state of the W25N01GVXX.

Values:

enumerator W25N01GVXX_ECC_DISABLED
enumerator W25N01GVXX_ECC_ENABLED
enum w25n01gvxx_init_state_t

Enumeration defining the W25N01GVXX init state.

Values:

enumerator W25N01GVXX_INIT_NONE

Instance is not initialized

enumerator W25N01GVXX_INIT_OK

Instance is initialized

enum w25n01gvxx_async_write_phase_t

Values:

enumerator W25N01GVXX_ASYNC_WRITE_IDLE

Idle state - No ongoing transfer

enumerator W25N01GVXX_ASYNC_WEL

Send the write enable cmd - step 1

enumerator W25N01GVXX_ASYNC_LOAD_CMD

Send the load buffer cmd - step 2

enumerator W25N01GVXX_ASYNC_LOAD_BUF

Load the buffer with data - step 3

enumerator W25N01GVXX_ASYNC_EXEC_LOAD

Write the data from the buffer to the physical memory - step 4

enum w25n01gvxx_async_read_phase_t

Values:

enumerator W25N01GVXX_ASYNC_READ_IDLE

Idle state - No ongoing transfer

enumerator W25N01GVXX_ASYNC_READING

Read transfer ongoing

enum w25n01gvxx_spare_area_transfer_t

Values:

enumerator W25N01GVXX_ASYNC_SPARE_TRANSFER_IDLE

Idle state - No ongoing transfer

enumerator W25N01GVXX_ASYNC_SPARE_TRANSFER_ONGOING

Spare area transfer ongoing

Typedefs

typedef struct w25n01gvxx_obj_s w25n01gvxx_obj_t
typedef void ( * w25n01gvxx_callback_t ) ( w25n01gvxx_obj_t * pobj , void * arg )
struct w25n01gvxx_obj_s

W25N01GVXX object structure

Public Members

w25n01gvxx_init_state_t is_initialized

Init state

w25n01gvxx_io_t io

IO interface

w25n01gvxx_read_mode read_mode

Memory Read Mode

volatile uint32_t inhibit_callbacks

Used for multi-pages writes

w25n01gvxx_callback_ctx_t rd_cb_ctx

Read complete: Callback data

w25n01gvxx_callback_ctx_t wr_cb_ctx

Write complete: Callback data

w25n01gvxx_callback_ctx_t spare_rd_cb_ctx

Spare area read complete: Callback data

w25n01gvxx_callback_ctx_t spare_wr_cb_ctx

Spare area write complete: Callback data

w25n01gvxx_async_read_phase_t rd_phase

Async write phase

w25n01gvxx_async_write_phase_t wr_phase

Async read phase

w25n01gvxx_spare_area_transfer_t spare_phase

Async Spare area read/write tracker

uint8_t current_page

Current write page - async writes

uint16_t current_block

Current write block - async writes

uint8_t * p_buff

Pointer to the write buffer - async writes

uint32_t size_byte

Total write data size - async writes

uint16_t column_addr

Start column address - async writes

uint32_t nb_transfer

Number of pages to write - async writes

Constants and macros

Defines

W25N01GVXX_SPI_POLL_TIMEOUT 1000U

Default SPI timeout (1s)

W25N01GVXX_CS_PIN_SET HAL_GPIO_PIN_SET

Select the W25N01GVXX memory

W25N01GVXX_CS_PIN_RESET HAL_GPIO_PIN_RESET

Deselect the W25N01GVXX memory W25N01GVZEIG ID

W25N01GVXX_CHIPID 0xEFAA21

Dummy byte value

W25N01GVXX_DUMMY_BYTE 0x00U
W25N01GVXX_NUM_OF_BLOCK 1024U

1024 blocks

W25N01GVXX_NUM_PAGE_PER_BLOCK 64U

Number of pages per block => 64 pages

W25N01GVXX_NUM_SPARE_SECTOR_IN_PAGE 4U /*! < Number of spare columns per page */
W25N01GVXX_SPARE_SECTOR_SIZE 16U /*! < Size of each spare column */
W25N01GVXX_NUM_OF_SECTOR_IN_PAGE 4U

Each page contain 4 sectors

W25N01GVXX_SECTOR_SIZE 512U

Sector size is 512-Byte

Total number of pages => 65536

W25N01GVXX_PAGE_COUNT ( W25N01GVXX_NUM_PAGE_PER_BLOCK * W25N01GVXX_NUM_OF_BLOCK )

Each page size 2048

W25N01GVXX_PAGE_MEM_SIZE ( W25N01GVXX_NUM_OF_SECTOR_IN_PAGE * W25N01GVXX_SECTOR_SIZE )

Size of spare Area per page

W25N01GVXX_PAGE_SPARE_SIZE ( W25N01GVXX_NUM_SPARE_SECTOR_IN_PAGE * W25N01GVXX_SPARE_SECTOR_SIZE )

In CONTINUOUS read mode : 2048

W25N01GVXX_DATA_PAGE_SIZE ( W25N01GVXX_PAGE_MEM_SIZE )

In BUFFER read mode : 2112

W25N01GVXX_FULL_PAGE_SIZE ( W25N01GVXX_PAGE_MEM_SIZE + W25N01GVXX_PAGE_SPARE_SIZE )

Flash Size (2048*65536) = 128 M-Bytes

W25N01GVXX_FLASH_SIZE ( W25N01GVXX_DATA_PAGE_SIZE * W25N01GVXX_PAGE_COUNT )

Erase Block Size

W25N01GVXX_BLOCK_SIZE ( W25N01GVXX_NUM_PAGE_PER_BLOCK * W25N01GVXX_DATA_PAGE_SIZE )

Spare area user data section properties

W25N01GVXX_SPARE_USER_DATA1_OFFSET 4U

User data 1 offset from spare area start

W25N01GVXX_SPARE_USER_DATA1_SIZE 4U

Size of the User data 1 section (4 bytes)

W25N01GVXX_SPARE_USER_DATA2_OFFSET 2U

User data 21 offset from spare area start

W25N01GVXX_SPARE_USER_DATA2_SIZE 2U

Size of the User data 2 section (4 bytes)

W25N01GVXX_CMD_RESET 0xFFU

W25N01GVZEIG Reset Memory

W25N01GVXX_CMD_DEVICE_ID 0x9FU

W25N01GVZEIG read ID

W25N01GVXX_CMD_READ_REG_STATUS1 0x05U

Read status register

W25N01GVXX_CMD_READ_REG_STATUS2 0x0FU

Read status register

W25N01GVXX_CMD_WRITE_REG_STATUS1 0x01U

Write status register

W25N01GVXX_CMD_WRITE_REG_STATUS2 0x1FU

Write status register

W25N01GVXX_CMD_WRITE_ENABLE 0x06U

Write Enable

W25N01GVXX_CMD_WRITE_DISABLE 0x04U

Write disable

W25N01GVXX_CMD_BAD_BLOCK_MANAGE 0xA1U

Bad Block Management command

W25N01GVXX_CMD_READ_BBM_TABLE 0xA5U

Read BBM Look Up Table

W25N01GVXX_CMD_LAST_ECC_FAIL_PAGE 0xA9U

Last ECC Failure Page Address

W25N01GVXX_CMD_BLOCK_ERASE 0xD8U

128KB Block Erase

W25N01GVXX_CMD_LOAD_DATA 0x02U

Load Program Data

W25N01GVXX_CMD_RND_LOAD_DATA 0x84U

Random Load Program Data

W25N01GVXX_CMD_QUAD_LOAD_DATA 0x32U

Quad Load Program Data

W25N01GVXX_CMD_QUAD_RND_LOAD_DATA 0x34U

Quad Random Load Program Data

W25N01GVXX_CMD_EXECUTE 0x10U

Program Execute

W25N01GVXX_CMD_PAGE_READ_DATA 0x13U

Page Data Read

W25N01GVXX_CMD_READ_DATA 0x03U

Read Data

W25N01GVXX_CMD_FAST_READ 0x0BU

Fast Read

W25N01GVXX_CMD_FAST_READ_4BYTE_ADDR 0x0CU

Fast Read with 4-Byte Address

W25N01GVXX_CMD_FAST_READ_DUAL_OUT 0x3BU

Fast Read Dual Output

W25N01GVXX_CMD_FAST_READ_DUAL_OUT_4BYTE_ADDR 0x3CU

Fast Read Dual Output with 4-Byte Address

W25N01GVXX_CMD_FAST_READ_QUAD_OUT 0x6BU

Fast Read Quad Output

W25N01GVXX_CMD_FAST_READ_QUAD_OUT_4BYTE_ADDR 0x6CU

Fast Read Quad Output with 4-Byte Address

W25N01GVXX_CMD_FAST_READ_DUAL_IO 0xBBU

Fast Read Dual I/O

W25N01GVXX_CMD_FAST_READ_IO_4BYTE_ADDR 0xBCU

Fast Read Dual I/O with 4-Byte Address

W25N01GVXX_CMD_FAST_READ_QUAD_IO 0xEBU

Fast Read Quad I/O

W25N01GVXX_CMD_FAST_READ_QUAD_IO_4BYTE_ADDDR 0xECU

Fast Read Quad I/O with 4-Byte Address

W25N01GVXX_REG_STATUS_1 0xA0U

Protection Register

W25N01GVXX_REG_STATUS_2 0xB0U

Configuration Register

W25N01GVXX_REG_STATUS_3 0xC0U

Status Only Register

W25N01GVXX_RS1_WRITE_PROTECTION_ENABLE 0x02U

WP Enable

W25N01GVXX_RS1_SRP1_ENABLE 0x01U

Status Register Protect 1 enable

W25N01GVXX_RS1_SRP0_ENABLE 0x80U

Status Register Protect 0 enable

W25N01GVXX_RS1_WRITE_PROTECTION_DISABLE 0x00U

Disable protection

W25N01GVXX_RS1_PROTECT_LOWER_64MB 0x4CU
W25N01GVXX_RS1_PROTECT_LOWER_32MB 0x44U
W25N01GVXX_RS1_PROTECT_LOWER_16MB 0x3CU
W25N01GVXX_RS1_PROTECT_LOWER_8MB 0x34U
W25N01GVXX_RS1_PROTECT_LOWER_4MB 0x2CU
W25N01GVXX_RS1_PROTECT_UPPER_64MB 0x48U
W25N01GVXX_RS1_PROTECT_UPPER_32MB 0x20U
W25N01GVXX_RS1_PROTECT_UPPER_16MB 0x38U
W25N01GVXX_RS1_PROTECT_UPPER_8MB 0x30U
W25N01GVXX_RS1_PROTECT_UPPER_4MB 0x28U
W25N01GVXX_RS1_PROTECT_ALL 0x60U
W25N01GVXX_RS1_DEFAULT 0x7CU

Register status 1 Default Value

W25N01GVXX_RS2_BUFFERED_READ_MODE 0x08U

Buffer Read Mode

W25N01GVXX_RS2_PAGE_CONTINOUS_READ_MODE 0x00U

Continuous Read Mode Bit

W25N01GVXX_RS2_ECC_ENABLED 0x10U

ECC Enable Bit (ECC-E)

W25N01GVXX_RS2_OTP_LOCK 0x80U

One Time Program Lock Bit (OTP-L)

W25N01GVXX_RS2_OTP_ACCESS 0x40U

Enter OTP Access Mode Bit (OTP-E)

W25N01GVXX_RS2_REG_STATUS_1_LOCK 0x20U

Status Register-1 Lock Bit (SR1-L)

W25N01GVXX_RS2_DEFAULT 0x18U

Register status 2 Default Value

W25N01GVXX_RS3_S0_BUSY 0x01U

Erase/Program In Progress (BUSY)

W25N01GVXX_RS3_S1_WEL 0x02U

Write Enable Latch (WEL)

W25N01GVXX_RS3_S2_EFAIL 0x04U

Erase Failure

W25N01GVXX_RS3_S3_PFAIL 0x08U

Program Failure

W25N01GVXX_RS3_S4_ECC0 0x10U

Cumulative ECC Status ECC0

W25N01GVXX_RS3_S5_ECC1 0x20U

Cumulative ECC Status ECC1

W25N01GVXX_RS3_S6_LUTF 0x40U

Look-Up Table Full (LUT-F)

W25N01GVXX_RS3_DEFAULT 0x00U

Register status 3 Default Value

SECTOR0_OFFSET_ADDRESS 0x0000U
SECTOR1_OFFSET_ADDRESS 0x0200U
SECTOR2_OFFSET_ADDRESS 0x0400U
SECTOR3_OFFSET_ADDRESS 0x0600U
SECTORS_SIZE 512U
SPARE0_OFFSET_ADDRESS 0x0800U
SPARE1_OFFSET_ADDRESS 0x0810U
SPARE2_OFFSET_ADDRESS 0x0820U
SPARE3_OFFSET_ADDRESS 0x0830U
SPARES_SIZE 16U