Ethos-u root repository

Clone this repo:
  1. 3b10c9f Adding OpenAMP remotes by Kristofer Jonsson · 2 weeks ago master
  2. f0bc74f Switch Vela branch to main by Kristofer Jonsson · 8 weeks ago
  3. b02242c 22.11 release by Kristofer Jonsson · 10 weeks ago 22.11
  4. 40c0bfa Fetch revision and checkout FETCH_HEAD by Kristofer Jonsson · 2 months ago
  5. 3d56fd0 Add CMSIS-NN to README by Kristofer Jonsson · 3 months ago

Arm(R) Ethos(TM)-U

This is the root repository for all Arm(R) Ethos(TM)-U software. It is provided to help users download required repositories and place them in a tree structure.

Fetching externals

The externals can be downloaded with a Python script. The default configuration is stored in externals.json which is a human readable JSON file.

$ ./ fetch

The default configuration can be overridden with the -c argument, for example.

$ ./ -c 22.11.json fetch

Directory structure

The script will build following directory structure.

+-- core_platform
+-- core_software
|   +-- applications
|   +-- cmsis
|   +-- cmsis-nn
|   +-- cmsis-view
|   +-- core_driver
|   +-- drivers
|   +-- lib
|   +-- rtos
|   +-- tflite_micro
+-- linux_driver_stack
+-- vela
.This is the root directory for all Arm Ethos-U software.
core_platformThis directory contains target specific files and is provided as an example how core software can be built for target platforms.
core_softwareThe software executing on Arm Cortex-M is referred to as Core Software. This folder provides a small build system that illustrates how to build the key components for the Arm Ethos-U core software.
core_driverThe Arm Ethos-U NPU driver.
cmsisCMSIS provides generic interfaces to boot and configure the Arm Cortex-M CPUs.
cmsis-nnCMSIS-NN provides optimized neural network kernels for Arm Cortex-M CPUs.
tflite_microThe TensorFlow Lite microcontroller framework is used to run inferences.
linux_driver_stackExample driver stack showing how Linux can dispatch inferences to an Arm Ethos-U subsystem.
velaThe Vela optimizer takes a TFLu file as input and replaces operators that are supported by the Arm Ethos-U NPU with custom operators designed to run on the NPU. Operators not supported by the NPU are executed in software.


The Arm Ethos-U is provided under an Apache-2.0 license. Please see LICENSE.txt for more information.


The Arm Ethos-U project welcomes contributions under the Apache-2.0 license.

Before we can accept your contribution, you need to certify its origin and give us your permission. For this process we use the Developer Certificate of Origin (DCO) V1.1 (

To indicate that you agree to the terms of the DCO, you "sign off" your contribution by adding a line with your name and e-mail address to every git commit message. You must use your real name, no pseudonyms or anonymous contributions are accepted. If there are more than one contributor, everyone adds their name and e-mail to the commit message.

Author: John Doe \<\>
Date:   Mon Feb 29 12:12:12 2016 +0000

Title of the commit

Short description of the change.

Signed-off-by: John Doe
Signed-off-by: Foo Bar

The contributions will be code reviewed by Arm before they can be accepted into the repository.


Please see Security.

Trademark notice

Arm, Cortex and Ethos are registered trademarks of Arm Limited (or its subsidiaries) in the US and/or elsewhere.