Skip to main content
Associate II
Mar 11, 2024 2:52 PM UTC
Solved

STM32H743 Flash compute Crc

Hi people,

 

I'm trying to use the flash crc but is not working as expected. If I pass the end address with offset 3 or 7 the result of crc calc will be always the same, 0xba4bbbf0. What the problem here?

 

 

 

FLASH_CRCInitTypeDef flash_crc_init = {
 .TypeCRC = FLASH_CRC_ADDR,
 .BurstSize = FLASH_CRC_BURST_SIZE_4,
 .Bank = FLASH_BANK_2,
 .Sector = FLASH_SECTOR_0,
 .NbSectors = 1,
 .CRCStartAddr = FLASH_BANK2_BASE,
 .CRCEndAddr = FLASH_BANK2_BASE + 7
};

uint32_t flash_crc_result = 0;

if(HAL_FLASHEx_Unlock_Bank2() == HAL_OK)
{
 HAL_StatusTypeDef hal_status = HAL_FLASHEx_ComputeCRC(&flash_crc_init, flash_crc_result);
}

 

 

 

The address has this values:

 

fernandes_0-1710168296494.png

 

This topic has been closed for replies.
TDK
TDKBest answer
Mar 11, 2024 3:25 PM UTC

 

The data must be aligned to chunks of the 4x flash word size (or whatever you have selected as the burst size). In this case, it must be aligned to 128-bytes. The minimum size is therefore 128 bytes.

TDK_0-1710170734049.png

 

"If you feel a post has answered your question, please click ""Accept as Solution""."

4 replies

TDK
TDKBest answer
Mar 11, 2024 3:25 PM UTC

 

The data must be aligned to chunks of the 4x flash word size (or whatever you have selected as the burst size). In this case, it must be aligned to 128-bytes. The minimum size is therefore 128 bytes.

TDK_0-1710170734049.png

 

"If you feel a post has answered your question, please click ""Accept as Solution""."
fernandesAuthor
Associate II
Mar 11, 2024 4:08 PM UTC

That's correct, this document said the same

fernandes_0-1710173273214.png

 

mƎALLEm
ST Technical Moderator
Mar 11, 2024 3:27 PM UTC

Hello,

You forgot & before flash_crc_result in the HAL_FLASHEx_ComputeCRC() input parameter:

HAL_StatusTypeDef hal_status = HAL_FLASHEx_ComputeCRC(&flash_crc_init, &flash_crc_result);

 

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
fernandesAuthor
Associate II
Mar 11, 2024 4:13 PM UTC

I'm sorry, on my local code is corretc