精选的嵌入式系统库,RTOS,模块,参考等的精选清单
收藏
分享
脑图
精选的嵌入式系统库,RTOS,模块,参考等的精选清单
Packages, Libraries and RTOSes
TCP/IP
lwIP is a small independent implementation of the TCP/IP protocol suite that has been initially developed by Adam Dunkels. Supports DHCP with AutoIP fallback, UDP, TCP, and an interrupt driven model.
A very tiny IP stack, but also a very minimal IP stack. (Not maintained anymore)
CoAP
Small and lightweight coap encoder and decoder. Protocol level stuff is left to the user.
libcoap implements a lightweight application-protocol for devices that are constrained their resources such as computing power, RF range, memory, bandwith, or network packet sizes
A small CoAP implementation for microcontrollers
A flexible CoAP stack for embedded devices and computers. RFC7252 compatible.
CANopen
Open Source
CanFestival focuses on providing an ANSI-C platform independent CANopen® stack that can be built as master or slave nodes on PCs, Real-time IPCs, and Microcontrollers.
CANopenNode is written in ANSI C in object-oriented way. It runs on different microcontrollers, as standalone application or with RTOS.
A CANopen implementation for both masters and slaves written in C, but with a C++ interface.
Proprietary
Serialization
Nanopb is a plain-C implementation of Google's Protocol Buffers data format. It is targeted at 32 bit microcontrollers, but is also fit for other embedded systems with tight (2-10 kB ROM, <1 kB RAM) memory constraints.
A C encoder/decoder for MessagePack messages suitable for resource constriants embedded systems. Supports disabling dynamic memory allocation and overriding malloc, free, and realloc.
Intel's implementation of CBOR designed for their IOT-based applications and processors
RTOS
Free or Open Source
A operating system designed for low-power wireless devices, such as those used in sensor networks, ubiquitous computing, personal area networks, smart buildings, and smart meters.
A free Operating System with focus to provide standardized low-power wireless communication for a wide range of hardware platforms.
A free use Real Time Operating system which is widely used and supports a large number of platforms.
A free OS for IoT devices providing foundational trust services. The trust services include device identity, sealing, attestation, and data integrity. The term “Robust” is used because the minimal trusted computing base is tiny, and because RIoT capabilities can remotely re-establish trust in devices that have been compromised by malware.
Real-Time Executive for Multiprocessor Systems or RTEMS is an open source Real Time Operating System (RTOS) that supports open standard application programming interfaces (API) such as POSIX. It is used in space flight, medical, networking and many more embedded devices using processor architectures including ARM, PowerPC, Intel, Blackfin, MIPS, Microblaze and more.
Commercial
Certified version of FreeRTOS by TUEV SUED against IEC 61508 (basic functional safety standard) up to SIL3 (the highest safety integrity level for a single software component), ISO 26262 ASIL D (automotive standard) and EN62304 (medical device standard).
Two commercial RTOS variants targeting to power embedded systems with total reliability, absolute security, and maximum real-time performance. The variant INTEGRYTY-178 has a lot of safety and security certifications.
A commercial micro-kernel based operating system with a small footprint and certified for DO-178 (avionics), IEC-61508 (industrial), ISO-26262 (automotive).
A free embedded operating system specifically designed to quickly and easily build small, intelligent devices in Wind Rivers cloud-based development environment, Wind River Helix™ App Cloud.
Commercial, highly scalable micro-kernel based real-time operating system designed for scalability and reliability.
µC/OS-II and µC/OS-III are preemptive, highly portable, and scalable real-time kernels. You can test them out for free, but you must pay to put them into a product.
A real-time operating system for TI microcontrollers, It Includes TCP/IP and USB stacks, a FAT file system, and device drivers, Most of the TI-RTOS components are released under the BSD License.
Testing
unit testing and mocking framework for C/C++ with a focus on working for embedded systems!
Unit testing, mocking and build framework written in C with ruby for generating and building.
A lightweight and feature-rich C++98/C++11 single-header testing framework for unit tests and TDD.
A C++ mocking framework inspired by the ideas developed for Mockito written by Szczepan Faber, et al. The purpose is to provide similar construction semantics for creating mock objects leading to smaller, more readable test cases. It is designed to be a lightweight framework allowing you to mock dependencies for a system under test using a simple descriptive domain specific language. The goal is to help create simpler, less brittle test cases; ultimately, leading to less maintenance overhead in the future.
A thread safe header only mocking framework for C++14 using the Boost Software License 1.0
A modern, C++-native, header-only, test framework for unit-tests, TDD and BDD - using C++11, C++14, C++17 and later (or C++03 on the Catch1.x branch)
Frameworks
The ARM mbed IoT Device Platform provides the operating system, cloud services, tools and developer ecosystem to make the creation and deployment of commercial, standards-based IoT solutions possible at scale.
Alternative Languages (Not C/C++)
D
"This collection has libraries and tools to compile D language programs for embedded or "bare metal" systems with the gdc compiler. The main focus is STM32 controllers but the library and build tools are easy to port to any processor."
Presentation about D in tiny embedded systems.
Rust
Bare-metal ARM stack for rust. Aimed at replacing CMSIS or mbed (currently defunct)
RFCs proposed by the Rust community for better embedded systems support.
Articles about doing embedded on rust
Elixir
Uses buildroot to deploy Elixir programs running on the Erlang VM to embedded linux boards
Ada and Spark
Open source maintainer of Ada with a focus on embedded use.
Javascript
A openWRT based embedded system which can run Javascript.
A JavaScript engine intended to run on a very constrained devices such as microcontrollers. Designed for the Internet of Things.
Clojure
Ferret is a free software Clojure implementation for real time embedded control systems. Generated code is self contained ISO C++11, it is not tied to any one compiler, generated code should be portable between any Operating System and/or Microcontroller that supports a C++11 compliant compiler. It has been verified to run on architectures ranging from embedded systems with as little as 2KB of RAM to general purpose computers running Linux/Mac OS X/Windows.
Golang
GERT is a modified version of Go that runs bare-metal on armv7a SOCs. The minimal set of OS primitives that Go relies on have been re-implemented entirely in Go and Plan 9 assembly inside the modified runtime. The goal of this project is to bring the benefits of a high-level, type-safe, and garbage-collected language to bare-metal embedded environments.
MicroPython is a lean and efficient implementation of the Python 3 programming language that includes a small subset of the Python standard library and is optimised to run on microcontrollers and in constrained environments.
STL
C++ STL-like library for embedded developers with C++ 98 features only to maximize target platform compatibility.
Embedded Template Library which offers compile time defined container sizes, full C++ 03 and partial C++ 11 compatibility, deterministic behaviour, additional components for the embedded domain, etc.
Partial, code size implementation of the STL.
Electronic Arts STL - aimed for console devices. Good descripton avaliable HERE
Resources
Other Lists
Single File libraries for C++ and C. Some might be useful for embedded systems use.
Podcasts
Elicia White and Christopher White interview makes, hackers and engineers who work on embedded systems
Videos
More on the electronics side, but David L. Jones tears apart embedded systems and electronic devices.
Books
Anderson, Ross J.
Domeika, Max
González, Alex
Hagar, Jon Duncan
Kopetz, Hermann
Leveson, Nancy G.
Medoff, Michael and Faller, Rainer
Pathan, Al-Sakib Khan
Rausand, Marvin
Langr, Jeff
Simmonds, Chris
Covers the basics of embedded systems architecture, design and patterns.
How to approach test driven development for embedded devices written in C.
A book about the Micrium's uC/os III. It is a great resource on how RTOSes for embedded systems should work.
An introduction to embedded systems, with a good explanation to Real-time operating systems(RTOS).
Standards
Coding standards for embedded C from the Barr Group.
The SEI CERT C Coding Standard is a software coding standard for the C programming language to improve the safety, reliability, and security of software systems.
Tools
PlatformIO is an open source ecosystem for IoT development Cross-platform build system. Continuous and IDE integration. Arduino and ARM mbed compatible
Energia is an open-source electronics prototyping platform, it brings the Wiring and Arduino framework to the Texas Instruments MSP430 based LaunchPad, it includes an IDE that is based on Processing.
An open source visual programming platform for Arduino-compatible boards.
Embedded Linux
Yocto is a tool for creating custom embedded linux systems
Buildroot is a simple, efficient and easy-to-use tool to generate embedded Linux systems through cross-compilation.
Open source over-the-air (OTA) software updater for embedded Linux devices.
Linux Update agent with the goal to provide an efficient and safe way to update (local, remote, multiple update strategies) an embedded system.
Courses
not free
not free
Construction of Secure Systems (coursera) Landing page for 5 courses about security with relation to embedded systems.
Content: I2C/TWI, SPI, UART, MODBUS RTU, CAN, USB, ETHERNET, PCIE
not free
not free
not free - Learn about FreeRTOS basics. Practise it's APIs with different examples.
not free
not free
not free
not free - Evaluate your Embedded Systems knowledge, in just 100 minutes, for any entry level job
评论
0 / 100
查看更多
Lucia
2020-03-17
1697
硬禾服务号
关注最新动态
0512-67862536
info@eetree.cn
江苏省苏州市苏州工业园区新平街388号腾飞创新园A2幢815室
苏州硬禾信息科技有限公司
Copyright © 2023 苏州硬禾信息科技有限公司 All Rights Reserved 苏ICP备19040198号