Skip to content

Nucleo-U5A5ZJ-Q (STM32U5A5), USBX, USB-C host, reading and writing pen drive files (MSC)

Notifications You must be signed in to change notification settings

tdjastrzebski/Nucleo-U5A5ZJ-USBX

Repository files navigation

Nucleo-U5A5ZJ-Q (STM32U5A5), USBX, USB-C host, reading and writing pen drive files

Nucleo-U5A5ZJ-Q configured as USB-C Host with MSC (mass storage) support

Note: to provide USB-C power, onboard undocumented jumpers SB8-SB10 must be closed and 2nd JP6 jumper in 5V_USB_C position is required - see below

write process success

jumpers SB8-SB10

2nd JP6 jumper in 5V_USB_C position

VS Code Environment Setup

Prerequisites

  • NodeJS + NPM
  • Python + PIP
  • Git
  • VS Code

pyOCD

  • pip install pyocd --upgrade On Windows install as admin, otherwise install is local and PATH setting is required.
  • pyocd pack update
  • pyocd pack find STM32U5A5
  • pyocd pack install STM32U5A5ZJTxQ

OpenOCD

  • Download the latest version from https://github.com/xpack-dev-tools/openocd-xpack/releases or build it yourself following this guide
  • Unzip it to OpenOCD folder in C:\Program Files
  • Set OpenOCD system variable to 'C:\Program Files\OpenOCD'
  • Add %OpenOCD%\bin to system PATH variable
  • Set XDG_CACHE_HOME env variable to %USERPROFILE%\AppData\Local\Temp to prevent symbol cache path error

Note: xpm utility does not really support global installations (yet), hence I suggest the above approach.

SVD file - MPU specific

Download from https://github.com/posborne/cmsis-svd/tree/master/data/STMicro and place in the root folder.

GNU Arm Embedded Toolchain

  • Required version: arm-none-eabi (bare-metal target) 10.3-2021.07
  • Do NOT use latest versions 11.x and 12.x. Newer versions currently have known bugs which may impact build and/or debug process.
  • Set MBED_GCC_ARM_PATH env variable to C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\10.3 2021.07\bin
  • Add MBED_GCC_ARM_PATH env variable to Windows Path env variable (%MBED_GCC_ARM_PATH%) - if not set by the installer.

Required NPM packages

  • npm install -g cppbuild
  • npm install -g shx
  • npm install -g @serialport/terminal

Required VS Code plug-ins

VS Code config

  • Set the default VS Code terminal to Git Bash. Otherwise, VS Code may try to execute task NPM packages as (e.g.) PowerShell scripts.

Recommended VS Code plug-ins

  • LinkerScript (Zixuan Wang)
  • Arm Assembly (dan-c-underwood)
  • Code Spell Checker (Street Side Software)
  • Build++ (Tomasz Jastrzębski)

Optional

References

About

Nucleo-U5A5ZJ-Q (STM32U5A5), USBX, USB-C host, reading and writing pen drive files (MSC)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages