Skip to content

Commit

Permalink
Added OVERVIEW.md
Browse files Browse the repository at this point in the history
  • Loading branch information
ReinhardKeil authored and DavidLesnjak committed Oct 8, 2024
1 parent 87178cd commit cd148de
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 1 deletion.
66 changes: 66 additions & 0 deletions Documents/OVERVIEW.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Introduction

The **STMicroelectronics STM32U5 Series Device Family Pack (DFP)** is a [CMSIS-Pack](https://open-cmsis-pack.github.io/Open-CMSIS-Pack-Spec/main/html/index.html) that:

- Enables compatible tools with device support.
- Supports Arm Compiler 6 (AC6), GCC, and IAR.
- Contains [System View Description (SVD)](https://open-cmsis-pack.github.io/svd-spec/main/index.html) descriptions of the peripherals.
- Flash algorithms for the on-chip Flash memory.
- Debug configuration information.

## CMSIS-Driver Support

This DFP is tested with the [CMSIS-Driver_STM32](https://www.keil.arm.com/packs/cmsis-driver_stm32-arm) pack that implements [CMSIS-Driver](https://arm-software.github.io/CMSIS_6/latest/Driver/index.html) interfaces using a shim layer to the STM32Cube HAL. The following drivers are supported.

```yml
- component: CMSIS-Driver:GPIO # GPIO Driver for STM32 devices
- component: CMSIS-Driver:I2C # I2C Driver for STM32 devices
- component: CMSIS-Driver:MCI # MCI Driver for STM32 devices
- component: CMSIS-Driver:SPI # SPI Driver for STM32 devices
- component: CMSIS-Driver:USART # USART Driver for STM32 devices
- component: CMSIS-Driver:USB Device # USB Device Driver for STM32 devices
- component: CMSIS-Driver:USB Host # USB Host Driver for STM32 devices
```
## CubeMX Support
The device is configured using [STM32CubeMX](https://www.st.com/en/development-tools/stm32cubemx.html) (CubeMX). 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 with *csolution projects*.
Add this component to your *csolution project* to connect to CubeMX.
```yml
- component: CMSIS:CORE
- component: Device:CubeMX # Component that connects to CubeMX
```
> **Important Note:**
>
> The DFP **does not** contain [Startup and System Configuration files](https://arm-software.github.io/CMSIS_6/latest/Core/using_pg.html) and **does not** provide the [`CMSIS_device_header`](https://arm-software.github.io/CMSIS_6/latest/Core/using_pg.html#using_packs) provided
> by the CMSIS-Core that defines the registers and interrupt mapping. This files are provided by the CubeMX firmware pack. It is therefore mandatory to use CubeMX when using this DFP as it will pull-in these files and make it accessible.

## Usage in VS Code

The [VS Code Arm CMSIS Solution](https://marketplace.visualstudio.com/items?itemName=Arm.cmsis-csolution) extension lets you run CubeMX from the CMSIS Solution View.

- In the dialog **Create New Solution** choose a device or board and select a CubeMX template (which contains the `Device:CubeMX` component).

- Use `Run Generator` that is available for the component `Device:CubeMX` in the CMSIS Solution View. This starts CubeMX and once the configuration is complete, click in CubeMX the button `GENERATE CODE`. The generated code is imported with file `CubeMX.cgen.yml` as shown below.

![VS Code - CubeMX Integration](VSCode-CubeMX.png)

> **Note:**
>
> 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. It contains useful hints, for example for the configuration of an [RTOS]( https://github.com/Open-CMSIS-Pack/cmsis-toolbox/blob/main/docs/CubeMX.md#add-rtos).

## Usage in uVision

The uVision lets you run CubeMX from the Manage Run-Time Environment Window.

- Select a device and enable in the *Manage Run-Time Environment Window* the components:

- `CMSIS:CORE`
- `Device:CubeMX`

- Use `Launch CubeMX` that is available for the component `Device:CubeMX` in the *Manage Run-Time Environment Window*. This starts CubeMX and once the configuration is complete, click in CubeMX the button `GENERATE CODE`. The generated code is imported with file `CubeMX.cgen.yml`.

![uVision - CubeMX Integration](UV-CubeMX.png)
Binary file added Documents/UV-CubeMX.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added Documents/VSCode-CubeMX.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion Keil.STM32U5xx_DFP.pdsc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<package schemaVersion="1.7.36" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.36/schema/PACK.xsd">
<vendor>Keil</vendor>
<name>STM32U5xx_DFP</name>
<description>STMicroelectronics STM32U5 Series Device Support</description>
<description overview="Documents/OVERVIEW.md">STMicroelectronics STM32U5 Series Device Support</description>
<url>https://www.keil.com/pack/</url>
<repository type="git">https://github.com/Open-CMSIS-Pack/STM32U5xx_DFP.git</repository>
<license>LICENSE</license>
Expand Down

0 comments on commit cd148de

Please sign in to comment.