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
STM32H7 REV-V should be the default Topic is solved
- piers
- Posts: 42
- Joined: Fri Apr 06, 2012 1:02 am
- Location: Netherlands
- Been thanked: 15 times
- Contact:
Re: STM32H7 REV-V should be the default
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.
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.
- piers
- Posts: 42
- Joined: Fri Apr 06, 2012 1:02 am
- Location: Netherlands
- Been thanked: 15 times
- Contact:
Re: STM32H7 REV-V should be the default
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"
"So only the name STM32_ENFORCE_H7_REV_V should change to STM32_ENFORCE_H7_REV_Y"
- Giovanni
- Site Admin
- Posts: 14457
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Re: STM32H7 REV-V should be the default
Yes, it is reversed, it will be fixed before next release.
Giovanni
Giovanni
- Giovanni
- Site Admin
- Posts: 14457
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
- piers
- Posts: 42
- Joined: Fri Apr 06, 2012 1:02 am
- Location: Netherlands
- Been thanked: 15 times
- Contact:
Re: STM32H7 REV-V should be the default
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:
"!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); \
}
- Giovanni
- Site Admin
- Posts: 14457
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1076 times
- Been thanked: 922 times
- Contact:
Who is online
Users browsing this forum: No registered users and 25 guests