Arm and partners provide support and integration for a range of open source languages and libraries for your IoT development.

Explore these libraries and programming languages: from low-level languages for small, low-power devices, to high-level languages for devices with more computing power, and libraries that ensure portable, performant and secure code.

Go to section:

Languages | Libraries | Machine learning libraries

Languages

Python and MicroPython

Python is popular for DSP and ML development. A variant is MicroPython that can be used to program microcontrollers.

Learn more

Rust

A fast, flexible and memory-efficient programming language for IoT devices.

Learn more

TinyGo

TinyGo is a programming language based on Go, and used on microcontrollers. Get started and use TinyGo in your next microcontroller project.

Learn more

C

C is a popular language for embedded systems that gives you full control and access to all the underlying hardware features. Get started and use C in your next project.

Learn more

C++

C++ has a similar syntax to C and allows you to take advantage of the object-oriented paradigm. Learn more and get started with useful resources on C++.

Learn more

Libraries

CMSIS

The Cortex Microcontroller Software Interface Standard (CMSIS) provides a common software interface between Cortex processors and device peripherals.

Learn more

Mbed TLS

The Mbed TLS library provides cryptographic components for IoT and embedded projects that have a minimal code footprint.

Learn more

Machine learning libraries

CMSIS-NN

The CMSIS-NN open source software library is a collection of optimized neural network kernels for Cortex-M based devices.

Learn more

Arm Compute Library

The Arm Compute Library contains optimized low-level functions for Arm Cortex processors and Mali GPUs targeting machine learning applications.

Learn more

Get Support


Community Forums

Answered Inconsistent shareability domain on tlbi instructions
  • Cortex-A72
  • Cortex-A53
0 votes 496 views 3 replies Latest yesterday by josecm Answer this
Not answered Memory violation calling ATSAM3X8 0 votes 153 views 0 replies Started yesterday by ccandido Answer this
Answered how to calculate unaligned address for APB? 0 votes 10918 views 8 replies Latest yesterday by Colin Campbell Answer this
Suggested answer Instruction Count and Memory Access
  • CoreSight Debug and Trace
  • Musca-A
  • Cortex-M33
0 votes 258 views 2 replies Latest yesterday by Lica Answer this
Answered Inconsistent shareability domain on tlbi instructions Latest yesterday by josecm 3 replies 496 views
Not answered Memory violation calling ATSAM3X8 Started yesterday by ccandido 0 replies 153 views
Answered how to calculate unaligned address for APB? Latest yesterday by Colin Campbell 8 replies 10918 views
Suggested answer Instruction Count and Memory Access Latest yesterday by Lica 2 replies 258 views