-
Notifications
You must be signed in to change notification settings - Fork 976
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add a new variant for WeAct MiniSTM32H743VITX and MiniSTM32H750VBT #1552
Conversation
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
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.
hi fpiSTM, the AStyle checks errors is mainly spacing corrections, it seemed I used tabs while AStyle use spaces. |
Hi @ag88 |
fix some astyle errors caused by spacing formatting (e.g. use space instead of tabs)
i made a round of fixes for the astyle errors, hope it works |
@fpistm let me know if you prefer for me to update readme.md. I'd like to suggest an entry as follows that link to this PR comments as well as WeAct's repo for this board like such Generic STM32H7 boards
the markdown codes look like such for this board's entry
I'd prefer not to update readme.md myself as it'd likely result in a need to merge. Thanks |
Hi @ag88 |
update README.md entry for WeAct MiniSTM32H743VIT6 board
@fpistm ok done, readme.md updated |
Signed-off-by: Frederic Pillon <frederic.pillon@st.com>
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>
WeAct H7xx PR 1552
I've tested for both boards:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Thanks @ag88
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
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
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 ---
…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>
Summary
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). This variant works well, the contributor has done various tests and is using it. But there would not be any direct support from ST should there be
issues as you can't expect original stm32duino developers to have this board.
There is a thread for this board in the forum
https://www.stm32duino.com/viewtopic.php?f=28&t=1348
You may post your queries, issues about this board in the thread in forum, but as this is community contributed, there is no assurance of a response.
This variant 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:
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.
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
added 2 conveinence functions - this is only for this board and is
only availaible if it is selected
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.
This PR fixes/implements the following bugs/features
new variant for WeAct MiniSTM32H743VITX
Explain the motivation for making this change. What existing problem does the pull request solve?
new variant for WeAct MiniSTM32H743VITX, uses onboard 25 Mhz HSE crystal,
defined LED_BUILTIN and USER_BTN
Validation
first a screen print
https://imgur.com/a/E97YKnf
sketch
you can find whetstone.h, whetstone.c here
https://www.stm32duino.com/viewtopic.php?p=106#p106
or here
https://github.com/stm32duino/STM32Examples/tree/main/examples/Benchmarking/Whetstone/SinglePrecision
it may take some adaptation in the codes to run
sample results are like such (use usb (CDC) serial with a serial monitor.
putty is quite good, responds to single key commands)
Closing issues
Fixes #xxx