Open topic with navigation
Release Notes for MaxRT eRTOS 0.1
Key Features
- eRTOS is an embedded RTOS that does not require Window to be installed on the system to run. It can start processors and allocate resources without the help of Windows operating system.
- eRTOS is based on RTX64. It supports multiple processes and threads running on multiple cores on an SMP system.
- eRTOS is source code compatible with RTX64, unless otherwise stated.
eRTOS Runtime
- Supports Intel® 6th generation to 11th generation processors, supporting up to 64 cores.
- Allows you to start multiple processors, determine ACPI information, and generate timer interrupts across all cores.
- Contains logic to limit SMI activity from the BIOS.
- Supports x2APIC
- Supports CAT and MBA processor features.
- Uses GRUB bootloader to load the eRTOS HAL (RTHAL) and Kernel (RTKernel).
- Provides some default boot configuration options.
- Provides the ability to configure the HAL and Kernel through a configuration file.
- Supports the ability to allocate memory.
- Supports the ability to scan the system bus for device information.
- Performs TSC frequency calibration and synchronization on SMP systems.
- Contains an AHCI SATA block driver to support a basic FAT32 file system.
- Supports basic registry functions.
- Supports Applications and Dynamic linked libraries, along with standard IPC objects like Semaphores, Mutexes, and Events.
- Provides a sample application to run and gather latency information.
eRTOS SDK
- Supports Visual Studio 2019 and contains a VSIX package with templates for building Process applications and RTDLLs.
- Source code compatible with RTX64, unless otherwise stated.
- Provides sample source for sample binaries included with the Runtime.
Notes
eRTOS Runtime
- You must use the AutoStart.bat file to run applications on eRTOS startup.
- If you make changes to the eRTOS configuration, you must reboot for the changes to take effect.
- eRTOS currently does not support Intel® 12th and 13th generation processors.
- Interrupts are not supported in this version.
- Exceptions are not supported in this version.
- This version only supports SATA drives and FAT32 files systems.
- This version does not provide a console.
- You must use debug configuration binaries to use debug commands.
eRTOS SDK
- Visual Studio 2022 has not been tested. No Visual Studio 2022 templates are provided for building Process applications or RTDLLs.
- Visual Studio debugging is currently not supported.
- Only basic C Runtime APIs are supported in this version.
Known Issues
eRTOS Runtime
- Real-time API RtGetThreadStack sets last error to ERROR_INVALID_PARAMETER instead of ERROR_INVALID_HANDLE when passed a NULL handle. (97)
- GetModuleHandleEx sometimes fails with error code ERROR_INVALID_PARAMETER in cases when it should succeed. (44)
- GetModuleHandleEx causes an exception when passed a NULL module handle, instead of failing with error code ERROR_INVALID_PARAMETER. (44)
- HeapCreate does not ignore the dwInitialSize parameter. (91)
- LoadLibrary fails when loading CRT libraries after previously freeing them. (103
- RtGetClockTime sets an incorrect error code when passed a NULL clock. (104)
- Calling beginthread and other C Runtime APIs that use FLS multiple times can cause a memory leak. (105)
- eRTOS binaries built with Windows 11 22H2 SDK 22621 can throw an access violation on process exit.
- Controlfp_s fails to set the floating point control word despite reporting success. (137)
- Enabling Secure Boot in the BIOS can cause GRUB to load improperly on some machines.
- Filesystem calls do not support file names with no extension.
eRTOS SDK