Page 1 of 1

STM32H7 REV-V should be the default

Posted: Thu Jun 25, 2020 4:05 pm
by piers
Currently a STM32_ENFORCE_H7_REV_V define is necessary to compile for the newer H7 parts and revisions correctly, otherwise it will use less optimal or wrong registers.

Instead this should be the default behaviour, with REV-Y being the exception, as these are only older H743, 753 and 750 parts that are no longer manufactured.

So make an STM32_ENFORCE_H7_REV_Y define instead, and maybe include that in mcuconf.h instead of in the Makefile.

Furthermore the ST_NUCLEO144_H743ZI board is using the REV-Y, the newer REV-V version ends with ZI2. For clarity rename this board to ST_NUCLEO144_H743ZI2, so it is clear it is different silicon.

Same for demos/STM32/RT-STM32H743ZI_REV_V-NUCLEO144, could be renamed to RT-STM32H743ZI2-NUCLEO144.

Using ChibiOS version stable_20.3.x@13724

Re: STM32H7 REV-V should be the default

Posted: Thu Jun 25, 2020 5:29 pm
by piers
It seems just the naming is messed up. The maximum ratings if STM32_ENFORCE_H7_REV_V is defined are actually for REV-Y devices.

So only the name STM32_ENFORCE_H7_REV_V should change to STM32_ENFORCE_H7_REV_V, and the demo/board files copied or renamed for clarity.

Re: STM32H7 REV-V should be the default

Posted: Sat Jul 04, 2020 9:23 am
by piers
Obviously I made a typo, it should read:

"So only the name STM32_ENFORCE_H7_REV_V should change to STM32_ENFORCE_H7_REV_Y"

Re: STM32H7 REV-V should be the default

Posted: Sat Jul 04, 2020 11:54 am
by Giovanni
Yes, it is reversed, it will be fixed before next release.

Giovanni

Re: STM32H7 REV-V should be the default

Posted: Mon Jul 06, 2020 10:36 am
by Giovanni
Fixed as bug #1109.

Giovanni

Re: STM32H7 REV-V should be the default

Posted: Fri Jul 17, 2020 3:27 am
by piers
Hi Giovanni, there is one typo in your fix (apart from the typo that it should be bug #1110):

"!defined" is replaced by "defined", the exclamation mark got missing:

Code: Select all

------------------ os/hal/ports/STM32/LLD/BDMAv1/stm32_bdma.h ------------------
index de479a150..7461dc6b1 100644
@@ -272,7 +272,7 @@ typedef struct {
  *
  * @special
  */
-#if !defined(STM32_ENFORCE_H7_REV_V) || defined(__DOXYGEN__)
+#if defined(STM32_ENFORCE_H7_REV_XY) || defined(__DOXYGEN__)
 #define bdmaStreamSetMemory(stp, addr) {                                    \
   (stp)->channel->CM0AR  = (uint32_t)(addr);                                \
 }

Re: STM32H7 REV-V should be the default

Posted: Wed Jul 22, 2020 10:24 am
by Giovanni
Thanks, fixed as bug #1115.

Giovanni