I ran the blinky.rs example on an H735IG, by first copying it from the stm32h7 to the stm32h735 examples folder, made no changes, ran it and was greeted by unexpected messages from probe-rs and the inability to connect any debugger until the MCU was powered off and on again into STM32 DFU mode using the boot button.
After much head-scratching, trying known-good boards to ensure my development environment and debugger were indeed working correctly, and finally using Segger's o-zone + a J-Link debugger I was able to step through the code and find that when ldoen was called in rcc_init() my target would die.
My target is using an SMPS MCU power supply configuration, enabling the LDO causes the MCU to die which then results in debugger errors.
The exact error from probe-rs, so that others can find this via their favorite search engine, was:
WARN probe_rs::probe::stlink: send_jtag_command 242 failed: SwdDpError
This occured a couple of times, then fails with 'ARM specific error occured'.
The specific configuration I'm using in my schematic is as per these diagrams:
AN5419
Figure 2. Sytem supply configuration (top right image of the six)
Figure 5. Direct SMPS Supply.
https://www.st.com/resource/en/application_note/an5419-getting-started-with-stm32h723733-stm32h725735-and-stm32h730-mcu-hardware-development-stmicroelectronics.pdf
I was not expecting to have to create my own rcc config to run blinky, I assumed the default RCC config would work and that later in my own code I would have to add my own rcc config and do PSU mode selection, but the blinky.rs example does not work on an H735 when using an SMPS PSU configuration.
My preference would be that the default RCC config does not adjust power supply settings at all, if possible, to prevent this crash and failure from occuring.
I ran the blinky.rs example on an H735IG, by first copying it from the stm32h7 to the stm32h735 examples folder, made no changes, ran it and was greeted by unexpected messages from probe-rs and the inability to connect any debugger until the MCU was powered off and on again into STM32 DFU mode using the boot button.
After much head-scratching, trying known-good boards to ensure my development environment and debugger were indeed working correctly, and finally using Segger's o-zone + a J-Link debugger I was able to step through the code and find that when
ldoenwas called inrcc_init()my target would die.My target is using an SMPS MCU power supply configuration, enabling the LDO causes the MCU to die which then results in debugger errors.
The exact error from probe-rs, so that others can find this via their favorite search engine, was:
This occured a couple of times, then fails with 'ARM specific error occured'.
The specific configuration I'm using in my schematic is as per these diagrams:
AN5419
Figure 2. Sytem supply configuration (top right image of the six)
Figure 5. Direct SMPS Supply.
https://www.st.com/resource/en/application_note/an5419-getting-started-with-stm32h723733-stm32h725735-and-stm32h730-mcu-hardware-development-stmicroelectronics.pdf
I was not expecting to have to create my own rcc config to run blinky, I assumed the default RCC config would work and that later in my own code I would have to add my own rcc config and do PSU mode selection, but the blinky.rs example does not work on an H735 when using an SMPS PSU configuration.
My preference would be that the default RCC config does not adjust power supply settings at all, if possible, to prevent this crash and failure from occuring.