Real-Time Operating Systems (RTOS) & Embedded Runtimes
约 2 分钟阅读
Overview of various RTOS kernels and language-specific runtimes for embedded systems.
Mainstream RTOS Kernels
-
- aws/amazon-freertosGitHubaws/amazon-freertos
- License: MIT | Language: C | Tech: Real-time Kernel
- The most popular RTOS for microcontrollers, now supported by AWS.
-
- RT-Thread/rt-threadGitHubRT-Thread/rt-thread
- License: Apache 2.0 | Language: C | Tech: IoT RTOS
- An open-source IoT RTOS from China with a rich component ecosystem.
-
- zephyrproject-rtos/zephyrGitHubzephyrproject-rtos/zephyr
- License: Apache 2.0 | Language: C, Python | Tech: Scalable RTOS
- A scalable RTOS for resource-constrained devices, backed by the Linux Foundation.
-
- apache/mynewt-coreGitHubapache/mynewt-core
- License: Apache 2.0 | Language: C | Tech: Modular RTOS
- A modular RTOS for tiny IoT devices, featuring a small kernel (6KB).
Scripting & Interactive Runtimes
-
- nodemcu/nodemcu-firmwareGitHubnodemcu/nodemcu-firmwareNodeMCU is an open-source Lua-based firmware for ESP8266 and ESP32 WiFi SoCs. It includes an interactive Lua shell and a set of modules for interacting with hardware peripherals.笔记:NodeMCU Firmware & Ecosystem
- License: MIT | Language: C (Firmware), Lua (Scripting)
- Lua-based interactive firmware for ESP8266 and ESP32.
-
- micropython/micropythonGitHubmicropython/micropython
- License: MIT | Language: C, Python | Tech: Python 3 for MCU
- A lean and efficient implementation of Python 3 for microcontrollers.
-
- espruino/EspruinoGitHubespruino/Espruino
- License: MPL 2.0 | Language: C, JavaScript | Tech: JavaScript for MCU
- JavaScript interpreter for microcontrollers (STM32, nRF52, ESP32, etc.).
Modern Language Implementations
-
Go (TinyGo)
- tinygo-org/tinygoGitHubtinygo-org/tinygotinygo-org/tinygo - Go on Microcontrollers and WASM · 基于 LLVM Go · 语言特性支持 · Why go instead of rust · Go 优势 · Go 更具有主见性 - 因此更易学易用 - 更简单笔记:TinyGo
- License: BSD-3-Clause | Language: Go | Tech: LLVM-based Go Compiler
- Go compiler for small places (Microcontrollers, WebAssembly).
-
Go (TamaGo)
- f-secure-foundry/tamagoGitHubf-secure-foundry/tamagof-secure-foundry/tamago - bare metal Go for ARM SoCs · HN · Why#why) · 专注于 ARM SoC · 无 Linux - 相对更加安全笔记:TamaGo
- License: BSD-3-Clause | Language: Go | Tech: Bare-metal Go
- Framework for running pure Go applications on bare-metal ARM/RISC-V.
-
Rust
- Real Time For the Masses (RTFM) - Concurrency framework for embedded Rust.
- Rust Embedded Working GroupGitHubrust-embedded/wg
Vendor Specific SDKs
- Espressif (ESP8266)
- ESP8266_NONOS_SDKGitHubespressif/ESP8266_NONOS_SDK
- ESP8266_RTOS_SDKGitHubespressif/ESP8266_RTOS_SDK - Based on FreeRTOS.
Learning Resources
关联信息
反向链接、本文链接的其他页面和外部资料。
参考资料
GitHub12 条
- apache/mynewt-coregithub.com/apache/mynewt-core
- aws/amazon-freertosgithub.com/aws/amazon-freertos
- espressif/ESP8266_NONOS_SDKgithub.com/espressif/ESP8266_NONOS_SDK
- espressif/ESP8266_RTOS_SDKgithub.com/espressif/ESP8266_RTOS_SDK
- espruino/Espruinogithub.com/espruino/Espruino
- f-secure-foundry/tamagogithub.com/f-secure-foundry/tamago
- micropython/micropythongithub.com/micropython/micropython
- nodemcu/nodemcu-firmwaregithub.com/nodemcu/nodemcu-firmware
- RT-Thread/rt-threadgithub.com/RT-Thread/rt-thread
- rust-embedded/wggithub.com/rust-embedded/wg
- tinygo-org/tinygogithub.com/tinygo-org/tinygo
- zephyrproject-rtos/zephyrgithub.com/zephyrproject-rtos/zephyr
Wikipedia1 条
- Comparison of real-time operating systemsWikipedia:Comparison of real-time operating systems
其他外链9 条
- blog.japaric.io/rtfm-v2blog.japaric.io/rtfm-v2
- micropython.orgmicropython.org/
- mynewt.apache.orgmynewt.apache.org/
- nodemcu.comnodemcu.com/
- www.espruino.comwww.espruino.com/
- www.freertos.orgwww.freertos.org/
- www.nabto.com/how-to-choose-best-rtos-for-iotwww.nabto.com/how-to-choose-best-rtos-for-iot
- www.rt-thread.orgwww.rt-thread.org/
- www.zephyrproject.orgwww.zephyrproject.org/