inav icon indicating copy to clipboard operation
inav copied to clipboard

STM32H723 support

Open youprint opened this issue 1 year ago • 6 comments

Hi everyone I made a custom flight controller based on the STM32H723VGH, it's a recent MCU pin compatible with the STM32H743VIH already supported but faster (550 Mhz) I tested it on Ardupilot and it's working great but I using mainly INAV for my planes. I already tried to use the H743 target but it's not working since it is not the same clock configuration, and few other changes. Betaflight already have a target for this MCU too.

youprint avatar Sep 14 '23 08:09 youprint

It is probably doable, but we would probably need hardware to test with.

https://github.com/iNavFlight/inav/blob/master/docs/policies/NEW_HARDWARE_POLICY.md

But if you would like to add support to it, it is probably relatively easy, since it is similar to the h743 which is already supported.

My guess is that you need to update the STM32H7 libraries in:

lib/main/STM32H7

Adn the system_stm32h7xxx.* files in src/main/targets

And have a look at the cmake folder for possible changes needed.

It may even kind of work if yo specify the target as target_stm32h723xg after you update the libraries.

mmosca avatar Sep 15 '23 21:09 mmosca

Thanks for your reply My prototype board is working with Betaflight and Ardupilot now, I made it work yesterday at 500mhz. Unfortunately I have only 3 boards so I can't send it to all the inav dev but I can do it myself I think. Betaflight is very similar to Inav so you are right I need to update the H7 library like they did in Betaflight. let's try....

youprint avatar Sep 15 '23 21:09 youprint

If you manage to get it work, we would gladly accept the pull request updating the libraries and adding the infrastructure for the new mcu

mmosca avatar Sep 15 '23 22:09 mmosca

I managed to get it work @400mhz I had a lot of issues if I try higher frequency, I'm using CubeMX to help me with the clock configuration but 400mhz is enough for me for now. Manufacturers are starting to use 723/730 family now (SPRACING H7RF for exemple) I think we will need that support in the near future... Thank you for your help

youprint avatar Sep 22 '23 08:09 youprint

Fell free to submit a pull request with the basics to support the H723/H730. We can try asking Dominic for help/tips once the PR is in place.

mmosca avatar Sep 27 '23 20:09 mmosca

I managed to get it work @400Mhz I had a lot of issues if I try higher frequency, I'm using CubeMX to help me with the clock configuration but 400mhz is enough for me for now. Manufacturers are starting to use 723/730 family now (SPRACING H7RF for exemple) I think we will need that support in the near future... Thank you for your help

Use 520Mhz, anything higher requires setting option bits and also disables error correction on the internal RAM. Refer to the clock configuration that I used for H730 support in Betaflight.

H723/H730/H733/H725/H735 are all excellent choices for FC MCUs. Low internal flash memory variants (e.g H730) can be used with memory mapped mode when paired with 133Mhz flash and the OCTOSPI interface but this brings additional programming challenges.

hydra avatar Feb 06 '24 10:02 hydra