Apache Mynewt

Last updated
Mynewt
Apache Mynewt Logo.svg
Developer Apache Software Foundation, community
Written in C (Mynewt OS)
Go (Newt Tool)
Working stateStable
Source model Open-source
Latest release 1.11.0 / September 7, 2023;5 months ago (2023-09-07) [1]
Repository github.com/apache/mynewt-core
Platforms Cortex-M0, Cortex-M3, Cortex-M4, Cortex-M7, MIPS32, Microchip PIC32, RISC-V
License Apache License 2.0
Official website mynewt.apache.org

Apache Mynewt is a modular real-time operating system for connected Internet of things (IoT) [2] devices that must operate for long times under power, memory, and storage constraints. It is free and open-source software incubating under the Apache Software Foundation, [3] with source code distributed under the Apache License 2.0, a permissive license that is conducive to commercial adoption of open-source software. [4]

Contents

Overview

Apache Mynewt is a real-time operating system with a rich set of libraries intended to make prototyping, deploying, and managing 32-bit microcontroller based IoT devices easy. [5] It is highly composable, to allow building embedded system applications (e.g., locks, medical devices, industrial IoT) across different types of microcontrollers. The name Mynewt is wordplay on the English word minute , meaning very small: the kernel is only 6 KB in size.

The OS is designed for connectivity, and comes with a full implementation of the Bluetooth low energy 4.2 stack. With the addition of BLE (supporting all Bluetooth 4.2 compliant security features except privacy) and various utilities such as the default file system, console, shell, logs, stats, etc., the image size is approximately 96 KB for the Nordic nRF51822 Bluetooth SoC. [6] This size metric excludes the boot loader image.

Core features

The core operating system supports: [3]

Other features and utilities include:

Bluetooth low energy

The first network stack available in Mynewt is Bluetooth low energy [7] and is called NimBLE. It complies with Bluetooth Core Specification 4.2. [8]

NimBLE includes both the host and controller components. Access to the controller source code makes the BLE performance highly configurable. For example, the BLE throughput can be adjusted by changing the connection intervals, data packet size, packet queue size etc. A use case requiring a large number of concurrent connections can similarly be configured, provided there is adequate RAM allocated. Example applications that demonstrate how to use available services are included in the package.

Supported boards

The operating system is designed for cross-platform use in embedded systems (devices) and microcontrollers. It includes board support packages for the following, as of July 2023: [9]

Package management

The project includes the Newt Tool which is a command-line interface (CLI) based smart source package manager system for embedded systems development. Also, it allows composing builds with specified packages and compiler options, generating images and their digital signatures, and finally downloading and debugging the firmware on different targets.

See also

Related Research Articles

<span class="mw-page-title-main">Embedded software</span> Computer software written to control machines not typically thought of as computers

Embedded software is computer software, written to control machines or devices that are not typically thought of as computers, commonly known as embedded systems. It is typically specialized for the particular hardware that it runs on and has time and memory constraints. This term is sometimes used interchangeably with firmware.

<span class="mw-page-title-main">Nordic Semiconductor</span> Norwegian multinational semiconductors manufacturer

Nordic Semiconductor ASA was founded in 1983 and is a Norwegian fabless technology company with its headquarters in Trondheim, Norway. The company specializes in designing ultra-low-power wireless communication semiconductors and supporting software for engineers developing and manufacturing Internet of Things (IoT) products.

Atmel ARM-based processors are microcontrollers and microprocessors integrated circuits, by Microchip Technology, that are based on various 32-bit ARM processor cores, with in-house designed peripherals and tool support.

<span class="mw-page-title-main">Cypress PSoC</span> Type of integrated circuit

PSoC is a family of microcontroller integrated circuits by Cypress Semiconductor. These chips include a CPU core and mixed-signal arrays of configurable integrated analog and digital peripherals.

<span class="mw-page-title-main">.NET Micro Framework</span> Open source .NET platform

The .NET Micro Framework (NETMF) is a .NET Framework platform for resource-constrained devices with at least 512 kB of flash and 256 kB of random-access memory (RAM). It includes a small version of the .NET Common Language Runtime (CLR) and supports development in C#, Visual Basic .NET, and debugging using Microsoft Visual Studio. NETMF features a subset of the .NET base class libraries, an implementation of Windows Communication Foundation (WCF), a GUI framework loosely based on Windows Presentation Foundation (WPF), and a Web Services stack based on Simple Object Access Protocol (SOAP) and Web Services Description Language (WSDL). NETMF also features added libraries specific to embedded applications. It is free and open-source software released under Apache License 2.0.

A Bluetooth stack is software that is an implementation of the Bluetooth protocol stack.

EFM32 Gecko MCUs are a family of mixed-signal 32-bit microcontroller integrated circuits from Energy Micro based on ARM Cortex-M CPUs, including the Cortex-M0+, Cortex-M3 and Cortex-M4.

<span class="mw-page-title-main">Arm Holdings</span> British multinational semiconductor and software design company

Arm Holdings plc is a British semiconductor and software design company based in Cambridge, England, whose primary business is the design of central processing unit (CPU) cores that implement the ARM architecture family of instruction sets. It also designs other chips, provides software development tools under the DS-5, RealView and Keil brands, and provides systems and platforms, system-on-a-chip (SoC) infrastructure and software. As a "holding" company, it also holds shares of other companies. Since 2016, it has been majority owned by Japanese conglomerate SoftBank Group.

Huawei Lite OS is a discontinued lightweight real-time operating system (RTOS) developed by Huawei. It is an open source, POSIX compliant operating system for Internet of things (IoT) devices, released under a three-clause BSD license. Microcontrollers of different architectures such as ARM, x86, and RISC-V are supported by the project. Huawei LiteOS is part of Huawei's '1+8+N' Internet of Things solution, and has been featured in a number of open source development kits and industry offerings.

<span class="mw-page-title-main">ARM Cortex-M</span> Group of 32-bit RISC processor cores

The ARM Cortex-M is a group of 32-bit RISC ARM processor cores licensed by ARM Limited. These cores are optimized for low-cost and energy-efficient integrated circuits, which have been embedded in tens of billions of consumer devices. Though they are most often the main component of microcontroller chips, sometimes they are embedded inside other types of chips too. The Cortex-M family consists of Cortex-M0, Cortex-M0+, Cortex-M1, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M23, Cortex-M33, Cortex-M35P, Cortex-M52, Cortex-M55, Cortex-M85. A floating-point unit (FPU) option is available for Cortex-M4 / M7 / M33 / M35P / M52 / M55 / M85 cores, and when included in the silicon these cores are sometimes known as "Cortex-MxF", where 'x' is the core variant.

<span class="mw-page-title-main">STM32</span> ARM Cortex-M based Microcontrollers by STMicroelectronics

STM32 is a family of 32-bit microcontroller integrated circuits by STMicroelectronics. The STM32 chips are grouped into related series that are based around the same 32-bit ARM processor core: Cortex-M0, Cortex-M0+, Cortex-M3, Cortex-M4, Cortex-M7, Cortex-M33. Internally, each microcontroller consists of ARM processor core(s), flash memory, static RAM, debugging interface, and various peripherals.

Mbed is a development platform and real-time operating system (RTOS) designed for internet-connected devices that utilize 32-bit ARM Cortex-M microcontrollers. These internet-enabled devices are often categorized under the Internet of Things (IoT) umbrella. The Mbed project is a collaborative effort led by Arm Holdings, in partnership with various technology companies and contributors.

<span class="mw-page-title-main">NXP LPC</span> Family of 32-bit microcontroller integrated circuits

LPC is a family of 32-bit microcontroller integrated circuits by NXP Semiconductors. The LPC chips are grouped into related series that are based around the same 32-bit ARM processor core, such as the Cortex-M4F, Cortex-M3, Cortex-M0+, or Cortex-M0. Internally, each microcontroller consists of the processor core, static RAM memory, flash memory, debugging interface, and various peripherals. The earliest LPC series were based on the Intel 8-bit 80C51 core. As of February 2011, NXP had shipped over one billion ARM processor-based chips.

nRF51 series

The nRF51 Series SoCs are a family of ultra low-power wireless SoCs from Nordic Semiconductor. The nRF51 series are designed to enable a wide range of wireless embedded systems and consumer electronic products in many different fields of wireless connectivity including wearable devices, computer peripherals, mobile phone accessories, security devices and sensor applications. The nRF51 series devices support a range of ultra low-power wireless communication protocols including: Bluetooth low energy, ANT, ANT+ and 2.4 GHz proprietary protocols.

<span class="mw-page-title-main">Micro Bit</span> Single-board computer designed by the BBC for use in computer education

The Micro Bit is an open source hardware ARM-based embedded system designed by the BBC for use in computer education in the United Kingdom. It was first announced on the launch of BBC's Make It Digital campaign on 12 March 2015 with the intent of delivering 1 million devices to pupils in the UK. The final device design and features were unveiled on 6 July 2015 whereas actual delivery of devices, initially planned for September 2015 to schools and October 2015 to general public, began on 10 February 2016.

<span class="mw-page-title-main">Zephyr (operating system)</span> Real-time operating system

Zephyr is a small real-time operating system (RTOS) for connected, resource-constrained and embedded devices supporting multiple architectures and released under the Apache License 2.0. Zephyr includes a kernel, and all components and libraries, device drivers, protocol stacks, file systems, and firmware updates, needed to develop full application software.

<span class="mw-page-title-main">ESP32</span> Low-cost, low-power SoC microcontrollers with Bluetooth and Wi-Fi

ESP32 is a series of low-cost, low-power system on a chip microcontrollers with integrated Wi-Fi and dual-mode Bluetooth. The ESP32 series employs either a Tensilica Xtensa LX6 microprocessor in both dual-core and single-core variations, Xtensa LX7 dual-core microprocessor or a single-core RISC-V microprocessor and includes built-in antenna switches, RF balun, power amplifier, low-noise receive amplifier, filters, and power-management modules. ESP32 is created and developed by Espressif Systems, a Chinese company based in Shanghai, and is manufactured by TSMC using their 40 nm process. It is a successor to the ESP8266 microcontroller.

<span class="mw-page-title-main">RP2040</span> ARM-architecture microcontroller by the Raspberry Pi Foundation

RP2040 is a 32-bit dual ARM Cortex-M0+ microcontroller integrated circuit by Raspberry Pi Ltd. In January 2021, it was released as part of the Raspberry Pi Pico board.

References

  1. "Download - Apache Mynewt". mynewt.apache.org. Apache Software Foundation. Retrieved 2023-10-07.
  2. "Arduino and Runtime Collaborate to Introduce Apache Mynewt (incubating) to Arduino Ecosystem". globenewswire.com (Press release). 20 May 2016. Retrieved 2016-05-24.
  3. "Mynewt Incubation Status – Apache Incubator". incubator.apache.org. Retrieved 2016-05-24.
  4. "Apache Mynewt RTOS Addresses IoT Power, Memory, Storage Constraints". www.infoq.com. Retrieved 2016-06-28.
  5. "Open RTOS Targets Net of Things". www.eetimes.com. Retrieved 2016-05-24.
  6. "nRF51822". Archived from the original on 2016-05-17. Retrieved 2016-05-24.
  7. "Apache Mynewt finds a home on Arduino Srl's latest SBCs". www.linuxtoday.com. Archived from the original on 2016-05-28. Retrieved 2016-05-24.
  8. Bluetooth Core Specification 4.2
  9. "Getting Help". GitHub .