diff options
| author | James Munns <[email protected]> | 2024-04-16 11:07:42 +0200 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-04-16 11:07:42 +0200 |
| commit | 8988df9ac15eccfaa1f2e5abe862cf2e7043ee46 (patch) | |
| tree | 110a7555edd743949b37e53a1857b094295a08df /docs | |
| parent | e38f1011d6234fbc51fbbbb2d93365517705e3ac (diff) | |
FAQ: Common STM32 stumbling blocks
Adds some commonly encountered issues.
Help wanted: if anyone has a working BDMA linker script setup, it would be good to add here.
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/modules/ROOT/pages/faq.adoc | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/modules/ROOT/pages/faq.adoc b/docs/modules/ROOT/pages/faq.adoc index c6b893de5..0944127a5 100644 --- a/docs/modules/ROOT/pages/faq.adoc +++ b/docs/modules/ROOT/pages/faq.adoc | |||
| @@ -231,3 +231,34 @@ Please refer to the STM32 documentation for the specific values suitable for you | |||
| 231 | Look for the `MEMORY` section and try to determine the FLASH and RAM sizes and section start. | 231 | Look for the `MEMORY` section and try to determine the FLASH and RAM sizes and section start. |
| 232 | 232 | ||
| 233 | If you find a case where the memory.x is wrong, please report it on [this Github issue](https://github.com/embassy-rs/stm32-data/issues/301) so other users are not caught by surprise. | 233 | If you find a case where the memory.x is wrong, please report it on [this Github issue](https://github.com/embassy-rs/stm32-data/issues/301) so other users are not caught by surprise. |
| 234 | |||
| 235 | == Known issues (details and/or mitigations) | ||
| 236 | |||
| 237 | These are issues that are commonly reported. Help wanted fixing them, or improving the UX when possible! | ||
| 238 | |||
| 239 | === STM32H5 and STM32H7 power issues | ||
| 240 | |||
| 241 | STM32 chips with built-in power management (SMPS and LDO) settings often cause user problems when the configuration does not match how the board was designed. | ||
| 242 | |||
| 243 | Settings from the examples, or even from other working boards, may not work on YOUR board, because they are wired differently. | ||
| 244 | |||
| 245 | Additionally, some PWR settings require a full device reboot (and enough time to discharge any power capacitors!), making this hard to troubleshoot. Also, some | ||
| 246 | "wrong" power settings will ALMOST work, meaning it will sometimes work on some boots, or for a while, but crash unexpectedly. | ||
| 247 | |||
| 248 | There is not a fix for this yet, as it is board/hardware dependant. See link:https://github.com/embassy-rs/embassy/issues/2806[this tracking issue] for more details | ||
| 249 | |||
| 250 | === STM32 BDMA only work out of some RAM regions | ||
| 251 | |||
| 252 | The STM32 BDMA controller included in some chips (TODO: list which ones) has a limitation in that it only works out of certain regions of RAM (TODO: list which ones), otherwise the transfer | ||
| 253 | will fail. | ||
| 254 | |||
| 255 | If you see errors that look like this: | ||
| 256 | |||
| 257 | [source,plain] | ||
| 258 | ---- | ||
| 259 | DMA: error on BDMA@1234ABCD channel 4 | ||
| 260 | ---- | ||
| 261 | |||
| 262 | You likely need to set up your linker script to define a special region for this area, and copy data to that region before using with BDMA. | ||
| 263 | |||
| 264 | TODO: show how to do that | ||
