weactstudio / ministm32h7xx Goto Github PK
View Code? Open in Web Editor NEWSTM32H750VBT6/STM32H743VIT6 Core Board With 0.96'' TFT,TF Card,8MB QSPI FLASH,8MB SPI FLASH,DVP Port
License: GNU General Public License v3.0
STM32H750VBT6/STM32H743VIT6 Core Board With 0.96'' TFT,TF Card,8MB QSPI FLASH,8MB SPI FLASH,DVP Port
License: GNU General Public License v3.0
Hi,
Cant get the driver installed on Windows 10. Can't find the WeAct connection to Windows 10 device Manager;; WeAct_HID_Flash_NETFramework4+ V10 FluentWPF 191220 X64:
Soft Version: 1.0.0.0
Windows Version: 6.2.9200.0
MCU Enter The Bootloader Method
Hold down the KEY to Repower or Reboot
Language: en-US
Searching for HID Device [0483:572A] ...
Error - HID Device [0483:572A] is not found
Finish
Which "Key" ? , I have three buttons on this board!
Many Thanks.
Can anyone run apps on Qspi?
https://github.com/blcouz/STM32H750-QSPI-Boot.git
How turn on again internal drive because now device see only SD card? I burn on internal flash bootloader, firmware and openmv files and on QSPI 0x08000000 and 0x90000000 files but still i must insert SD card.
刚刚尝试编译 WeActStudioSTM32H7xx
,遇到两种错:
1、omv_boardconfig.h
缺少宏定义,按其他配置加上不知道对不对:
// Clock Sources
#define OMV_OSC_USB_CLKSOURCE RCC_USBCLKSOURCE_PLL
#define OMV_OSC_ADC_CLKSOURCE RCC_ADCCLKSOURCE_PLL3
#define OMV_OSC_SPI123_CLKSOURCE RCC_SPI123CLKSOURCE_PLL3
2、这个不知道怎么解决
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
Warning: FROZEN_MPY_DIR is deprecated in favour of FROZEN_MANIFEST
CC usbd_cdc_interface.c
usbd_cdc_interface.c: In function 'usbd_cdc_receive':
usbd_cdc_interface.c:339:13: error: dereferencing type-punned pointer will break strict-aliasing rules [-Werror=strict-aliasing]
cdc->dbg_xfer_length = *((uint32_t*)(cdc->rx_packet_buf+2));
^
cc1: all warnings being treated as errors
../../py/mkrules.mk:47: recipe for target '/github/openmv/openmv/src/build/micropython/usbd_cdc_interface.o' failed
make[1]: *** [/github/openmv/openmv/src/build/micropython/usbd_cdc_interface.o] Error 1
Makefile:600: recipe for target 'FIRMWARE_OBJS' failed
make: *** [FIRMWARE_OBJS] Error 2
Hi! Thank you for your awesome board! I have a question about STM32H750 peripheral pinout. Do you have some documentation / pinout scheme or diagram? I'd like to know what are the LCD / Flash / Camera pins? Could you draw it / write it anywhere?
This example can work when i complie it on keil 5 complier version 5. But when i import it to cubeide over ioc file. i just take static noise on screen and nothing happening. I think this is spi related problem or clock settings but i dont know what i miss. During import to cubeide i have tried migration and old version of ioc file setting. Both is the same result.
The LCD didn't work when I complied OpenMV board WeActStudioSTM32H7xx.
31 PINs are reserved for hardware such as camera, LCD screen, MicroSD, SOUND. There are very few PINs left.
Can 31 PINs be used for other things? So, if not all, at least some of them can be used? If it is not used, why did you give it on the board?.
I use your boards for Flight Controller and share the Firmware and installations. I would like to use this motherboard, but I wanted to ask because it has very few PINs.
板子刷了最新 的openmv3.9 发现没有nn模块
import time
from pyb import Servo
s1 = Servo(1) # P7
s1.angle(-10)
I tryed both variants( Internal Flash and QSPI Flash ) and see no differences.
A box for the MiniSTM32H7:
https://github.com/koendv/weact-mini-stm32h7xx-box/
You can easily print the box on a 3D printer.
regards,
why
I purchased the board and tried to compile the examples under GCC arm-none-eabi. I converted the following two projects into
"Makefile" project type via STM32CubeMX:
Than, I added missing Drivers/BSP/ST7735/*.c files into Makefile, as well as missing defines (TFT96) found in .uvprojx
My results:
03LCD_Test compiled with gcc-arm-none-eabi <= 7 works, while one compiled with gcc-arm-none-eabi >= 8 doesn't work. I can see brightness changing (so timer PWM is OK), but display initialization is failed whwn recent GCC is used.
08-DCMI2LCD has the same situation regarding LCD, while camera doesn't work in any case (it's detected, but nothing is shown on the screen even with "good" compiler).
So, the question: have the developers ever tried to build their examples in something different than Keil? It would be wonderful to have the examples really OS- and IDE-independent.
Hello, FYI, the Aliexpress store link here is broken https://github.com/WeActStudio/MiniSTM32H7xx . I didn't test other pages.
Made a colorful pinout for the STM32H743VIT board using the official WeAct schemes and STM32 datasheet.
Please review and if OK, I will send updated version soon (with all AF's added to pins)
STM32H7 Pin Layout.pdf
stm32h743 pinout.zip
.
Board with STM32F750
I used PB10 as SCL and PB11 as SDA signals for MLX90640
I see clock and data signals on scope at 100kHz when fir.init() executed, but then I got error message:
ValueError: Failed to detect a supported FIR sensor.
These examples works fine with the original Openmv H7 board.
FW used: 4.3.1, Openmv: IDE 2.9.2
Hello, when I load the sample .ioc from here in Cube IDE, the MCU is configured as 240Mhz instead of 480Mhz (see attached image). It seems that DIVP1 in your file has an invalid value of 1 while the Cube IDE requires it to be at least 2.
Please publish a full .ioc file with all the peripherals and and full clock speed so we can use it for our projects.
kindly share schematic of this board
Hi,
I see that there is a schematic available, but is there a board layout as well to map components from the schematic to the PCB?
Hi, I got an compile error. What could be the solution ?
@ubuntu:~/openmv/src/micropython/ports/stm32$ make BOARD=WeActStudioSTM32H7xx
Use make V=1 or set BUILD_VERBOSE in your environment to increase build verbosity.
make: *** No rule to make target 'build-WeActStudioSTM32H7xx/modstm_qstr.h', needed by 'build-WeActStudioSTM32H7xx/genhdr/qstrdefs.generated.h'. Stop.
Hello, i just got my dev board. But i'm having difficulties to run openMV on it, i followed the tutorial in the sdk/openmv part of this git, but couldn't get this to work. Is there any specific procedure? is there any tutorial video showing how to do this?
hope someone can help me.
Which library do I need for the TFT display in the Arduino IDE?
#include <Adafruit_GFX.h>
#include <Adafruit_ST7735.h>
#include <SPI.h>
#define TFT_CS PE11
#define TFT_RST -1
#define TFT_DC PE13
Adafruit_ST7735 tft = Adafruit_ST7735(TFT_CS, TFT_DC, TFT_RST);
Unfortunately, this does not work.
I think it would be good to either copy-paste, or link to the full features list for the MCU on the STM site?
https://www.st.com/en/microcontrollers-microprocessors/stm32h743vi.html#overview
... also the same for the AliExpress listing perhaps?
I bought the H743 and didn't get the TFT in the package.
Where can I get a TFT with the exact same connector?
Any spec/name of the connector I can search for?
I have the STM32H750 board with OV7725 camera. I am using the v3.9.3 firmware.
Created boot.py to simply execute print('Hello World') as test. It does not get called. Upon boot the board executes main.py directly.
Hello 👋
I run a security community that finds and fixes vulnerabilities in OSS. A researcher (@iamnynan) has found a potential issue, which I would be eager to share with you.
Could you add a SECURITY.md
file with an e-mail address for me to send further details to? GitHub recommends a security policy to ensure issues are responsibly disclosed, and it would help direct researchers in the future.
Looking forward to hearing from you 👍
(cc @huntr-helper)
觉得 1.8inch LCD 的驱动代码真的有必要重构一下,现在是在 ST 的 ST7735 驱动上面包了一层 LCD 的封装,绘制点线多边形这些函数是 ST7735 层级的,显示字符串却是 LCD 层级的,亮度调整则两边都有,字符和字符串的显示也只限定了一种画笔色和背景色,初始化函数也没有包装出来。总之用户拿到手以后还要花很多力气去修改。个人建议要么就封装一个完整的 LCD 层,要么就拓展 ST7735 的驱动,LCD 层只用于配置。
I am a beginner, and to me need memory-mapped mode, where the external memory is
seen as an internal memory... And I downloaded and flashed your example "02-EXTMEM_BOOT" but, nothing has changed.
PS - I have a board of your production "WeActTC STM32H750VBT6" and I am sure many of your customers In the same situation as I.
无法使用OpenMV的Servo
棕色线->GND
红色线->5V
橙色线->D12
import time
from pyb import Servo
s1 = Servo(1) # P7->(PD12)
s2 = Servo(2) # P8
while(True):
for i in range(-90,90):
s1.angle(i)
s2.angle(i)
time.sleep(10)
for i in range(90,-90):
s1.angle(i)
s2.angle(i)
time.sleep(10)
舵机无任何反应
from pyb import Pin, Timer
p = Pin('P7') # P7 has TIM4, CH1
tim = Timer(4, freq=1000)
ch = tim.channel(1, Timer.PWM, pin=p)
ch.pulse_width_percent(50)
上电时转到固定角度
Please provide some support to H237VGT6 board too, some definitions for that board is not updated.
link:
https://github.com/WeActStudio/WeActStudio.MiniSTM32H723
The LCD_TEST compiles and runs fine. I see the blinking led but LCD remains blank. Using STM32CubeIDE.
I also called the LCD_Test function with same results. I traced the program and everything seems to run fine, I changed the color used with no luck.
Any idea how to solve this?
Hello,
I have a compile error
boards/WeActStudioSTM32H7xx/bdev.c:5:8: error: unknown type name 'mp_spiflash_cache_t'
5 | STATIC mp_spiflash_cache_t spi_bdev_cache;
| ^~~~~~~~~~~~~~~~~~~
boards/WeActStudioSTM32H7xx/bdev.c:11:6: error: 'const struct _mp_spiflash_config_t' has no member named 'cache'
11 | .cache = &spi_bdev_cache,
| ^~~~~
boards/WeActStudioSTM32H7xx/bdev.c:11:14: error: excess elements in struct initializer [-Werror]
11 | .cache = &spi_bdev_cache,
| ^
boards/WeActStudioSTM32H7xx/bdev.c:11:14: note: (near initialization for 'spiflash_config')
cc1: all warnings being treated as errors
make[1]: *** [../../py/mkrules.mk:77: /home/engin/openmv/src/build/micropython/boards/WeActStudioSTM32H7xx/bdev.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [omv/ports/stm32/omv_portconfig.mk:591: FIRMWARE_OBJS] Error 2
My program is not enough to download this board.
I find this qspi setup, my keil is follow FLM setup.
and then i press download, but it show download failed...
my project code need to do something?
I want to use LCD as Landscape mode.
I found the "03-LCD_Test" project is set up as Portrait mode, it is not easy for me to change to Landscape mode.
Would you tell me how to change from Portrait to Landscape mode in "03-LCD_Test" project?
Best regards,
Jongwoon
Do you also have this board with STM32H743?
As confirmed by an STMicroelectronics employee in this thread some STM32H750 chips have been shipped with fused off HASH and CRYP units resulting in 100% failure rate to write to any of their control and status registers. The date codes listed in README.md for STM32H750 boards fall in the range of potentially defective chips.
Do your boards as offered on AliExpress ship chips containing usable HASH and CRYP units?
In the file MiniSTM32H7xx\SDK\HAL\STM32H750\11-ExtMem_Boot_USB\USB_DEVICE\App\usbd_custom_hid_if.c
, in the part of Usb HID report descriptor, the comment shows that HID INPUT REPORT SIZE is 8. However, the source code CUSTOM_HID_EPIN_SIZE
equals 64, so I think the comment is wrong. There is the same problem in example11 of STM32H743.
__ALIGN_BEGIN static uint8_t CUSTOM_HID_ReportDesc_FS[USBD_CUSTOM_HID_REPORT_DESC_SIZE] __ALIGN_END =
{
...
0x75, 0x08, // REPORT_SIZE (8) // 9 B
0x95, CUSTOM_HID_EPOUT_SIZE, // REPORT_COUNT (64)
0x91, 0x03, // OUTPUT (Cnst, Var, Abs) // 14B
...
};
Hello Can you please add STM32H723 soft example using hal lib, the repo contain only resources for STM32H743 STM32H750 boards
买的H750板子,尝试使用gcc工具链+vscode开发stm32,无奈发现无法使用openocd将程序下到这块板子的外置FLASH里,在网上找到一篇教程:使用openOCD擦写ART_Pi外部qspi_flash ,我尝试了之后没有成功,也不知道该怎么改,希望能编写一个openocd初始化QSPI FLASH的脚本。
上面帖子里的 gpio_conf_stm32.pl是:https://github.com/openocd-org/openocd/blob/36597636f2a0e9fbf7b44f2c02fb85632d4dc063/contrib/loaders/flash/stmqspi/gpio_conf_stm32.pl 运行需要安装perl环境,在控制台执行 perl gpio_conf_stm32.pl
帖子里的art_pi.cfg内容
# This is for using the onboard STLINK
source [find interface/stlink.cfg]
transport select hla_swd
set CHIPNAME stm32h750xbh6
# enable stmqspi
if {![info exists QUADSPI]} {
set QUADSPI 1
}
source [find target/stm32h7x.cfg]
reset_config srst_only
# ART_Pi qspi.
# QUADSPI initialization
proc qspi_init { } {
global a
mmw 0x580244E0 0x000007FF 0 ;# RCC_AHB4ENR |= GPIOAEN-GPIOKEN (enable clocks)
mmw 0x580244D4 0x00004000 0 ;# RCC_AHB3ENR |= QSPIEN (enable clock)
sleep 1 ;# Wait for clock startup
# PF10:AF09:H, PF09:AF10:H, PF08:AF10:H, PF07:AF09:H, PF06:AF09:H, PG06:AF10:H
# Port F: PF10:AF09:H, PF09:AF10:H, PF08:AF10:H, PF07:AF09:H, PF06:AF09:H
mmw 0x58021400 0x002AA000 0x00155000 ;# MODER
mmw 0x58021408 0x002AA000 0x00155000 ;# OSPEEDR
mmw 0x5802140C 0x00000000 0x003FF000 ;# PUPDR
mmw 0x58021420 0x99000000 0x66000000 ;# AFRL
mmw 0x58021424 0x000009AA 0x00000655 ;# AFRH
# Port G: PG06:AF10:H
mmw 0x58021800 0x00002000 0x00001000 ;# MODER
mmw 0x58021808 0x00002000 0x00001000 ;# OSPEEDR
mmw 0x5802180C 0x00000000 0x00003000 ;# PUPDR
mmw 0x58021820 0x0A000000 0x05000000 ;# AFRL
# correct FSIZE is 0x16, however, this causes trouble when
# reading the last bytes at end of bank in *memory mapped* mode
# for single flash mode w25q64jv
;# 010101010000000000000 0 011000
mww 0x52005000 0x05500018 ;# QUADSPI_CR: PRESCALER=5, APMS=1, FTHRES=1, FSEL=0, DFM=0, SSHIFT=1, TCEN=1
mww 0x52005004 0x00160500 ;# QUADSPI_DCR: FSIZE=0x16, CSHT=0x05, CKMODE=0
;# FSIZE flash的大小。
mww 0x52005030 0x00001000 ;# QUADSPI_LPTR: deactivate CS after 4096 clocks when FIFO is full
;# 11010000000000 10 010100000011
mww 0x52005014 0x0D002503 ;# QUADSPI_CCR: FMODE=0x3, DMODE=0x1, DCYC=0x0, ADSIZE=0x2, ADMODE=0x1, IMODE=0x1
mmw 0x52005000 0x00000001 0 ;# QUADSPI_CR: EN=1
# Exit QPI mode
#mmw 0x52005000 0x00000002 0 ;# QUADSPI_CR: ABORT=1
#mww 0x52005014 0x000003F5 ;# QUADSPI_CCR: FMODE=0x0, DMODE=0x0, DCYC=0x0, ADSIZE=0x0, ADMODE=0x0, IMODE=0x3, INSTR=Exit QPI
sleep 1
# reset flash
mmw 0x52005000 0x00000002 0 ;# QUADSPI_CR: ABORT=1
mww 0x52005014 0x00000166 ;# QUADSPI_CCR: FMODE=0x0, DMODE=0x0, DCYC=0x0, ADSIZE=0x0, ADMODE=0x0, IMODE=0x1, INSTR=0x66
mww 0x52005014 0x00000199 ;# QUADSPI_CCR: FMODE=0x0, DMODE=0x0, DCYC=0x0, ADSIZE=0x0, ADMODE=0x0, IMODE=0x1, INSTR=0x99
# memory-mapped read mode with 3-byte addresses
mmw 0x52005000 0x00000002 0 ;# QUADSPI_CR: ABORT=1
;# 11 11 0 00100 00 11 10 11 01 11101011
mww 0x52005014 0x0F10EDEB ;# QUADSPI_CCR: FMODE=0x3, DMODE=0x3, DCYC=0x4, ADSIZE=0x2, ADMODE=0x3, IMODE=0x1, INSTR=READ
;mww 0x52005014 0x0D002503
}
$_CHIPNAME.cpu0 configure -event reset-init {
global QUADSPI
mmw 0x52002000 0x00000004 0x0000000B ;# FLASH_ACR: 4 WS for 192 MHZ HCLK
mmw 0x58024400 0x00000001 0x00000018 ;# RCC_CR: HSIDIV=1, HSI on
mmw 0x58024410 0x10000000 0xEE000007 ;# RCC_CFGR: MCO2=system, MCO2PRE=8, HSI as system clock
mww 0x58024418 0x00000040 ;# RCC_D1CFGR: D1CPRE=1, D1PPRE=2, HPRE=1
mww 0x5802441C 0x00000440 ;# RCC_D2CFGR: D2PPRE2=2, D2PPRE1=2
mww 0x58024420 0x00000040 ;# RCC_D3CFGR: D3PPRE=2
mww 0x58024428 0x00000040 ;# RCC_PPLCKSELR: DIVM3=0, DIVM2=0, DIVM1=4, PLLSRC=HSI
mmw 0x5802442C 0x0001000C 0x00000002 ;# RCC_PLLCFGR: PLL1RGE=8MHz to 16MHz, PLL1VCOSEL=wide
mww 0x58024430 0x01070217 ;# RCC_PLL1DIVR: 192 MHz: DIVR1=2, DIVQ=8, DIVP1=2, DIVN1=24
mmw 0x58024400 0x01000000 0 ;# RCC_CR: PLL1ON=1
sleep 1
mmw 0x58024410 0x00000003 0 ;# RCC_CFGR: PLL1 as system clock
sleep 1
adapter speed 24000
if { $QUADSPI } {
qspi_init
}
}
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.