Loading...
 

Zephyr project on STM32

   Zephyr Workbench, a VSCode extension to manage Zephyr on STM32.
It enables users to easily create, develop, and debug Zephyr applications.
Main features:
  • Install host dependencies.
  • Import toolchain and SDK.
  • Create, configure, build and manage apps.
  • Debug STM32.
You can directly download it from the VSCode marketplace
For more details, visit the Zephyr Workbench

System Workbench for STM32


STM32F072 CRC peripheral register definitions wrong

The I/O register definitions for the CRC peripheral present in the STM32F07x and STM32F09x devices is missing some items.

1. The CRC_POLY register is not defined.
2. The CRC_CR register is missing some bits, in particular, bits 5 and 6 which define the polynomial bit width.
3. The CRC_DR (data register) should be write-accessible as either a 8, 16, or 32 bit entity.

Odds are the reason for the omissions in (1) and (2) are due to the fact that only the F07x and F09x devices support a user-programmable polynomial. On lower-end F0 devices, the polynomial is fixed to the 32-bit Ethernet standard value.

The CRC data register (CRC_DR) can be write-accessed as either a 8, 16, or 32-bit entity. The results generated will vary depending on the data width written; i.e. if one were to write 0x000000AA (32-bit write) to this register, you will get a different result than if you were to write 0xAA (8-bit write) under the same starting conditions. The 32-bit write is actually treated as a command to generate a CRC on 4 8-bit values: 0xAA, 0x00, 0x00, 0x00.

Not a major issue, but thought the developers might like to know so they can fix it in a future release.

Thanks for this useful bug-report, I think you should report it at ST’s official forumsQuestion so they can fix it in the next version.

I should clarify - the issue is with the I/O register definitions used within the Debug Perspective. All of the CRC peripheral register definitions are present in the ST-provided CMSIS / HAL header files.

What I refer to in my original post are the register values one can examine via Window -> Show View -> I/O Registers when the Debug Perspective is active.

Is this something controlled by files/data provided by ST? If so, I’ll report the issue on the ST forum. My understanding is that this would be something controlled by the AC6-provided Eclipse plug-ins.


Hello MSchultz,

Thank you for your feedback. Indeed there seems to be an issue with the CMSIS register description file (STM32F072x.svd). The 2 first items should be easy to fix, the 3rd one might be more difficult, we will try to fix this as soon as possible.

Kind regards,

Pascale


 

Newest Forum Posts

  1. Монтаж камина с грилем в Москве - установка и барбекю by KpddomErorb, 2025-05-10 18:28
  2. SPI on Nucleo_STMH533RE by royjamil, 2025-05-04 20:13
  3. SPI on Nucleo_STMH533RE by higginsa1, 2025-03-25 07:37
  4. SPI on Nucleo_STMH533RE by royjamil, 2025-03-23 11:31
  5. SPI on Nucleo_STMH533RE by higginsa1, 2025-03-23 09:33
  6. Configuring DMA for ADC in SW? by sam.hodgson, 2025-03-04 12:58
  7. Build a project in "release" mode by info@creosrl.it, 2025-02-20 18:12
  8. Build a project in "release" mode by info@creosrl.it, 2025-02-20 17:05
  9. Build a project in "release" mode by tang, 2025-02-20 10:36
  10. Build a project in "release" mode by info@creosrl.it, 2025-02-19 17:35

Last-Modified Blogs