Using the STM32H745I-DISCO and I want to Monitor Bank 1 CRC using the M4 processor. Is there a good reference or example I can use as a starting point?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-09-14 2:51 PM
Accepted Solutions
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-09-14 3:35 PM
I just has to read the memory, materially similar code will run on either core, the FLASH is dual-ported. You can do the CRC in software or use the hardware one. Although that might not share well, the HW is typically not multi-threaded and there's a single instance.
STM32Cube_FW_H7_V1.10.0\Projects\STM32H745I-DISCO\Examples\CRC\CRC_UserDefinedPolynomial\CM7\Src\main.c
STM32Cube_FW_H7_V1.10.0\Projects\NUCLEO-H743ZI\Examples\CRC\CRC_Example\Src\main.c
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-09-14 3:35 PM
I just has to read the memory, materially similar code will run on either core, the FLASH is dual-ported. You can do the CRC in software or use the hardware one. Although that might not share well, the HW is typically not multi-threaded and there's a single instance.
STM32Cube_FW_H7_V1.10.0\Projects\STM32H745I-DISCO\Examples\CRC\CRC_UserDefinedPolynomial\CM7\Src\main.c
STM32Cube_FW_H7_V1.10.0\Projects\NUCLEO-H743ZI\Examples\CRC\CRC_Example\Src\main.c
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-09-15 6:39 AM
How do I run the hardware CRC?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-09-15 8:26 AM
Using the CRC_UserDefinedPolynomial example HAL_CRC_Calculate(&CrcHandle, (uint32_t *)&codePointer, 32700);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-09-15 8:28 AM
volatile unsigned int *codePointer = (volatile unsigned int *)0x08000000;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-09-15 8:31 AM
I get a hard fault if I supply a length over 0x7fff. uint32_t HAL_CRC_Calculate(CRC_HandleTypeDef *hcrc, uint32_t pBuffer[], uint32_t BufferLength);
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-09-19 9:14 AM
Doesn't it expect a WORD count? It will hard fault beyond the decoded memory space.
Check the actual address it's faulting on.
Up vote any posts that you find helpful, it shows what's working..
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content
‎2022-09-19 10:55 AM
That's what it was. I went beyond the address space. All good now.
