Your Feedback

If you need:

* custom system version,
* system for another procesor,
* want to request new features,

If you found error on the site

something is displayed incorrectly or is not working under your browser.

You can send a message

Click here and write a note.

Your comments will improve the DioneOS system.

DioneOS News

Full verification of the system version for ARM Cortex-M3


Version for ARM Cortex-M3 was tested automatically (full code coverage: all functions, marcos, code lines, conditions, etc.). Tests were performed on STM32L162.

DioneOS for ARM Cortex-M3


DioneOS version for ARM Cortex-M3 processor was released.

Introduction to Multithreading


'Introduction to Multithreaded Programming' has been added in tutorials section

State Machine support.


State machine support has been added to the system. Pattern for state machine coding is defined.

Texas Instruments Developer Network


ELESOFTROM entered Texas Instruments MCU Developer Network. This program gathers companies that develop software for TI MCUs and provide professional services in this domain.

Regular MSP430 supported.


Support for regular MSP430 microcontroller and small code model has been added.

DioneOS release for MSP430x


First release of the DioneOS System. Support for MSP430x and large code model.

Evaluation of the System Performance

In order to evaluate performance of the system critical operations were checked:
1. context switching between two threads,
2. extra load was measured that is introduced by epilog and prolog of critical section, as well as system tick interrupt.

The test consisted of two threads and semaphore, mutex, ISR working in various configurations. Generally, higher priority thread was waiting on some synchronization object while the other thread or ISR was releasing the object. Delay between release operation and continuation of execution in the thread that was waiting was measured. Execution of testpoints in the code was signalled on output processor pins and recorded by logic analyser.

ARM Cortex-M3
fosc=25MHz fosc=32MHz
1from os_sema_post_intr()
to os_sema_wait()
10.4us 9.26us
2from os_sema_post()
to os_sema_wait()
11.9us 7.9us
-- 1.16us
4os_schedule() -- 3.2us
5from os_mutex_release()
to os_mutex_get()
11.9us 7.86us
6Extra load by SysTick ISR (no timers) 4.1us1.78us
7Extra load by SysTick ISR (1 timer is armed) 4.6us 3.28us

Measurements were performed on the version optimized for speed:
1. MSP430F5438, silicon_version=msp430x, large_code_model, opt_level=3.
2. STM32L162, optimization -O2
Extra functionalities that supports debugging were disabled (e.g. semaphore overflow check, lock detection, scheduler statistics etc.)