2022-09-19 08:19 AM
I have worked with the HAL software implementation of the CRC using HAL_CRC_Calculate() and HAL_CRC_Accumulate(). Works great. How do I utilize the hardware CRC feature? Can you direct me to an example or more information?
Solved! Go to Solution.
2022-09-21 08:25 AM
As it turns out there are 2 CRC Hardware methods on the TM32H745I. The HAL_CRC_Calculate() / HAL_CRC_Accumulate() method may be used to calculate the CRC anywhere in the memory map. A processor running at 120Mhz took about 31.5mS to CRC 1M bank of flash. Whereas using the alternate method using HAL_FLASHEx_ComputeCRC() took 2.7mS to cover the same bank at the same speed.
2022-09-19 09:16 AM
Perhaps look at the library source, and the reference manual?
The primary peripheral expect to be configured, and then data pumped through the data register.
2022-09-19 03:28 PM
So, you have a time to ask how to use the hardware CRC for 4 days, but you don't have a time to look at a reference manual and at the HAL_CRC_Calculate() code, which consists of just 20 lines of code. It would take less time to realize that that HAL_CRC_Calculate() function already uses the hardware CRC, than it took to write all of these forum posts.
2022-09-21 08:25 AM
As it turns out there are 2 CRC Hardware methods on the TM32H745I. The HAL_CRC_Calculate() / HAL_CRC_Accumulate() method may be used to calculate the CRC anywhere in the memory map. A processor running at 120Mhz took about 31.5mS to CRC 1M bank of flash. Whereas using the alternate method using HAL_FLASHEx_ComputeCRC() took 2.7mS to cover the same bank at the same speed.