stm32 /stm32h5 /STM32H503 /HASH /HASH_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 HASH_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)DINIS 0 (B_0x0)DCIS 0 (B_0x0)DMAS 0 (B_0x0)BUSY 0NBWP0 (B_0x0)DINNE 0NBWE

DINNE=B_0x0, DCIS=B_0x0, DMAS=B_0x0, BUSY=B_0x0, DINIS=B_0x0

Description

HASH status register

Fields

DINIS

Data input interrupt status This bit is set by hardware when the FIFO is ready to get a new block (16 locations are free). It is cleared by writing it to 0 or by writing the HASH_DIN register. When DINIS = 0, HASH_CSRx registers reads as zero.

0 (B_0x0): Less than 16 locations are free in the input buffer

1 (B_0x1): A new block can be entered into the input buffer. An interrupt is generated if the DINIE bit is set in the HASH_IMR register.

DCIS

Digest calculation completion interrupt status This bit is set by hardware when a digest becomes ready (the whole message has been processed). It is cleared by writing it to 0 or by writing the INIT bit to 1 in the HASH_CR register.

0 (B_0x0): No digest available in the HASH_HRx registers (zeros are returned)

1 (B_0x1): Digest calculation complete, a digest is available in the HASH_HRx registers. An interrupt is generated if the DCIE bit is set in the HASH_IMR register.

DMAS

DMA Status This bit provides information on the DMA interface activity. It is set with DMAE and cleared when DMAE = 0 and no DMA transfer is ongoing. No interrupt is associated with this bit.

0 (B_0x0): DMA interface is disabled (DMAE = 0) and no transfer is ongoing

1 (B_0x1): DMA interface is enabled (DMAE = 1) or a transfer is ongoing

BUSY

Busy bit

0 (B_0x0): No block is currently being processed

1 (B_0x1): The hash core is processing a block of data

NBWP

Number of words already pushed This bitfield is the exact number of words in the message that have already been pushed into the FIFO. NBWP is incremented by 1 when a write access is performed to the HASH_DIN register. When a digest calculation starts, NBWP is updated to NBWP- block size (in words), and NBWP goes to zero when the INIT bit is written to 1.

DINNE

DIN not empty This bit is set when the HASH_DIN register holds valid data (that is after being written at least once). It is cleared when either the INIT bit (initialization) or the DCAL bit (completion of the previous message processing) is written to 1.

0 (B_0x0): No data are present in the data input buffer

1 (B_0x1): The input buffer contains at least one word of data

NBWE

Number of words expected This bitfield reflects the number of words in the message that must be pushed into the FIFO to trigger a partial computation. NBWE is decremented by 1 when a write access is performed to the HASH_DIN register. NBWE is set to the expected block size +1 in words (0x11) when INIT bit is set in HASH_CR. It is set to the expected block size (0x10) when the partial digest calculation ends.

Links

()