


At this point, I think I will use the default integrated development from ST, at least I will be using something supported.
NUCLEO H743ZI2 HOW TO
I was debating if I wanted to use the Arduino cores for my project (which relies heavily on ADC), but it looks as if I will have to do pretty much all the same amount of configuration work with the STM32CubeMX, not to mention figure out how to make the ADC work with Rev V. And uses the right HAL for the Rev V chip, otherwise there will be problems here and there. So, for newer users, it would be best to have a specific variant that uses the HSE clock and properly sets clock at 480MHz (with the right voltage scaling of 0). I was disappointed to discover that there's no way to break off the ST Link anymore. Nobody can buy anymore a Nucleo H743ZI or ZI2 with the breakoff ST Link (unless is old stock). Basically the Rev V ADC is really a different block from the Rev Y one (documented in the application note I linked above, I suggest you have a quick look at it to see the amount of differences).įor what is worth, all recent Nucleo H7 boards ship with Rev V (and have since mid summer), and the new PCBs are all monolithic.
NUCLEO H743ZI2 CODE
Using only 400MHz clock has no downsides (apart from losing a big chunk of performance), but the ADC code must be tweaked and use different clock dividers and also has different max conversion rates. Where can I find 1.6.0? That could explain the differences I noticedĪnd, no, the Rev Y variant of the HAL has different ADC initialization code, so at the moment using the Nucleo H743ZI platform on a Rev V H7 chip will result in malfunctioning or non-functioning ADC code. Interestingly enough, both on the ST.com site and via STM32CubeMX, the most recent version of the HAL is 1.5.0. So, if I want to properly enable a Nucleo H743ZI2 with Rev V, what are the necessary steps? I can generate any file with STM32CubeMX and cut/paste into the right places, but I see a few differences in the type of calls that variant.cpp in this repository uses, and the code I get from the latest STM32CubeMX and HAL 1.5.0 for STM32H7Īnd shouldn't the Arduino core library already provide a variant of the Nucleo H743ZI2 with the proper setting for Rev V, which is all that is available to users now? I haven't looked further, but I'm pretty sure that the ADC clocks are not configured properly for the Rev V divisors (why ST decided to make Rev V so different from Rev Y and breaking code, it's a question better left to another time :))
NUCLEO H743ZI2 PLUS
The function currently in the repository, initializes the clock with a voltage scale of 1, and clock of (I think) 400MHz, plus it's using the internal clock, and not the 8MHz clock from the STLink (which being provided by a crystal, is more stable than the internal oscillator) I can see that the SystemClock_Config() function from the HAL is included into the variant.cpp file for each processor/board. I probably misunderstand how I'm supposed to use it, then.
