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

Suggested answer Tasks can't switch to others, always run at OSStartHang. but whitout boot code ,the app can run ok. the core of the chip is cortex-M0 0 votes 2846 views 7 replies Latest yesterday by John_shi Answer this
Not answered SVCall returning to 0xdeadbeee
  • Cortex-M7
  • 11 (SVCall)
0 votes 161 views 0 replies Started 2 days ago by DanS Answer this
Suggested answer AHB-lite Slave Burst Operation
  • AHB-Lite
0 votes 333 views 2 replies Latest 2 days ago by eugch Answer this
Not answered How to test L1/L2 cache? 0 votes 134 views 0 replies Started 2 days ago by Zhiping Jiang Answer this
Suggested answer Tasks can't switch to others, always run at OSStartHang. but whitout boot code ,the app can run ok. the core of the chip is cortex-M0 Latest yesterday by John_shi 7 replies 2846 views
Not answered SVCall returning to 0xdeadbeee Started 2 days ago by DanS 0 replies 161 views
Suggested answer AHB-lite Slave Burst Operation Latest 2 days ago by eugch 2 replies 333 views
Not answered How to test L1/L2 cache? Started 2 days ago by Zhiping Jiang 0 replies 134 views