All Projects → mbeddr → Mbeddr.core

mbeddr / Mbeddr.core

Licence: other
The mbeddr core. An extensible C

Programming Languages

java
68154 projects - #9 most used programming language
c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Mbeddr.core

Statecharts
YAKINDU Statechart Tools (http://www.statecharts.org)
Stars: ✭ 145 (-21.2%)
Mutual labels:  embedded
Edge Ai
A curated list of resources for embedded AI
Stars: ✭ 157 (-14.67%)
Mutual labels:  embedded
Wasm Micro Runtime
WebAssembly Micro Runtime (WAMR)
Stars: ✭ 2,440 (+1226.09%)
Mutual labels:  embedded
Imguifontstudio
Font Helper Gui Tool for programming
Stars: ✭ 149 (-19.02%)
Mutual labels:  embedded
Jsonrpc C
JSON-RPC in C (server only for now)
Stars: ✭ 155 (-15.76%)
Mutual labels:  embedded
Soicbite
A compact PCB footprint which allows SOIC test clips to be used as a space-efficient programming and debugging connector
Stars: ✭ 161 (-12.5%)
Mutual labels:  embedded
Grisp
GRiSP Erlang Runtime Library
Stars: ✭ 141 (-23.37%)
Mutual labels:  embedded
Awtk
AWTK = Toolkit AnyWhere(为嵌入式、手机和PC打造的通用GUI系统)
Stars: ✭ 2,328 (+1165.22%)
Mutual labels:  embedded
Exein
Exein core for Linux based firmware
Stars: ✭ 158 (-14.13%)
Mutual labels:  embedded
U Bmc
Open-source firmware for your baseboard management controller (BMC)
Stars: ✭ 166 (-9.78%)
Mutual labels:  embedded
Tinyframe
A simple library for building and parsing data frames for serial interfaces (like UART / RS232)
Stars: ✭ 151 (-17.93%)
Mutual labels:  embedded
Esp8266 Firmware
DeviceHive esp8266 firmware. Control hardware via clouds with DeviceHive!
Stars: ✭ 154 (-16.3%)
Mutual labels:  embedded
Libumqtt
A Lightweight and fully asynchronous MQTT client C library based on libev
Stars: ✭ 163 (-11.41%)
Mutual labels:  embedded
Tinydeflate
A deflate/gzip decompressor that requires minimal amount of memory to work
Stars: ✭ 148 (-19.57%)
Mutual labels:  embedded
Micropython
MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems
Stars: ✭ 13,439 (+7203.8%)
Mutual labels:  embedded
Wolfssh
wolfSSH is a small, fast, portable SSH implementation, including support for SCP and SFTP.
Stars: ✭ 142 (-22.83%)
Mutual labels:  embedded
Smoltcp
a smol tcp/ip stack
Stars: ✭ 2,275 (+1136.41%)
Mutual labels:  embedded
Zenoh
zenoh unifies data in motion, data in-use, data at rest and computations. It carefully blends traditional pub/sub with geo-distributed storages, queries and computations, while retaining a level of time and space efficiency that is well beyond any of the mainstream stacks.
Stars: ✭ 182 (-1.09%)
Mutual labels:  embedded
Interrupt
A community for embedded software makers.
Stars: ✭ 178 (-3.26%)
Mutual labels:  embedded
Opensk
OpenSK is an open-source implementation for security keys written in Rust that supports both FIDO U2F and FIDO2 standards.
Stars: ✭ 2,114 (+1048.91%)
Mutual labels:  embedded

Mbeddr core

To install: please, visit http://mbeddr.com for instructions!

mbeddr aims at creating a different way of developing embedded software systems. Instead of using archaic modeling tools and manually written C code, we use the open source JetBrains MPS language workbench to create an integrated approach to embedded development, where C programming, DSLs, domain specific extensions to C, product line variability, requirements traceability and model checking are supported directly.

At this point we are well ahead in developing an implementation of C in MPS which can then be used as a basis for domain-specific extensions. The development progress can be see from our blog page.

For more details please visit http://mbeddr.com

Contributing to the mbeddr.platform

To contribute your module to the mbeddr platform for reuse, you probably want to add it to the mps utils (com.mbeddr.mpsutils). After some incubation time, it may be considered to move it to the MPS-extensions, if the motivation, and implementation have grown mature.

  • name your language "com.mbeddr.mpsutil.$yourLanguageName"
  • add it to the MPS project in code/languages/com.mbeddr.mpsutil inside a virtual folder "$yourLanguageName"
  • all dedicated modules (like the ones you create below) should go into this virtual folder "$yourLanguageName"
  • add a test solution with automated tests, named "test.com.mbeddr.mpsutil.$yourLanguageName" and make sure they pass
  • if your module is an extension to an MPS language
    • add a language named "com.mbeddr.mpsutil.$yourLanguageName.sandbox" that demos how to use your language
    • add a "com.mbeddr.mpsutil.$yourLanguageName.sandbox.sandbox" solution that demonstrates the effect of what the sandbox language implemented
  • open the MPS project "code/languages/com.mbeddr.build"
    • open the build script at "com.mbeddr.platform" named "com.mbeddr.platform"
    • add a group named "group.$yourLanguageName"
    • add a plugin that bundles your extension based on this group with the needed dependencies
    • add your plugin to the default layout
    • open the test build script at "platform/com.mbeddr.platform/com.mbeddr.platform.mpsutils.ts.tests.build" and add your tests
    • add your test solution and its dependencies to the group "com.mbeddr.platform.tests"
    • add it to the default layout
    • add it to the test modules configuration
  • run the build locally with ./gradlew publishMbeddrPlatformPublicationToMavenLocal and check if your project functions with it
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].