printf-c.cc is a C++ module that replaces certain C-language libc functions with a tiny alternatives suitable for embedded programs. What -Wl,--wrap,somefunc does it replaces all calls to somefunc with calls to __wrap_somefunc, and all calls to __real_somefunc with calls to the original somefunc. It is handy when you need to replace a library function that is not declared “weak”.
https://github.com/bisqwit/tinyprintfTags | printf embedded tiny replacement plugin mbed arm |
Implementation | C++ |
License | MIT |
Platform |
Arm Mbed OS is an open source embedded operating system designed specifically for the "things" in the Internet of Things. It includes all the features you need to develop a connected product based on an Arm Cortex-M microcontroller, including security, connectivity, an RTOS and drivers for sensors and I/O devices. The release notes detail the current release. You can also find information about previous versions.
Official PlatformIO IDE for IoT, Arduino, ARM mbed, Espressif (ESP8266/ESP32), STM32, PIC32, nRF51/nRF52, FPGA, CMSIS, SPL, AVR, Samsung ARTIK, libOpenCM3
arduino iot atom build esp32 esp8266 libraries embedded ide platformio verilog fpga lattice hardware mbed microcontroller debugger unittest flash firmware avr arm serial monitorRT-Thread (Real-Time Thread) is an open source embedded real-time operating system. It has a strong scalability: from a nano kernel running on a tiny MCU, for example ARM Cortex-M0, or Cortex-M¾/7, to a rich feature system running on MIPS32, ARM Cortex-A, even the emerging open source RISC-V architecture is supported. RT-Thread can run either on single-core systems or on symmetric multi-core processors(SMP) systems.
rtos cortex-m iot arm mips kernel embedded-systems china cortex-a esp32 xtensa risc-v andes operating-system real-time-operating-systemAll user facing functions are defined in the namespace tinyformat. A namespace alias tfm is provided to encourage brevity, but can easily be disabled if desired. Three main interface functions are available: an iostreams-based format(), a string-based format() and a printf() replacement. These functions can be thought of as C++ replacements for C's fprintf(), sprintf() and printf() functions respectively. All the interface functions can take an unlimited number of input arguments if compiled with C++11 variadic templates support. In C++98 mode, the number of arguments must be limited to some fixed upper bound which is currently 16 as of version 1.3. Supporting more arguments is quite easy using the in-source code generator based on cog.py - see the source for details.
The mbed Software Development Kit (SDK) is a C/C++ microcontroller software to write code for ARM microcontrollers. It provides enough hardware abstraction to be intuitive and concise, but powerful enough to build complex projects. It includes all the base level startup code, C runtime and library pre-integrated and tested for the target microcontrollers, and high-level MCU peripheral APIs that allow you to drive the peripherals of the microcontrollers without going near a datasheet.
microcontrollers arm controller chip-design chipEvent-driven, RTOS-like, active object frameworks for microcontrollers
Zinc is an experimental attempt to write an ARM stack that would be similar to CMSIS or mbed in capabilities but would show rust's best safety features applied to embedded development. Zinc is mostly assembly-free and completely C-free at the moment. One of the goals of zinc is to figure out, how much of the usual RTOS stack is it possible to write in rust in a safe manner, while keeping the resource usage profile low enough (comparable to C/C++ code).
PlatformIO is an open source ecosystem for IoT development. Cross-platform IDE and unified debugger. Remote unit testing and firmware updates. See contributing guidelines.
iot embedded arduino mbed esp8266 esp32 fpga firmware continuous-integration cloud-ide avr arm platformio ide unit-testing hardware verilog microcontroller debugTengine, developed by OPEN AI LAB, is a lite, high-performance, and modular inference engine for embedded device. Tengine is composed of six modules: core/operator/serializer/executor/driver/wrapper.
arm arm-neon machine-learning artificial-intelligence dnn cnnGeneric POSIX printf itself can be Turing complete as shown in Control-Flow Bending. Here we take printf-oriented programming one step further and preset a brainfuck interpreter inside a single printf statement. An attacker can control a printf statement through a format string vulnerability (where an attacker-controlled string is used as first parameter to a printf-like statement) or if the attacker can control the first argument to a printf statement through, e.g., a generic memory corruption. See the disclaimer below for practical in the wild considerations.
turing-machine brainfuck-interpreter printf exploitation-frameworkBlynk provides iOS and Android apps to control any hardware over the Internet or directly using Bluetooth. You can easily build graphic interfaces for all your projects by simply dragging and dropping widgets, right on your smartphone. Blynk is the most popular IoT platform used by design studios, makers, educators, and equipment vendors all over the world. Please find examples on how to use different types of connections (transports) and how to do make something great with Blynk. You can easily apply any type of board/connection to all examples.
arduino esp8266 esp32 blynk particle-photon embedded hardware mbed raspberry-pi bluetooth bluetooth-low-energy serialport ethernet-shield wifi-shield gsm ota iot internet-of-things espressif c-plus-plusFerret is a free software lisp implementation designed to be used in real time embedded control systems. Ferret lisp compiles down to self contained C++11. Generated code is 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. A program that sums the first 5 positive numbers.
lisp compiler bare-metal microcontroller embedded-systems arduino teensy atmega armTock is an embedded operating system designed for running multiple concurrent, mutually distrustful applications on Cortex-M based embedded platforms. Tock's design centers around protection, both from potentially malicious applications and from device drivers. Tock uses two mechanisms to protect different components of the operating system. First, the kernel and device drivers are written in Rust, a systems programming language that provides compile-time memory safety, type safety and strict aliasing. Tock uses Rust to protect the kernel (e.g. the scheduler and hardware abstraction layer) from platform specific device drivers as well as isolate device drivers from each other. Second, Tock uses memory protection units to isolate applications from each other and the kernel. Tock is documented in the doc folder. Read through the guides there to learn about the overview and design of Tock, its implementation, and much more.
embedded operating-system cortex-m kernel tock arm secure-operating-system microcontroller mcu iotThis project is not under active development any more. Consider using https://launchpad.net/gcc-arm-embedded instead! A very simple build script for bare metal arm toolchain. NO LINUX!
EmbeddedXEN results from several Years of Research in the field of ARM-based CPUs and hypervisor technology based on XEN. The overall architecture has been revisited in order to support the hardware diversity of ARM CPUs platforms and provide an excellent framework to deal with a native OS and a third-party OS cross-compiled from a different ARM CPU. EmbeddedXEN provide a virtualized hardware interface to the third-party OS. EmbeddedXEN has been initiated and is under current development a
FeatherCNN, developed by Tencent TEG AI Platform, is a high-performance lightweight CNN inference library. FeatherCNN is currently targeting at ARM CPUs, and is capable to extend to other devices in the future. Highly Performant FeatherCNN delivers state-of-the-art inference computing performance on a wide range of devices, including mobile phones (iOS/Android), embedded devices (Linux) as well as ARM-based servers (Linux).
convolutional-neural-networks inference-engine caffe android ios arm-neonYou can build on linux, windows, or MAC - all you need is the arm-none-eabi toolchain. For all platforms, you can get the required toolchain used in this tutorial from the GCC-ARM-embedded project - Most OS distributions now have at least the 4.8 toolchain, however the following will fix problems with using the 4.9 toolchain.
Open Enbedded Software Foundation Android Distribution for Embedded systems
DIET-PC (DIskless Embedded Technology Personal Computer) is a software kitset enabling IT professionals to build an open source GUI appliance based on commodity x86 (PC), PowerPC (Mac) or ARM (handheld) hardware, using an embedded Linux methodology.
Monkey is a fast and lightweight Web Server for Linux. It has been designed to be very scalable with low memory and CPU consumption, the perfect solution for Embedded Linux and high end production environments. Besides the common features as HTTP server, it expose a flexible C API which aims to behave as a fully HTTP development framework, so it can be extended as desired through the plugins interface.
http-server http arm-webserver embedded-webserver embedded yocto webservices
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.