Tools & Components

Tools and components for embedded development that make your life as a developer more efficient, fun and stress-free. Logic Technology offers only high-quality embedded software- and hardware tools and components.

View all tools
Gemini_Generated_Image_dp83b1dp83b1dp83

emApps

emApps is a revolutionary software package that brings the familiar flexibility of the smartphone to the world of embedded systems.

Our brands

Our brands

To accomplish this, emApps can create apps, which are small programs that can be dynamically loaded and executed in a protected environment known as a sandbox. Each app operates in its own memory space, the sandbox, isolated from the firmware and other apps.

These apps enable the user to add new capabilities, features, or enhancements to embedded devices while keeping firmware small and maintaining system stability and security. They also make it possible for the manufacturer to run tests on such embedded systems using apps.

Since the apps can be dynamically loaded, they do not increase the size of the firmware. Thus, any number of tests can be written and performed, including functionality and performance tests on the embedded system.

App capabilities are defined by an API table in the firmware, giving a firmware developer full control over the exact functionalities available to them. It is even possible to grant different rights (API tables) to different apps running in a system.

Key features

Small firmware size

emApps requires only a tiny executor and loader inside the firmware, with a footprint of around 2.5 KB in flash memory, with no static data required.

Small app size

Running in RAM, these apps start under 100 bytes and scale without complexity limits, fitting MCUs with only 64 KB of flash. The framework integrates into any existing firmware and supports all RTOS options.

High performance

Apps run on a specialized SEGGER virtual CPU via an executor that implements its custom instruction set. This architecture ensures high performance through efficient scheduling and code density that often outperforms ARM Thumb-2 or RISC-V.

Sandboxing

Apps are fully sandboxed in their own memory space and isolated from the host program. Illegal operations are instantly detected, returning control to the host while restricting communication to a specific API.

Easy integration

Integrating emApps into existing firmware is simple because the host code is written entirely in C. The package also includes an assembly-optimized executor specifically for ARM cores to ensure maximum performance.

Trial version

A downloadable PC trial version includes various pre-built apps and their full source code. These apps run on both the PC and the flasher for testing within real embedded systems.

Download Trial

Use cases

Apps can be used to dynamically extend a host’s capabilities or to enable customization by manufacturers, OEMs, and end customers. Use cases include test apps, communication (web server, customization), automation, and many more.

Flasher and production systems

Apps can implement flash programming routines, custom test logic, or communication protocols without modifying the device firmware.

Third-party app development

A development kit can be provided to external partners. Apps can be created independently and deployed securely thanks to sandboxing.

Safety-critical environments

Non-essential features — such as GUI control or display logic — can be isolated as apps and excluded from certification scope.

Dynamic product customization

Apps allow feature expansions in the field, supporting new languages, new algorithms, or additional connectivity standards.

How emApps works

emApps consists of a PC development environment with a compiler for creating apps, as well as source code for host integration. Also included is a PC-based executor for running, testing, tracing, and even profiling apps on a desktop.

emApps adds a minimal runtime engine — the executor — into the firmware. This tiny component (~1 KB) acts as a virtual CPU that executes applications and manages their interaction with the embedded system. Apps are statically or dynamically linked and can be downloaded at any point in the device lifecycle.

Each application runs inside a dedicated memory space. The firmware assigns memory to the app only for the duration of execution. Any attempt to access memory outside this space is intercepted by the executor, which immediately returns control to the firmware. System stability and safety remain intact at all times.

The executor and its API together form a complete architecture for application management. Instead of assembling low-level components or configuring memory protection manually, the framework delivers a finished and scalable structure — a ready-to-use engine, instead of a box of parts. While similar goals can be attempted using standard RTOS mechanisms or an MPU, such solutions remain complex to configure and maintain. They provide isolation but not modularity, and they do not enable dynamic loading or field-based updates. emApps solves all of that in one integrated model.

Additional features

Resource usage

The resource usage is approximately 2.5 KB in flash memory, and no static data is required. API implementation depends on functionality provided. Fits on small MCUs — no large memory overhead.

Performance and code density

The virtual instruction set is highly efficient. Fewer instructions are required, and execution remains close to native speed — even for compute-intensive tasks.

Execution model

Multiple apps can run under RTOS control, even in parallel. Apps can be statically or dynamically linked and downloaded at any time.

Gevorg Melikdjanjan

Gevorg Melikdjanjan

Security | Reliability | Data Solutions

Licensing

If you are interested in emBoot-Secure, please contact me to discuss your requirements. I will help define a the solution that fits your application and security needs.