Micro Digital Inc kündigte heute die Verfügbarkeit des SMX RTOS Paketes in der Version 4.3 an
Hier die Liste der Neuerungen:
- Heap
The heap has been replaced with our new bin heap for fast allocations vs. the linear heaps typically implemented by RTOSs. Its structure is similar to that used in GPOSs, such as Linux, but it has been designed to fit the requirements of embedded systems. It works with small to large amounts of RAM and offers high performance, deterministic behavior, small code size, ruggedness, and strong debug support. It is intended to provide very high performance for object-oriented languages such as C++ and Java, as well as for other intensive heap applications. It provides the standard heap services malloc(), calloc(), realloc(), free(), and init(), and it has various services to monitor the heap and optimize its behavior, such as to control bin population. It is self-healing and does scanning and fixing automatically during idle time. It also has a special HCB type that can be used for allocations to aid in debugging.
The heap has 3 main regions: small bins, upper bins, and top bin. For blocks in the small bins, it offers nearly the same performance as a block pool. Allocations from the upper bins use a binary search that is nearly as fast and deterministic. The top bin is for large allocations. Bin configuration is easily tuned to suit the application.
- Timers
Timers have been enhanced with new operations, such as duplicate, reset, and start from an absolute time. A pulse timer is a new type that has been added to allow generating pulses like hardware timers and can be used in place of them for relaxed timing requirements. A new smx service, smx_TimerSetPulse() permits converting a cyclic timer to a pulse timer and is then used to control its pulse width and period simultaneously. This permits easily implementing pulse-width modulation (PWM), pulse-period modulation (PPM), and frequency modulation (FM).
- Power Savings
smx_SysPowerDown(sleep_mode) was added to provide a power-down framework, at the RTOS level. It is called from the idle task when there is no useful work to do. It in turn calls sb_PowerDown(sleep_mode), which does the actual power down process and time recording. This is hardware and application dependent and thus must be user-implemented. When power is restored, control returns to the sb function, which must initialize the tick counter and return ticks lost to smx_SysPowerDown(), which then performs tick recovery. This process handles events which timed out during the power-off period in an efficient manner that preserves the proper order of timed events. Execution time for tick recovery is dependent upon the number of events that timed-out, not upon the number of ticks lost.
- Other Improvements
Error management reports timeout as an error, and the TCB.err field was changed to indicate the result of the last smx service: OK, timeout, or error type. This makes it easier to determine the proper action at the point of call.smx_
QueueClear() has been replaced with specific clears for event groups, event queues, message exchanges, mutexes, pipes, and semaphores. This provides a more intuitive API, and each clear service is able to do a more complete job.
FPU register autosave has been implemented for the Cortex-M4 and Cortex-M7. This has also been retrofitted into v4.2.1.
Der SMX Eval Kits für viel MCUs und Boards sind hier online verfügbar.
Hier der Link zum Hersteller Micro Digital.
Über Micro Digital
Micro Digital, Inc. ist seit über 30 Jahren im Embedded System Software Geschäft tätig und verkauft Software seit 20 Jahren.
Micro Digital Leitlinie ist es qualitativ hochwertige Systemsoftware und Support zu moderaten Preisen anzubieten.