stm32 /stm32h7rs /STM32H7R /FLASH /FLASH_SR

Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text Text

Interpret as FLASH_SR

31 2827 2423 2019 1615 1211 87 43 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 (B_0x0)BUSY 0 (B_0x0)WBNE 0 (B_0x0)QW 0 (B_0x0)CRC_BUSY 0 (IS_PROGRAM)IS_PROGRAM 0 (IS_ERASE)IS_ERASE 0 (IS_OPTCHANGE)IS_OPTCHANGE 0 (B_0x0)RCHECKF

CRC_BUSY=B_0x0, QW=B_0x0, BUSY=B_0x0, RCHECKF=B_0x0, WBNE=B_0x0

Description

FLASH status register

Fields

BUSY

Busy flag This bit is set when an effective write, erase or option byte change operation is ongoing. It is possible to know what type of operation is being executed reading the flags IS_PROGRAM, IS_ERASE and IS_OPTCHANGE. BUSY cannot be cleared by application. It is automatically reset by hardware every time a step in a write, erase or option byte change operation completes. It is not recommended to do software polling on BUSY to know when one operation completed because, depending of operation, more pulses are possible for one only operation. For software polling it is therefore better to use QW flag or to check the EOPF flag.

0 (B_0x0): No programming, erase or option byte change operation are being executed

1 (B_0x1): Programming, erase or option byte change operation are being executed. See flags IS_PROGRAM, IS_ERASE and IS_OPTCHANGE for details.

WBNE

Write buffer not empty flag This bit is set when the embedded Flash memory is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below: the application software forces the write operation using FW bit in FLASH_CR the embedded Flash memory detects an error that involves data loss the application software has disabled write operations This bit cannot be forced to 0. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data.

0 (B_0x0): Write buffer empty or full

1 (B_0x1): Write buffer waiting data to complete

QW

Wait queue flag This bit is set when a write, erase or option byte change operation is pending in the command queue buffer. It is not possible to know what type of programming operation is present in the queue. This flag is reset by hardware when all write, erase or option byte change operations have been executed and thus removed from the waiting queue(s). This bit cannot be forced to 0. It is reset after a deterministic time if no other operations are requested.

0 (B_0x0): No write, erase or option byte change operations waiting in the operation queues

1 (B_0x1): At least one write, erase or option byte change operation is waiting in the operation queue

CRC_BUSY

CRC busy flag This bit is set when a CRC calculation is ongoing. This bit cannot be forced to 0. The user must wait until the CRC calculation has completed or disable CRC computation using CRC_EN bit in FLASH_CR register.

0 (B_0x0): No CRC calculation ongoing

1 (B_0x1): CRC calculation ongoing

IS_PROGRAM

Is a program This bit is set together with BUSY when a program operation is ongoing. It is cleared when BUSY is cleared. This flag can also raise with IS_OPTCHANGE, because an program operation can happen during an option change.

IS_ERASE

Is an erase This bit is set together with BUSY when an erase operation is ongoing. It is cleared when BUSY is cleared. This flag can also raise with IS_OPTCHANGE, because an erase operation can happen during an option change.

IS_OPTCHANGE

Is an option change This bit is set together with BUSY when an option change operation is ongoing. It is cleared when BUSY is cleared. This flag can also raise with IS_PROGRAM or IS_ERASE, because a program or erase step is ongoing during option change.

RCHECKF

Root code check flag This bit returns the status of the root code check performed following the first access to the Flash. This bit is cleared with RCHECKF bit in FLASH_FCR (optional).

0 (B_0x0): Root code check is fail. Reads to Flash returns zero, writes are ignored.

1 (B_0x1): Root code check is pass.

Links

()