Closed sgasse closed 1 year ago
Hi! You can use the examples and instructions for the STM32H747 with a STM32H745 development board. However you need to configure the power supply correctly to use these examples. In the User Manual for your development board there is a section "SMPS/LDO power supply" and this will help you learn about SMPS and LDO modes.
I suspect you should try:
pwr.smps().freeze()
Hey @richardeoin , thank you for pointing me to the power supply docs. I re-read them but the issue turned out to be something else: When I researched the board, I found the info somewhere that it did not have hard float support, so I used the target thumbv7em-none-eabi
, but apparently the right target for the board is thumbv7em-none-eabihf
(including FPUs).
# .cargo/config.toml
[build]
target = "thumbv7em-none-eabihf"
Now it works. Thanks for you swift reply! :slightly_smiling_face:
Hi!
I am pretty new to embedded development but have been doing Rust for some time. A colleague borrowed me a STM32H745I-DISCO which has both a Cortex M4 and Cortex M7. Another colleague looked into getting started with me and suggested that I look for a HAL crate. The reference sheet (link currently dead for me) has the title "STM32H745/755 and STM32H747/757 advanced Arm ® -based 32-bit MCUs" so I would hope that the STM32H747 is compatible with the STM32H745. Both have the combination of M4+M7 and I am happy only using the M7.
However, when I try to run an example in the debugger, it always hangs on
let pwrcfg = pwr.freeze();
. I also triedpwr.ldo().freeze()
andpwr.smps().freeze()
(without knowing in detail what it is about, some power domains right?). Below is the blinky example adapted:I am running the example like this:
Output of
openocd
:Output of
gdb
:Almost every example needs a handle to
pwrcfg
, so I don't really get around it. Of course, maybe something else is completely messed up as I don't understand much about embedded programming ^^ However if I just put a log with a counter into the loop and remove all HAL-related stuff, I see the prints coming through semihosting, so I think the memory setup and flashing/booting in general works.Thus I wonder: Do I just need to fiddle a little more with it, or does it just not work because the chip I have is not compatible with the one I use? Any help would be greatly appreciated!