Add a new variant for WeAct MiniSTM32H743VITX and MiniSTM32H750VBT by ag88 · Pull Request #1552 · stm32duino/Arduino_Core_STM32

added 2 commits

November 21, 2021 05:49
The board schematics, images at the time of this commit is found at
https://github.com/WeActTC/MiniSTM32H7xx

This variant is 'unofficial' (i.e. this is community contributed and not
from the original vendor)

it is actually adapted from the generic variant found in
https://github.com/stm32duino/Arduino_Core_STM32/tree/main/variants/STM32H7xx/H742V(G-I)(H-T)_H743V(G-I)(H-T)_H750VBT_H753VI(H-T)

the changes are:
1) created a void SystemClock_Config(void) that use the external 25 Mhz
HSE crystal. this makes it run at 480 Mhz ! USB (CDC Serial) still
works per normal.

much of the rest of the peripherals are clocked at 80 Mhz (from the
outputs of PLL2 and PLL3), that's the max allowable documented in ref
manual for the ADC.

2) the rest of definitions are pretty much same as the generic variant
with the following redefinitions
  a.  #define LED_BUILTIN PE3 (per schematics and tested)
  b.  #define USER_BTN PC13 (per schematics and tested)
  c.  SERIAL_TX PA9, SERIAL_RX PA10 - this makes the 1st hardware serial
      port UART1

3) added 2 conveinence functions - this is only for this board and is
only availaible if it is selected
   /* power saving mode, mcu runs significantly cooler
    * Sysclock 240 Mhz, bus clocks 120 Mhz */
  void SysClkHalfSpeed();

  /* full speed - sysclk from PLL1 P - 480 Mhz
   * Sysclock 480 Mhz, bus clocks 240 Mhz */
  void SysClkFullSpeed()

  This variant runs the systemclock default at 480 MHz (published max)
  and AHB at 240 MHz. The stm32h743 mcu tend to run pretty warm after a
  while (around 50 deg C). The half speed function call changes
  the system clock dividers (divide by 2 - gives 240 Mhz)
  and AHB dividers (divide further by 2 - gives 120 Mhz)
  so that it runs at 1/2 the PLL1 P speeds (480 Mhz).
  the mcu runs significantly cooler running at 1/2 speeds.
  some tests has been done to swtich the speeds calling the functions at
  run time, they seem to work ok. But tests isn't thorough, so check
  things if you use the speed changing functions.
change label WeActMiniH743VITX instead of WeActMiniH7xx

This was referenced

Nov 21, 2021
update variant_WeActMiniH743VITX.cpp add board ifdef to prevent other
boards from picking up definitions from this board (i.e. prevent cross
dependencies). This is to allow other similar boards to co-exist.
fix some astyle errors caused by spacing formatting (e.g. use space
instead of tabs)
update README.md entry for WeAct MiniSTM32H743VIT6 board
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>

@fpistm

and add descriptions

Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
several pins already connected to other peripherals

Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>

@ag88

@ag88 ag88 mentioned this pull request

Nov 25, 2021

@fpistm fpistm changed the title Add a new variant for WeAct MiniSTM32H743VITX Add a new variant for WeAct MiniSTM32H743VITX and MiniSTM32H750VBT

Nov 26, 2021

@ag88 ag88 deleted the variant_WeActMiniH743VITX branch

November 27, 2021 08:23

@ag88 ag88 restored the variant_WeActMiniH743VITX branch

November 29, 2021 08:44

ag88 pushed a commit to ag88/Arduino_Core_STM32 that referenced this pull request

Dec 11, 2021
in previous commmit some clocks from PLL2, PLL3
are not distributed to some peripherals
stm32duino#1552

originally to save some power. However, users using those
pheriperials may mistake that it is not working

this fix distributes the missed out PLL clocks to all pheripherals
those clocks are at 80 Mhz

@ag88 ag88 mentioned this pull request

Dec 11, 2021

1 task

ag88 pushed a commit to ag88/Arduino_Core_STM32 that referenced this pull request

Dec 11, 2021
in previous commit (stm32duino#1552)
some clocks from PLL2, PLL3 are not distributed to some peripherals

originally to save some power. However, users using those
pheriperials may mistake that it is not working

this fix distributes the missed out PLL clocks to all pheripherals
those clocks are at 80 Mhz

ag88 pushed a commit to ag88/Arduino_Core_STM32 that referenced this pull request

Dec 11, 2021
make the same fixes from
stm32duino#1585
---
in previous commit (stm32duino#1552)
some clocks from PLL2, PLL3 are not distributed to some peripherals

originally to save some power. However, users using those
pheriperials may mistake that it is not working

this fix distributes the missed out PLL clocks to all pheripherals
those clocks are at 80 Mhz
---

fpistm pushed a commit that referenced this pull request

Dec 13, 2021
…ks (#1585)

in previous commit some clocks from PLL2, PLL3 are not distributed
to some peripherals:
#1552
#1585

Originally to save some power. However, users using those
peripherals may mistake that it is not working.

This fix distributes the missed out PLL clocks to all peripherals
those clocks are at 80 MHz

Co-authored-by: ag88 <ag88@github.com>