STM32N6 Classic Core Middleware (CoreMW) MCU Firmware Package

March 9, 2026 ยท View on GitHub

latest tag

freertos fatfs usb_device usb_host lwip

Description

STM32Cube is an STMicroelectronics original initiative to ease developers' life by reducing efforts, time and cost.

Classic CoreMW is a collection of middleware stacks and associated applications allowing RTOS management, File System operations and connectivity through USB and Ethernet. It is based on:

  • ST's proprietary stacks: ST USB Device and ST USB Host
  • Third parties' stacks: FreeRTOS, FatFS, and LwIP

Note

  • FreeRTOS Middleware and examples are delivered on STM32N6 in the form of X-CUBE-FREERTOS that is available from st.com, from GitHub.
  • Only FatFs_RAMDISK_Standalone application is provided with preconfigured projects for EWARM, Keil MDK-ARM and STM32CubeIDE toolchains. All others are provided only with preconfigured projects for EWARM toolchain.
  • Projects in this package have not been generated with STM32CubeMX (i.e., no .ioc files are delivered).

This package is exclusively published on GitHub (and is neither available in STM32CubeMX nor STM32CubeIDE available on www.st.com). It contains the integration of the Classic CoreMW stacks with STM32N6 devices, allowing users to get quick access to pre-built projects integrating them.

Note

  • The repository containing this package has been created using the git submodule command. Please refer to the "How to use" section explaining how to clone this repository and how to get the latest updates.

List of applications

The STM32N6 Classic CoreMW package contains the following applications:

MiddlewareApplicationShort Description
FatFsFatFs_RAMDISK_StandaloneShows how to use STM32Cube firmware with FatFs middleware component as a generic FAT file system module
ST USB DeviceHID_StandaloneShows a typical application where the STM32 MCU is enumerated as a HID device
ST USB DeviceCDC_StandaloneShows a typical application where the STM32 MCU is enumerated as a CDC device
ST USB DeviceCustomHID_CDC_ACM_RTOSShows a typical application where the STM32 MCU is enumerated as a CustomHID CDC device
ST USB HostHID_StandaloneShows how to use USB host application based on the Human Interface Class (HID) to connect a mouse or a keyboard
ST USB HostCDC_StandaloneShows how to use USB host application based on the Communication Device Class (CDC) to communicate with a usb flash disk
LwIPLwIP_TCP_Echo_ServerThis application guides STM32Cube HAL API users to run TCP Echo Server application based on Raw API of LwIP TCP/IP stack
LwIPLwIP_UDP_Echo_ServerThis application guides STM32Cube HAL API users to run UDP Echo Server application based on Raw API of LwIP TCP/IP stack

Note

  • Projects in this package have not been generated with STM32CubeMX (i.e., no .ioc files are delivered).

Boards available

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain 9.40.1 + ST-LINKV3.Patch available here
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.39 + ST-LINKV3.Patch available here
  • STM32CubeIDE V2.1.0 + ST-LINKV3

Dependencies

This package has been developed and tested using the list of components detailed in the table below.

NameVersion
Cortex-M CMSISv5.9.0_fix_620_dsp_v1.10.0_nn_v3.1.0_no_doc
STM32N6xx CMSISV1.3.0
STM32N6xx HALV1.3.0
BSP STM32N6xx NUCLEOV1.2.0
BSP STM32N6570-DKV1.3.0
BSP CommonV7.3.0
BSP lan8742V1.0.4
BSP tcpp0203V1.2.3
FreeRTOSV11.2.0
FatFSR0.15
LwIPV2.2.1
STM32 USB Device LibraryV2.11.5
STM32 USB Host LibraryV3.5.4
STM32 USBPD Core LibraryV5.3.1
STM32 USBPD Device Libraryn6_V1.0.1

How to use

This repository intrinsically contains the applications (projects and source files) located under folder ./Projects. It also contains the CMSIS Core files under folder ./Drivers/CMSIS/Include for size optimization reason. Other dependencies such as the HAL and BSP drivers, or the middleware libraries themselves are linked using the git submodule command. Please check the instructions below for a proper use.


Note

  • USB-PD library is momentarily contained in this repository pending its publication on GitHub. Once published, it will be added as a submodule like the other components.

  • To clone this repository along with the linked submodules, option --recursive has to be specified as shown below.
git clone --recursive https://github.com/STMicroelectronics/stm32n6-classic-coremw-apps.git
  • To get the latest updates, issue the following two commands (with the repository stm32n6-classic-coremw-apps as the current working directory).
git pull
git submodule update --init --recursive

Note

  • If GitHub "Download ZIP" option is used instead of the git clone command, then the required components have to be collected manually by the user.

Known Limitations

  • None

Troubleshooting

Please refer to the CONTRIBUTING.md guide.