Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
187 changes: 187 additions & 0 deletions Documentation/platforms/arm/stm32h7/boards/devebox-stm32h743/index.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,187 @@
==================
devebox-stm32h743
==================

.. tags:: chip:stm32, chip:stm32h7, chip:stm32h743

NuttX port for the DevEbox STM32H743 board.

Comment thread
xiaoxiang781216 marked this conversation as resolved.
.. figure:: devebox-stm32h743-top.jpg
:align: center
:width: 80%

|

.. figure:: devebox-stm32h743-bottom.jpg
:align: center
:width: 80%

|

Board information
=================

The DevEbox STM32H743 board is developed based on the STM32H743VI microcontroller.

Board information: https://stm32-base.org/boards/STM32H743VIT6-STM32H7XX-M

The board features:

- USB-C power supply
- SWD connector
- Crystal for HS 25MHz
- Crystal for RTC 32.768KHz
- 1 user LED (PA1)
- 2 user buttons (PE3, PC5)
- 1 MicroSD connector supporting 1 or 4-bit bus (SDMMC1)
- 1 USB 2.0 OTG FS
- 1 QSPI Flash W25Q64 (8MB)

Serial Console
==============

The board uses USART1 for the serial debug console.

======== =====
USART1 PINS
======== =====
TX PA9
RX PA10
======== =====

**Note:** PA10 is also used as OTGFS_ID. When USB is enabled,
``CONFIG_OTG_ID_GPIO_DISABLE=y`` must be set to avoid a pin conflict.

LED
===

The board has one software-controllable LED on PA1 (active low).

Board buttons
=============

The board has two buttons with active-low logic:

==== =====
ID GPIO
==== =====
K1 PE3
K2 PC5
==== =====

SDMMC
=====

The board has one microSD slot connected via SDMMC1.

=========== =====
SDMMC1 PINS
=========== =====
SDMMC_D0 PC8
SDMMC_D1 PC9
SDMMC_D2 PC10
SDMMC_D3 PC11
SDMMC_CK PC12
SDMMC_CMD PD2
=========== =====

=============== =====
GPIO PINS
=============== =====
SDCARD_DETECT PD4
=============== =====

QSPI Flash
==========

The board has a W25Q64 (8MB) QSPI NOR Flash.

========= =====
QSPI PINS
========= =====
BK1_CS PB6
BK1_IO0 PD11
BK1_IO1 PD12
BK1_IO2 PE2
BK1_IO3 PD13
CLK PB2
========= =====

USB OTG FS
==========

========= =====
OTG_FS PINS
========= =====
DM PA11
DP PA12
ID PA10
========= =====

Flashing
========

The board can be flashed via the SWD connector using a compatible programmer
such as J-Link, ST-Link, or other SWD probe.

SWD
---

Connect the SWD programmer as follows:

================ ===============
SWD Programmer DevEbox
================ ===============
SWDIO DIO
GND GND
SWCLK CLK
3.3V 3V3
================ ===============

J-Link example::

JLinkExe -autoconnect 1 -device STM32H743VI -if SWD -speed 4000 \
-CommanderScript flash.jlink

With flash.jlink::

reset
halt
loadfile nuttx.bin 0x08000000
reset
go
exit

Configurations
==============

Each devebox-stm32h743 configuration is maintained in a sub-directory and
can be selected as follows::

./tools/configure.sh devebox-stm32h743:<subdir>

Where ``<subdir>`` is one of the following:

nsh
---

Configures the NuttShell (nsh) with a serial console on USART1 (PA9/PA10).
Minimal configuration suitable for basic testing.

nsh+debug
---------

nsh configuration with debug features enabled (assertions, LEDs, stack
checking, RAMLOG). Syslog output goes to ``/dev/ttyRAM`` via RAMLOG.

full
----

All-in-one configuration enabling all board features:

- SD card (``/dev/mmcsd0``)
- USB CDC ACM (``/dev/ttyACM0``)
- W25Q64 QSPI Flash NXFFS (``/w25``)
- Buttons (``/dev/buttons``)
- RAMLOG (``/dev/ttyRAM``)
- GPIO helper (``/dev/gpio*``)
10 changes: 10 additions & 0 deletions boards/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -1993,6 +1993,15 @@ config ARCH_BOARD_WEACT_STM32H743
---help---
This is WeAct MiniSTM32H7xx (STM32H743VIT6) board.

config ARCH_BOARD_DEVEBOX_STM32H743
bool "DevEbox Studio STM32H743"
depends on ARCH_CHIP_STM32H743VI
select ARCH_HAVE_LEDS
select ARCH_HAVE_BUTTONS
select ARCH_HAVE_IRQBUTTONS
---help---
This is DevEbox MiniSTM32H7xx (STM32H743VIT6) board.

config ARCH_BOARD_WEACT_STM32H750
bool "WeAct Studio STM32H750"
depends on ARCH_CHIP_STM32H750VB
Expand Down Expand Up @@ -4090,6 +4099,7 @@ config ARCH_BOARD
default "esk32" if ARCH_BOARD_ESK32
default "csk6011a-nano" if ARCH_BOARD_CSK6011A_NANO
default "frdm-mcxn236" if ARCH_BOARD_FRDM_MCXN236
default "devebox-stm32h743" if ARCH_BOARD_DEVEBOX_STM32H743

comment "Common Board Options"

Expand Down
23 changes: 23 additions & 0 deletions boards/arm/stm32h7/devebox-stm32h743/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# ##############################################################################
# boards/arm/stm32h7/devebox-stm32h743/CMakeLists.txt
#
# SPDX-License-Identifier: Apache-2.0
#
# Licensed to the Apache Software Foundation (ASF) under one or more contributor
# license agreements. See the NOTICE file distributed with this work for
# additional information regarding copyright ownership. The ASF licenses this
# file to you under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.
#
# ##############################################################################

add_subdirectory(src)
8 changes: 8 additions & 0 deletions boards/arm/stm32h7/devebox-stm32h743/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#
# For a description of the syntax of this configuration file,
# see the file kconfig-language.txt in the NuttX tools repository.
#

if ARCH_BOARD_DEVEBOX_STM32H743

endif # ARCH_BOARD_DEVEBOX_STM32H743
119 changes: 119 additions & 0 deletions boards/arm/stm32h7/devebox-stm32h743/configs/full/defconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
#
# This file is autogenerated: PLEASE DO NOT EDIT IT.
#
# You can use "make menuconfig" to make any modifications to the installed .config file.
# You can then do "make savedefconfig" to generate a new defconfig file that includes your
# modifications.
#
# CONFIG_MMCSD_HAVE_CARDDETECT is not set
# CONFIG_MMCSD_MMCSUPPORT is not set
# CONFIG_NSH_DISABLE_IFCONFIG is not set
# CONFIG_NSH_DISABLE_PS is not set
# CONFIG_SPI_CALLBACK is not set
# CONFIG_SPI_EXCHANGE is not set
# CONFIG_STANDARD_SERIAL is not set
# CONFIG_STM32_SDMMC_IDMA is not set
CONFIG_ARCH="arm"
CONFIG_ARCH_BOARD="devebox-stm32h743"
CONFIG_ARCH_BOARD_COMMON=y
CONFIG_ARCH_BOARD_DEVEBOX_STM32H743=y
CONFIG_ARCH_BUTTONS=y
CONFIG_ARCH_CHIP="stm32h7"
CONFIG_ARCH_CHIP_STM32=y
CONFIG_ARCH_CHIP_STM32H743VI=y
CONFIG_ARCH_CHIP_STM32H7=y
CONFIG_ARCH_CHIP_STM32H7_CORTEXM7=y
CONFIG_ARCH_INTERRUPTSTACK=4096
CONFIG_ARCH_IRQBUTTONS=y
CONFIG_ARCH_STACKDUMP=y
CONFIG_ARMV7M_DCACHE=y
CONFIG_ARMV7M_DCACHE_WRITETHROUGH=y
CONFIG_ARMV7M_DTCM=y
CONFIG_ARMV7M_ICACHE=y
CONFIG_BCH=y
CONFIG_BOARDCTL_USBDEVCTRL=y
CONFIG_BOARD_LOOPSPERMSEC=43103
CONFIG_BUILTIN=y
CONFIG_CDCACM=y
CONFIG_CDCACM_VENDORSTR="NuttX-SblDevice"
CONFIG_DEBUG_ASSERTIONS=y
CONFIG_DEBUG_FEATURES=y
CONFIG_DEBUG_FS=y
CONFIG_DEBUG_FS_ERROR=y
CONFIG_DEBUG_FS_INFO=y
CONFIG_DEBUG_FS_WARN=y
CONFIG_DEBUG_LEDS=y
CONFIG_DEBUG_LEDS_ERROR=y
CONFIG_DEBUG_MEMCARD=y
CONFIG_DEBUG_MEMCARD_ERROR=y
CONFIG_DEBUG_MEMCARD_INFO=y
CONFIG_DEBUG_MEMCARD_WARN=y
CONFIG_DEBUG_SPI=y
CONFIG_DEBUG_SPI_ERROR=y
CONFIG_DEBUG_SPI_WARN=y
CONFIG_DEBUG_SYMBOLS=y
CONFIG_DEV_GPIO=y
CONFIG_EXAMPLES_BUTTONS=y
CONFIG_EXAMPLES_HELLO=y
CONFIG_EXPERIMENTAL=y
CONFIG_FS_NXFFS=y
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_INIT_ENTRYPOINT="nsh_main"
CONFIG_INPUT=y
CONFIG_INPUT_BUTTONS=y
CONFIG_INPUT_BUTTONS_DEBOUNCE_DELAY=20
CONFIG_INPUT_BUTTONS_LOWER=y
CONFIG_INTELHEX_BINARY=y
CONFIG_LINE_MAX=64
CONFIG_MMCSD=y
CONFIG_MMCSD_SDIO=y
CONFIG_MM_REGIONS=4
CONFIG_MTD=y
CONFIG_MTD_BYTE_WRITE=y
CONFIG_MTD_W25QXXXJV=y
CONFIG_NSH_BUILTIN_APPS=y
CONFIG_NSH_FILEIOSIZE=512
CONFIG_NSH_READLINE=y
CONFIG_NXFFS_MAXNAMLEN=64
CONFIG_OTG_ID_GPIO_DISABLE=y
CONFIG_PREALLOC_TIMERS=4
CONFIG_RAMLOG=y
CONFIG_RAMLOG_BUFSIZE=4096
CONFIG_RAMLOG_SYSLOG=y
CONFIG_RAM_SIZE=245760
CONFIG_RAM_START=0x20010000
CONFIG_RAW_BINARY=y
CONFIG_RR_INTERVAL=200
CONFIG_SCHED_HPWORK=y
CONFIG_SCHED_LPWORK=y
CONFIG_SDIO_WIDTH_D1_ONLY=y
CONFIG_SDMMC1_SDIO_PULLUP=y
CONFIG_SDMMC1_WIDTH_D1_ONLY=y
CONFIG_SERIAL_TERMIOS=y
CONFIG_SIG_DEFAULT=y
CONFIG_SPECIFIC_DRIVERS=y
CONFIG_SPI=y
CONFIG_START_DAY=11
CONFIG_START_MONTH=5
CONFIG_START_YEAR=2024
CONFIG_STM32_HSI48=y
CONFIG_STM32_OTGFS=y
CONFIG_STM32_QSPI=y
CONFIG_STM32_QSPI_CSHT=2
CONFIG_STM32_QSPI_FLASH_SIZE=8388608
CONFIG_STM32_QSPI_INTERRUPTS=y
CONFIG_STM32_SDMMC1=y
CONFIG_STM32_TIM1=y
CONFIG_STM32_USART1=y
CONFIG_SYSLOG_DEVPATH="/dev/ttyRAM"
CONFIG_SYSLOG_IOCTL=y
CONFIG_SYSLOG_REGISTER=y
CONFIG_SYSTEM_NSH=y
CONFIG_SYSTEM_SYSTEM=y
CONFIG_TASK_NAME_SIZE=0
CONFIG_TTY_SIGINT=y
CONFIG_TTY_SIGTSTP=y
CONFIG_USART1_SERIAL_CONSOLE=y
CONFIG_USBDEV=y
CONFIG_W25QXXXJV_QSPI_FREQUENCY=120000000
Loading
Loading