MicroEJ Time Abstraction Layer implementation for FreeRTOS.
This module implements the microej_time.h APIs for VEE Ports connected to a Board Support Package based on FreeRTOS.
Important note: this implementation is based on the FreeRTOS tick, which is correct for evaluation but not as precise as a hardware timer. Consider changing this implementation to a hardware-timer-based implementation if you need precision under the millisecond.
These sources can be included in the VEE Port with the method you prefer, by using this repository as a submodule or by doing a copy of the sources in the VEE Port repository.
N/A
This abstraction layer has been tested on the following configurations
- Hardware
- ESP32-S2-Saola (Tested up to 0.1.0 release)
- i.MX RT1170 Evaluation Kit
- Compiler / Build environment
- xtensa-esp32-elf-gcc 8.4.0 / ESP-IDF v4.2.2 (Tested up to 0.1.0 release)
- MCUXpresso SDK 2.15.0 for i.MXRT1170-EVKB (using GNU GCC toolchain)
- RTOS
- FreeRTOS 8.2.0 (Tested up to 0.1.0 release)
- FreeRTOS 10.4.3
This Abstraction Layer implementation is MISRA-compliant (MISRA C:2012) with some noted exception. It has been verified with Cppcheck v2.10. Here is the list of deviations from MISRA standard:
| Deviation | Category | Justification |
|---|---|---|
| Rule 10.4 | Required | Intentional usage of different operators to check an overflow. |
N/A
N/A
This implementation is not compatible with FreeRTOS tickless idle mode.
Copyright 2022-2025 MicroEJ Corp. All rights reserved.
Use of this source code is governed by a BSD-style license that can be found with this software.