PolarSSL is a light-weight cryptographic and SSL/TLS library written in C. PolarSSL makes it easy for developers to include cryptographic and SSL/TLS capabilities in their (embedded) applications with as little hassle as possible. Loose coupling of the components inside the library means that it is easy to separate the parts that are needed, without needing to include the total library. PolarSSL is written with embedded systems in mind and has been ported on a number of architectures, including ARM, PowerPC, MIPS, and Motorola 68000. The source is written to have very loose coupling, enabling easy integration of parts in other software projects. Very loosely coupled cryptographic algorithms for MD2, MD4, MD5, SHA1, SHA-256, SHA-512, AES, Camellia, DES, Triple DES, ARC3, and RSA are included.
The Crossplex package of make macros simplifies the creation of embedded systems, and is powerful enough for large organizations to use for developing elaborate product lines. It allows you to organize many different products under a logical structure, making systems of any complexity easy to specify. When you have many different target platforms, each with multiple different software configurations, Crossplex keeps those configurations from stepping on each other, without requiring redundancy in your source tree. Crossplex allows you to use a single dependency tree encompassing both in-house software and third-party packages, and it is particularly suited to build automation. Crossplex makes it easy to shield your build from the host environment, setting all shell variables explicitly, and giving you complete control over the path that is used at any point in the build. This is nice when you want to support building on a variety of development platforms. Crossplex scales to your needs. You can dabble in the unpacking and patching features as you need them, or you can base your entire system from the ground up on the Crossplex framework. Crossplex supports creation and use of glibc and uClibc toolchains.
ntdisp, short for NtD In System Programming, is a system for programming LPC and STM32 (and possibly other) embedded devices. It provides three different frontends, a GObject-based library (for developers), a commandline utility (for computer geeks), and a GTK+3 frontend (for less geeky users).
EJDB is an embedded JSON database engine. It aims to be a fast MongoDB-like NoSQL library that can be embedded into C/C++/Nodejs/Python3/Lua applications. It features collection-level write locking, collection level transactions, string token matching queries, and a Node.js binding.
The KoreLogic Expression Language Library (libklel) is a C library that provides a simple expression language that can be embedded in other programs. It does not implement a full programming language, but rather a simpler expression language called KL-EL that is designed to provide arithmetic and logic operations in situations where embedding a full programming language would be overkill. KL-EL can access functions and variables exported from the embedding program, and is statically and strongly typed, which helps ensure that expressions are valid before they are executed. The embedding API is easy to use, and the library itself is very small.
OnPosix is a tiny library to abstract POSIX mechanisms to C++ developers. Most features offered by this library can be found either inside the Boost library or in a library compliant with the C++11 standard. Unfortunately, however, for some embedded Linux devices, these libraries cannot represent viable solutions, due to the lack of memory space (for the Boost libraries) and the lack of a new C++ compiler (e.g., on Xilinx MicroBlaze). On these platforms, the OnPosix library represents a good and cheap solution to have object-oriented POSIX mechanisms. The library offers support for threads, mutual exclusion, sockets, logging, timing, etc.