All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
5.1.3 - 13-Jan-2025
- Memory cache management of shared memory. Enable with
#define RL_USE_DCACHE (1)
inrpmsg_config.h
in case of data cache is used. - Cmake/Kconfig support added.
- Porting layers for imx95, imxrt700, mcmxw71x, mcmxw72x, kw47b42 added.
5.1.2 - 08-Jul-2024
- Zephyr-related changes.
- Minor Misra corrections.
5.1.1 - 19-Jan-2024
- Test suite provided.
- Zephyr support added.
- Minor changes in platform and env. layers, minor test code updates.
5.1.0 - 02-Aug-2023
- RPMsg-Lite: Added aarch64 support.
- RPMsg-Lite: Increased the queue size to (2 * RL_BUFFER_COUNT) to cover zero copy cases.
- Code formatting using LLVM16.
- Resolved issues in ThreadX env. layer implementation.
5.0.0 - 19-Jan-2023
- Timeout parameter added to rpmsg_lite_wait_for_link_up API function.
- Improved debug check buffers implementation - instead of checking the pointer fits into shared memory check the presence in the VirtIO ring descriptors list.
- VRING_SIZE is set based on number of used buffers now (as calculated in vring_init) - updated for all platforms that are not communicating to Linux rpmsg counterpart.
- Fixed wrong RL_VRING_OVERHEAD macro comment in platform.h files
- Misra corrections.
4.0.0 - 20-Jun-2022
- Added support for custom shared memory arrangement per the RPMsg_Lite instance.
- Introduced new rpmsg_lite_wait_for_link_up() API function - this allows to avoid using busy loops in rtos environments, GitHub PR #21.
- Adjusted rpmsg_lite_is_link_up() to return RL_TRUE/RL_FALSE.
3.2.0 - 17-Jan-2022
- Added support for i.MX8 MP multicore platform.
- Improved static allocations - allow OS-specific objects being allocated statically, GitHub PR #14.
- Aligned rpmsg_env_xos.c and some platform layers to latest static allocation support.
3.1.2 - 16-Jul-2021
- Addressed MISRA 21.6 rule violation in rpmsg_env.h (use SDK's PRINTF in MCUXpressoSDK examples, otherwise stdio printf is used).
- Added environment layers for XOS.
- Added support for i.MX RT500, i.MX RT1160 and i.MX RT1170 multicore platforms.
- Fixed incorrect description of the rpmsg_lite_get_endpoint_from_addr function.
- Updated RL_BUFFER_COUNT documentation (issue #10).
- Updated imxrt600_hifi4 platform layer.
3.1.1 - 15-Jan-2021
- Introduced RL_ALLOW_CONSUMED_BUFFERS_NOTIFICATION config option to allow opposite side notification sending each time received buffers are consumed and put into the queue of available buffers.
- Added environment layers for Threadx.
- Added support for i.MX8QM multicore platform.
- Several MISRA C-2012 violations addressed.
3.1.0 - 22-Jul-2020
- Added support for several new multicore platforms.
- MISRA C-2012 violations fixed (7.4).
- Fixed missing lock in rpmsg_lite_rx_callback() for QNX env.
- Correction of rpmsg_lite_instance structure members description.
- Address -Waddress-of-packed-member warnings in GCC9.
- Clang update to v10.0.0, code re-formatted.
3.0.0 - 20-Dec-2019
- Added support for several new multicore platforms.
- MISRA C-2012 violations fixed, incl. data types consolidation.
- Code formatted.
2.2.0 - 20-Mar-2019
- Added configuration macro RL_DEBUG_CHECK_BUFFERS.
- Several MISRA violations fixed.
- Added environment layers for QNX and Zephyr.
- Allow environment context required for some environment (controlled by the RL_USE_ENVIRONMENT_CONTEXT configuration macro).
- Data types consolidation.
1.1.0 - 28-Apr-2017
- Supporting i.MX6SX and i.MX7D MPU platforms.
- Supporting LPC5411x MCU platform.
- Baremental and FreeRTOS support.
- Support of copy and zero-copy transfer.
- Support of static API (without dynamic allocations).