diff --git a/Documents/OVERVIEW.md b/Documents/OVERVIEW.md new file mode 100644 index 0000000..59d2c2b --- /dev/null +++ b/Documents/OVERVIEW.md @@ -0,0 +1,41 @@ +# STM32H735G-DK_BSP + +The **STMicroelectronics STM32H735G-DK Board Support Pack (BSP)**: + +- Contains examples and board layers in *csolution format* for usage with the [CMSIS-Toolbox](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/README.md) and the [VS Code CMSIS Solution](https://marketplace.visualstudio.com/items?itemName=Arm.cmsis-csolution) extension. +- Requires the [Device Family Pack (DFP) for the STM32H7 series](https://www.keil.arm.com/packs/stm32h7xx_dfp-keil). +- Is configured with [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html) for the Arm Compiler 6 (MDK). [Using GCC Compiler](#using-gcc-compiler) explains how to configured it for a different compiler. + +## Content in *csolution format* + +- [Examples/Blinky](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Examples/Blinky) shows the basic usage of this board. + +- [Board Layer](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Layers/Default) for device-agnostic [Reference Applications](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/ReferenceApplications.md) that provides the following connections: + +| Provided connection | Description +|:------------------------------|:------------------------------------------------------------------------------ +| CMSIS_ETH | CMSIS-Driver Ethernet connected to Ethernet RJ45 connector (CN3) +| CMSIS_MCI | CMSIS-Driver MCI connected to microSD connector (CN2) +| CMSIS_USB_Device | CMSIS-Driver USB Device connected to USB_OTG_FS connector (CN14) +| CMSIS_VIO | CMSIS-Driver VIO connected to LEDs (LD2, LD1) and USER button (B2) +| STDIN, STDOUT, STDERR | Standard I/O connected to Virtual COM port on ST-LINK connector (CN15) +| ARDUINO_UNO_D2..D10, D14..D19 | CMSIS-Driver GPIO connected to Arduino digital I/O pins D2..D10 and D14..D19 +| ARDUINO_UNO_I2C | CMSIS-Driver I2C connected to Arduino I2C pins D20..D21 +| ARDUINO_UNO_SPI | CMSIS-Driver SPI connected to Arduino SPI pins D11..D13 +| ARDUINO_UNO_UART | CMSIS-Driver USART connected to Arduino UART pins D0..D1 + +## Using GCC Compiler + +By default the [Board Layers](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Layers) are configured for the Arm Compiler 6 (AC6). Using STM32CubeMX it can be reconfigured for a different compiler. To configure it for the GCC compiler execute these steps: + +- In the `.csolution.yml` project file select `compiler: GCC`. +- Launch the STM32CubeMX generator with this CMSIS-Toolbox command: + `csolution .csolution.yml run -g CubeMX -c ` +- In STM32CubeMX: + - Open from the menu `Project Manager - Project - Toolchain/IDE`: + - Select `STM32CubeIDE` and disable `Generate Under Root`. + - Click `GENERATE CODE` to recreate the CubeMX generated files for the GCC compiler. + +- In the `Board.clayer.yml` file, update `linker:` node configuration to reference appropriate GCC linker script. + The GCC linker script is typically generated in the `STM32CubeMX/STM32CubeIDE` folder. Customize the GCC linker script file to your project's requirements. +- Rebuild the project using the CMSIS-Toolbox command `cbuild .csolution.yml`. diff --git a/Documents/README.md b/Documents/README.md index f55a6c7..1a819a6 100644 --- a/Documents/README.md +++ b/Documents/README.md @@ -1,4 +1,6 @@ -# Overview +# STM32H735G-DK Discovery kit + +## Overview The STM32H735G-DK Discovery kit is a complete demonstration and development platform for Arm® Cortex®-M7 core-based STM32H735IGK6 microcontroller, with 1 Mbyte of flash memory and 564 Kbytes of SRAM. @@ -8,11 +10,11 @@ The full range of hardware features available on the board helps users to enhanc STLINK-V3E is integrated into the board, as the embedded in-circuit debugger and programmer for the STM32 MCU and USB Virtual COM port bridge. -# Getting started +## Getting started - [User manual](https://www.st.com/resource/en/user_manual/um2679-discovery-kit-with-stm32h735ig-mcu-stmicroelectronics.pdf) -## ST-LINK driver installation and firmware upgrade (on Microsoft Windows) +### ST-LINK driver installation and firmware upgrade (on Microsoft Windows) 1. Download the latest [ST-LINK driver](https://www.st.com/en/development-tools/stsw-link009.html). 2. Extract the archive and run `dpinst_amd64.exe`. Follow the displayed instructions. @@ -23,7 +25,7 @@ STLINK-V3E is integrated into the board, as the embedded in-circuit debugger and 7. When the ST-LINK driver is correctly installed, the current ST-LINK version is displayed. 8. Press the **Yes >>>>** button to start the firmware upgrade process. -# Technical reference +## Technical reference - [STM32H735IG microcontroller](https://www.st.com/en/microcontrollers-microprocessors/stm32h735ig.html) - [STM32H735G-DK board](https://www.st.com/en/evaluation-tools/stm32h735g-dk.html) diff --git a/Keil.STM32H735G-DK_BSP.pdsc b/Keil.STM32H735G-DK_BSP.pdsc index 8ab48be..89b9adc 100644 --- a/Keil.STM32H735G-DK_BSP.pdsc +++ b/Keil.STM32H735G-DK_BSP.pdsc @@ -2,7 +2,7 @@ STM32H735G-DK_BSP Keil - STMicroelectronics STM32H7 Series STM32H735G-DK Board Support Pack + STMicroelectronics STM32H7 Series STM32H735G-DK Board Support Pack https://www.keil.com/pack/ https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP.git LICENSE @@ -103,16 +103,15 @@ + salesContact="https://www.st.com/content/st_com/en/contact-us.html"> STM32 Discovery development board with STM32H735IG MCU - - - - + + + + diff --git a/README.md b/README.md index bbf6f8b..0059d42 100644 --- a/README.md +++ b/README.md @@ -18,39 +18,11 @@ Directory | Description [.ci](./.ci) | Files that are related to the Continuous Integration (CI) tests of this BSP. [.github/workflows](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/.github/workflows) | [GitHub Actions](#github-actions) scripts described below. [CMSIS/Driver](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/CMSIS/Driver) | Contains a [CMSIS-Driver VIO](https://arm-software.github.io/CMSIS_6/latest/Driver/group__vio__interface__gr.html) that is configured for the board peripherals. -[Documents](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Documents) | Information about the board provided by STMicroelectronics. +[Documents](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Documents) | [Usage overview](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Documents/OVERVIEW.md) for examples and board documentation provided by STMicroelectronics. [Examples/Blinky](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Examples/Blinky) | Blinky example in *csolution project format* using [CMSIS-Driver VIO](https://arm-software.github.io/CMSIS_6/latest/Driver/group__vio__interface__gr.html) and [CMSIS-Compiler](https://arm-software.github.io/CMSIS-Compiler/main/index.html) for printf I/O retargeting. [Images](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Images) | [Pictures](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/blob/main/Images/Discovery_large.jpg) of the board. [Layers](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Layers) | Board layers for using the board with [CMSIS-Toolbox - Reference Applications](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/ReferenceApplications.md). -## Usage - -This BSP requires the [Device Family Pack (DFP) for the STM32H7 series](https://github.com/Open-CMSIS-Pack/STM32H7xx_DFP). - -- [Examples/Blinky](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Examples/Blinky) shows the usage in a [*csolution project*](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/blob/main/Examples/Blinky/Blinky.csolution.yml). - -- [Board Layers](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Layers) are designed for [Reference Applications](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/ReferenceApplications.md) and allow to run various device-agnostic examples on this board. - -The device is configured for this board using [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html). For additional information refer to: - -- [CMSIS-Toolbox - Configure STM32 Devices with CubeMX](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/CubeMX.md) for usage information of STM32CubeMX with CMSIS projects. - -## Using GCC Compiler - -By default the [Board Layers](https://github.com/Open-CMSIS-Pack/STM32H735G-DK_BSP/tree/main/Layers) are configured for the Arm Compiler 6 (AC6). Using STM32CubeMX it can be reconfigured for a different compiler. To configure it for the GCC compiler execute these steps: - -- In the `*.csolution.yml` project file select `compiler: GCC`. -- Launch the STM32CubeMX generator with this CMSIS-Toolbox command: - `csolution .csolution.yml run -g CubeMX -c ` -- In STM32CubeMX: - - Open from the menu `Project Manager - Project - Toolcahain/IDE`: - - Select `STM32CubeIDE` and disable `Generate Under Root`. - - Click `GENERATE CODE` to recreate the CubeMX generated files for the GCC compiler. - -- In the `*.clayer.yml` file, update `linker:` node configuration to reference appropriate GCC linker script. - The GCC linker script is typically generated in the `STM32CubeMX/STM32CubeIDE` folder. Customize the GCC linker script file to your project's requirements. -- Rebuild the project using the CMSIS-Toolbox command `cbuild *.csolution.yml`. - ## Using the development repository This development repository can be used in a local directory and [mapped as software pack](https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/build-tools.md#install-a-repository) using for example `cpackget` with: