Baigudin Software avatar
Baigudin Software logo
ru region
en region


Operating Kernel

Downloaded 45 times

Thank you for downloaded the BOOS Core operating kernel!

I'm Sergey Baigudin, founder of this project. Thank you for downloaded my product! This is really important for me. If you don't mind, please, send me your name and e-mail address in the form below. I strive composing my product incredible and will deeply appreciate you if you find a little time for answering a few my questions.




BOOS Core is a real-time object-oriented operating kernel for embedded systems. The kernel is written in C++ programming language and can be used into small microcontrollers with limited resources. BOOS Core has a hardware independent application program interface which allows porting user source codes easily if hardware environment is changed. The kernel object model is built with a root class of classes' hierarchy and gets the best aspects of object-oriented approach.

Why BOOS Core

Developing software usually has certain stages set of careful elaboration, which starts from a requirements specification and ends with an implementation of developed solution. These stages will become more fateful when software is being developed for embedded systems, because those stages will have to consider software and hardware components simultaneously. BOOS Core solution allows keeping the considered components and minimizes costs of solutions at all stages.

Hardware independent application program interface

An important factor, while embedded software is being developed, is executing environment, which is hardware, working conditions, and inherent reliability. Hardware independent application program interface of BOOS Core allows minimizing overhead costs associated with software reworks if hardware environment is changed by changing one or several of these factors.

Entirely independent implementation

Other aspect, which is also important while programs are being developed, is requirement of functional characteristics. The BOOS Core operating kernel is entirely independent of any other software solutions. This fact gives maximum stability for functional of application programs.

Implemented in C++ programming language

Selection of programming language is primary part in enunciating problem. BOOS Core is written in C++ programming language and fully corresponding to the language standards. These factors give unique possibility not only to write new programs, but also to use implemented designs.

Fast start for your designs

Significant factor of software developing is time of developing. The BOOS Core operating kernel initializes processor units and all program data which must be initialized. Thus, it helps to be focused on main algorithms only and reduces the overall period of software solution release.

Minimal time for debugging and implementing

Any developments of software implicate debugs. BOOS Core has strong modularity and elaborated set of including header files. These aspects reduce compilation and debug time, and positively affect on time of products implementing eventually.

Effective maintenance of developed solutions

Implemented program solution requires effective maintenance and capabilities to be enhanced. Using the BOOS Core operating kernel for implementing software solutions of embedded systems, you get effective and flexible functionality for supporting developed programs, and also will be able to port these software to other hardware easily.

Introduction to BOOS Core

Which will operating system be used? Perhaps, this question was asked by every developer of embedded systems. Today, to find up an embedded system with out operating system is big rarity. Only the simplest solutions might be built with out it. Let’s understand possible ways by a chart of processors complexity against software complexity.

Advantage of using BOOS Core

The first scheme on the picture above has been divided into four blocks. Top right block assigns high-end processor and complexity software. This usually is implied one of operating systems using for implementing user programs. A less powerful CPU can execute some complex software, which is using simple kernel, if the software is adapted for some target hardware architecture. Occasionally, powerful processors are being used for executing enough simple software, for example, if developers need to get execution speed and also save some flexibility and maintenance of executing programs by using simple kernel. And only in case of simple software, which is running on low-end processor, using some operating systems is mostly not necessary.

The BOOS Core operating kernel allows to implement high-quality software for any powerful CPU and provides itself functionality for creating multi-threads applications, which is working in real-time. Also, the kernel helps to save strong flexibility and gives effective capabilities for applications to be enhanced.

Decided to use BOOS Core, you will forget about compromises in developing of embedded software!

The architecture of the operating kernel

The BOOS Core operating kernel provides self resources to a user program for accessing hardware environment.

BOOS Core and user Program

Figure above shows user program which can get direct access to uncontrolled hardware resources by the kernel. This allows writing new flexible algorithms as well as using implemented designs.

Build of user program

The BOOS Core operating kernel has been built by using objects. All objects are divided by groups. Each group is program library, which implements some logical or hardware functionality.

Program way to execution by using BOOS Core

User program and BOOS Core are generated to executable file, which is being executed by target processor. This approach, when only necessary components are included, allows reducing a size of final program largely.

Execution of user program

When power is upped, a processor begins to execute a source code of the kernel. The kernel initializes some needful hardware resources and data of a program.

BOOS Core threads scheduling

On the figure above, when initialization has been completed, the kernel passes full control to a user program and creates the singular thread in a system for this program. While a program is being executed, it can create new threads, lock system interrupts and some other resources of the kernel. Thus, a program entirely controls the processor time. When user program has been completed, the kernel deinitializes a system and terminates an execution.

The simplest user program

An executing of user program always starts from the main method. The simplest user program example is putted below.

 * User main class.
#include "boos.Main.hpp"

 * User main method.

int Main::main(int argccharargv[])
// The simplest program does something and does nothing
return argc && argv != NULL 0;

The main method, which is created by BOOS Core, is the primary and always singular thread in a system at the start. When the method has been created, the kernel does not intervene in an execution of user program anymore, and only provides self resources for it. This allows for developers to implement predicted programs, which execute exceptionally required operations.

Supported embedded processors

Texas Instruments

Architecture FamilyProcessorsСoresEABI
ARMv5TEJ AM18xAM1802, AM1806, AM1808, AM18101COFF

Have not found your hardware?

The BOOS Core operating kernel is dynamically progressing and looks to cover many processors and microcontrollers of leading world manufacturers.

If you have not found your interested hardware, fill the form below or contact us and get the advantages:

Get for free

for your solution

Commercial License

One year
technical supporting

Order the BOOS Core operating kernel for your embedded system



*Phone number:



* — Field must be filled