Skip to content

Commit f6f6dae

Browse files
authored
[bsp/stm32] add qspi flash and sdio for openmv h7plus (#5679)
* [console] fix bug of sdram, configure PA7(DRAM_WE) * [bsp/stm32] add qspi flash for openmv * [bsp/stm32] change sram1 to sram2 * [bsp/stm32] add sdio for openmv * [update] update README.md of openmv
1 parent b906fe6 commit f6f6dae

File tree

19 files changed

+1358
-213
lines changed

19 files changed

+1358
-213
lines changed

bsp/stm32/stm32h743-openmv-h7plus/.config

Lines changed: 81 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ CONFIG_RT_MAIN_THREAD_PRIORITY=10
9898
# C++ features
9999
#
100100
# CONFIG_RT_USING_CPLUSPLUS is not set
101+
# CONFIG_RT_USING_FAL is not set
101102

102103
#
103104
# Command shell
@@ -121,7 +122,39 @@ CONFIG_FINSH_ARG_MAX=10
121122
#
122123
# Device virtual file system
123124
#
124-
# CONFIG_RT_USING_DFS is not set
125+
CONFIG_RT_USING_DFS=y
126+
CONFIG_DFS_USING_POSIX=y
127+
CONFIG_DFS_USING_WORKDIR=y
128+
CONFIG_DFS_FILESYSTEMS_MAX=4
129+
CONFIG_DFS_FILESYSTEM_TYPES_MAX=4
130+
CONFIG_DFS_FD_MAX=16
131+
# CONFIG_RT_USING_DFS_MNTTABLE is not set
132+
CONFIG_RT_USING_DFS_ELMFAT=y
133+
134+
#
135+
# elm-chan's FatFs, Generic FAT Filesystem Module
136+
#
137+
CONFIG_RT_DFS_ELM_CODE_PAGE=437
138+
CONFIG_RT_DFS_ELM_WORD_ACCESS=y
139+
# CONFIG_RT_DFS_ELM_USE_LFN_0 is not set
140+
# CONFIG_RT_DFS_ELM_USE_LFN_1 is not set
141+
# CONFIG_RT_DFS_ELM_USE_LFN_2 is not set
142+
CONFIG_RT_DFS_ELM_USE_LFN_3=y
143+
CONFIG_RT_DFS_ELM_USE_LFN=3
144+
CONFIG_RT_DFS_ELM_LFN_UNICODE_0=y
145+
# CONFIG_RT_DFS_ELM_LFN_UNICODE_1 is not set
146+
# CONFIG_RT_DFS_ELM_LFN_UNICODE_2 is not set
147+
# CONFIG_RT_DFS_ELM_LFN_UNICODE_3 is not set
148+
CONFIG_RT_DFS_ELM_LFN_UNICODE=0
149+
CONFIG_RT_DFS_ELM_MAX_LFN=255
150+
CONFIG_RT_DFS_ELM_DRIVES=2
151+
CONFIG_RT_DFS_ELM_MAX_SECTOR_SIZE=4096
152+
# CONFIG_RT_DFS_ELM_USE_ERASE is not set
153+
CONFIG_RT_DFS_ELM_REENTRANT=y
154+
CONFIG_RT_DFS_ELM_MUTEX_TIMEOUT=3000
155+
# CONFIG_RT_USING_DFS_DEVFS is not set
156+
# CONFIG_RT_USING_DFS_ROMFS is not set
157+
# CONFIG_RT_USING_DFS_RAMFS is not set
125158

126159
#
127160
# Device Drivers
@@ -146,8 +179,24 @@ CONFIG_RT_USING_PIN=y
146179
# CONFIG_RT_USING_MTD_NAND is not set
147180
# CONFIG_RT_USING_PM is not set
148181
# CONFIG_RT_USING_RTC is not set
149-
# CONFIG_RT_USING_SDIO is not set
150-
# CONFIG_RT_USING_SPI is not set
182+
CONFIG_RT_USING_SDIO=y
183+
CONFIG_RT_SDIO_STACK_SIZE=512
184+
CONFIG_RT_SDIO_THREAD_PRIORITY=15
185+
CONFIG_RT_MMCSD_STACK_SIZE=1024
186+
CONFIG_RT_MMCSD_THREAD_PREORITY=22
187+
CONFIG_RT_MMCSD_MAX_PARTITION=16
188+
# CONFIG_RT_SDIO_DEBUG is not set
189+
CONFIG_RT_USING_SPI=y
190+
CONFIG_RT_USING_QSPI=y
191+
# CONFIG_RT_USING_SPI_MSD is not set
192+
CONFIG_RT_USING_SFUD=y
193+
CONFIG_RT_SFUD_USING_SFDP=y
194+
CONFIG_RT_SFUD_USING_FLASH_INFO_TABLE=y
195+
CONFIG_RT_SFUD_USING_QSPI=y
196+
CONFIG_RT_SFUD_SPI_MAX_HZ=50000000
197+
# CONFIG_RT_DEBUG_SFUD is not set
198+
# CONFIG_RT_USING_ENC28J60 is not set
199+
# CONFIG_RT_USING_SPI_WIFI is not set
151200
# CONFIG_RT_USING_WDT is not set
152201
# CONFIG_RT_USING_AUDIO is not set
153202
# CONFIG_RT_USING_SENSOR is not set
@@ -172,7 +221,14 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
172221
#
173222
# POSIX (Portable Operating System Interface) layer
174223
#
175-
# CONFIG_RT_USING_POSIX_FS is not set
224+
CONFIG_RT_USING_POSIX_FS=y
225+
# CONFIG_RT_USING_POSIX_DEVIO is not set
226+
# CONFIG_RT_USING_POSIX_STDIO is not set
227+
# CONFIG_RT_USING_POSIX_POLL is not set
228+
# CONFIG_RT_USING_POSIX_SELECT is not set
229+
# CONFIG_RT_USING_POSIX_TERMIOS is not set
230+
# CONFIG_RT_USING_POSIX_AIO is not set
231+
# CONFIG_RT_USING_POSIX_MMAN is not set
176232
# CONFIG_RT_USING_POSIX_DELAY is not set
177233
# CONFIG_RT_USING_POSIX_CLOCK is not set
178234
# CONFIG_RT_USING_POSIX_TIMER is not set
@@ -193,25 +249,9 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
193249
#
194250
# Network
195251
#
196-
197-
#
198-
# Socket abstraction layer
199-
#
200252
# CONFIG_RT_USING_SAL is not set
201-
202-
#
203-
# Network interface device
204-
#
205253
# CONFIG_RT_USING_NETDEV is not set
206-
207-
#
208-
# light weight TCP/IP stack
209-
#
210254
# CONFIG_RT_USING_LWIP is not set
211-
212-
#
213-
# AT commands
214-
#
215255
# CONFIG_RT_USING_AT is not set
216256

217257
#
@@ -241,6 +281,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
241281
#
242282
# IoT - internet of things
243283
#
284+
# CONFIG_PKG_USING_LWIP is not set
244285
# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
245286
# CONFIG_PKG_USING_PAHOMQTT is not set
246287
# CONFIG_PKG_USING_UMQTT is not set
@@ -257,6 +298,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
257298
# CONFIG_PKG_USING_FREEMODBUS is not set
258299
# CONFIG_PKG_USING_LJSON is not set
259300
# CONFIG_PKG_USING_EZXML is not set
301+
# CONFIG_PKG_USING_SIMPLE_XML is not set
260302
# CONFIG_PKG_USING_NANOPB is not set
261303

262304
#
@@ -296,6 +338,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
296338
# CONFIG_PKG_USING_JOYLINK is not set
297339
# CONFIG_PKG_USING_EZ_IOT_OS is not set
298340
# CONFIG_PKG_USING_NIMBLE is not set
341+
# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
299342
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
300343
# CONFIG_PKG_USING_IPMSG is not set
301344
# CONFIG_PKG_USING_LSSDP is not set
@@ -478,7 +521,6 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
478521
# CONFIG_PKG_USING_CAIRO is not set
479522
# CONFIG_PKG_USING_PIXMAN is not set
480523
# CONFIG_PKG_USING_PARTITION is not set
481-
# CONFIG_PKG_USING_FAL is not set
482524
# CONFIG_PKG_USING_FLASHDB is not set
483525
# CONFIG_PKG_USING_SQLITE is not set
484526
# CONFIG_PKG_USING_RTI is not set
@@ -504,7 +546,8 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
504546
# CONFIG_PKG_USING_ARM_2D is not set
505547
# CONFIG_PKG_USING_MCUBOOT is not set
506548
# CONFIG_PKG_USING_TINYUSB is not set
507-
# CONFIG_PKG_USING_USB_STACK is not set
549+
# CONFIG_PKG_USING_CHERRYUSB is not set
550+
# CONFIG_PKG_USING_KMULTI_RTIMER is not set
508551

509552
#
510553
# peripheral libraries and drivers
@@ -528,6 +571,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
528571
# CONFIG_PKG_USING_WM_LIBRARIES is not set
529572
# CONFIG_PKG_USING_KENDRYTE_SDK is not set
530573
# CONFIG_PKG_USING_INFRARED is not set
574+
# CONFIG_PKG_USING_MULTI_INFRARED is not set
531575
# CONFIG_PKG_USING_AGILE_BUTTON is not set
532576
# CONFIG_PKG_USING_AGILE_LED is not set
533577
# CONFIG_PKG_USING_AT24CXX is not set
@@ -584,6 +628,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
584628
# CONFIG_PKG_USING_SOFT_SERIAL is not set
585629
# CONFIG_PKG_USING_MB85RS16 is not set
586630
# CONFIG_PKG_USING_CW2015 is not set
631+
# CONFIG_PKG_USING_RFM300 is not set
587632

588633
#
589634
# AI packages
@@ -602,6 +647,10 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
602647
# miscellaneous packages
603648
#
604649

650+
#
651+
# project laboratory
652+
#
653+
605654
#
606655
# samples: kernel and components samples
607656
#
@@ -634,6 +683,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
634683
# CONFIG_PKG_USING_CANFESTIVAL is not set
635684
# CONFIG_PKG_USING_ZLIB is not set
636685
# CONFIG_PKG_USING_MINIZIP is not set
686+
# CONFIG_PKG_USING_HEATSHRINK is not set
637687
# CONFIG_PKG_USING_DSTR is not set
638688
# CONFIG_PKG_USING_TINYFRAME is not set
639689
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
@@ -651,6 +701,7 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
651701
# CONFIG_PKG_USING_DESIGN_PATTERN is not set
652702
# CONFIG_PKG_USING_CONTROLLER is not set
653703
# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set
704+
# CONFIG_PKG_USING_MFBD is not set
654705
CONFIG_SOC_FAMILY_STM32=y
655706
CONFIG_SOC_SERIES_STM32H7=y
656707

@@ -668,7 +719,14 @@ CONFIG_BSP_USING_UART1=y
668719
# CONFIG_BSP_UART1_RX_USING_DMA is not set
669720
# CONFIG_BSP_USING_UART2 is not set
670721
# CONFIG_BSP_USING_LPUART1 is not set
671-
# CONFIG_BSP_USING_SDRAM is not set
722+
CONFIG_BSP_USING_QSPI=y
672723
# CONFIG_BSP_USING_CRC is not set
673724
# CONFIG_BSP_USING_RNG is not set
674725
# CONFIG_BSP_USING_UDID is not set
726+
727+
#
728+
# Onboard Peripheral Drivers
729+
#
730+
CONFIG_BSP_USING_SDRAM=y
731+
# CONFIG_BSP_USING_QSPI_FLASH is not set
732+
# CONFIG_BSP_USING_SDMMC is not set

bsp/stm32/stm32h743-openmv-h7plus/README.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,10 @@ OPENMV4-H7-PLUS 是 OPENMV公司推出的一款针对 STM32H7系列设计的 Cor
3838
| **片上外设** | **支持情况** | **备注** |
3939
| :----------------- | :----------: | :------------------------------------- |
4040
| GPIO | 支持 | |
41-
| UART | 支持 | UART1(PB14 TX)(PB15 RX) |
41+
| USART | 支持 | USART1(PB14 TX)(PB15 RX) |
4242
| SDRAM | 支持 | IS42S32800 BANK1 |
43+
| QSPI FLASH | 支持 | W25Q256JV |
44+
| SDIO | 支持 | USD-1040310811 |
4345

4446
## 使用说明
4547

@@ -70,9 +72,9 @@ OPENMV4-H7-PLUS 是 OPENMV公司推出的一款针对 STM32H7系列设计的 Cor
7072
7173
#### 运行结果
7274

73-
下载程序成功之后,系统会自动运行,蓝色的 LED_R 以 500MS 周期闪烁。
75+
下载程序成功之后,系统会自动运行,红色的 LED_R 以 500MS 周期闪烁。
7476

75-
连接开发板ST-LINK到 PC , 会发现有串口, 在终端工具里打开相应的串口(115200-8-1-N), 复位设备后,可以看到 RT-Thread 的输出信息:
77+
串口通信需要使用USB转TTL连接USART1。在终端工具里打开相应的串口(115200-8-1-N), 复位设备后,可以看到 RT-Thread 的输出信息:
7678

7779
```bash
7880
\ | /

bsp/stm32/stm32h743-openmv-h7plus/applications/main.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2006-2021, RT-Thread Development Team
2+
* Copyright (c) 2006-2022, RT-Thread Development Team
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*

0 commit comments

Comments
 (0)