MCUXpresso_LPC55S69/middleware/multicore/ChangeLogKSDK.txt

402 lines
23 KiB
Plaintext
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*!
@page middleware_log Middleware Change Log
@section multicore Multicore SDK
The current version of Multicore SDK is 2.15.0
- 2.15.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.12.0
- eRPC generator (erpcgen) v.1.12.0
- Multicore Manager (MCMgr) v4.1.5
- RPMsg-Lite v5.1.1
- New features:
- eRPC: Add dynamic/static option for transport init, GitHub PR #361.
- eRPC: Fix receive error value for spidev, GitHub PR #363.
- eRPC: UartTransport::init adaptation to changed driver.
- eRPC: Fix typo in assert, GitHub PR #371.
- eRPC,erpcgen: Move enums to enum classes, GitHub PR #379.
- eRPC: Fixed rpmsg tty transport to work with serial transport, GitHub PR #373.
- eRPC,erpcgen: Winsock2 support, GitHub PR #365.
- eRPC,erpcgen: Feature/support multiple clients, GitHub PR #271.
- eRPC,erpcgen: Feature/buffer head - Framed transport header data stored in MessageBuffer, GitHub PR #378.
- eRPC,erpcgen: Add experimental Java support.
- MCMgr: Added notification into MCMGR_EarlyInit and mcmgr_early_init_internal functions to avoid using uninitialized data in their implementations.
- RPMsg-Lite: Minor changes in platform and env. layers, minor test code updates.
- 2.14.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.11.0
- eRPC generator (erpcgen) v.1.11.0
- Multicore Manager (MCMgr) v4.1.4
- RPMsg-Lite v5.1.0
- New features:
- eRPC: Makefiles update, GitHub PR #301.
- eRPC: Resolving warnings in Python, GitHub PR #325.
- eRPC: Python3.8 is not ready for usage of typing.Any type, GitHub PR #325.
- eRPC: Improved codec function to use reference instead of address, GitHub PR #324.
- eRPC: Fix NULL check for pending client creation, GitHub PR #341.
- eRPC: Replace sprintf with snprintf, GitHub PR #343.
- eRPC: Use MU_SendMsg blocking call in MU transport.
- eRPC: New LPSPI and LPI2C transport layers.
- eRPC: Freeing static objects, GitHub PR #353.
- eRPC: Fixed casting in deinit functions, GitHub PR #354.
- eRPC: Align LIBUSBSIO.GetNumPorts API use with libusbsio python module v. 2.1.11.
- erpcgen: Renamed temp variable to more generic one, GitHub PR #321.
- erpcgen: Add check that string read is not more than max length, GitHub PR #328.
- erpcgen: Move to g++ in pytest, GitHub PR #335.
- erpcgen: Use build=release for make, GitHub PR #334.
- erpcgen: Removed boost dependency, GitHub PR #346.
- erpcgen: Mingw support, GitHub PR #344.
- erpcgen: VS build update, GitHub PR #347.
- erpcgen: Modified name for common types macro scope, GitHub PR #337.
- erpcgen: Fixed memcpy for template, GitHub PR #352.
- eRPC,erpcgen: Change default build target to release + adding artefacts, GitHub PR #334.
- eRPC,erpcgen: Remove redundant includes, GitHub PR #338.
- eRPC,erpcgen: Many minor code improvements, GitHub PR #323.
- MCMgr: Avoid calling tx isr callbacks when respective Messaging Unit Transmit Interrupt Enable flag is not set in the CR/TCR register.
- MCMgr: Messaging Unit RX and status registers are cleared after the initialization.
- RPMsg-Lite: Resolved issues in ThreadX env. layer implementation.
- RPMsg-Lite: Added aarch64 support.
- RPMsg-Lite: Increased the queue size to (2 * RL_BUFFER_COUNT) to cover zero copy cases.
- 2.13.0_imxrt1180a0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.10.0
- eRPC generator (erpcgen) v.1.10.0
- Multicore Manager (MCMgr) v4.1.3
- RPMsg-Lite v5.0.0
- New features:
- MCMgr, RPMsg-Lite: Added porting layers for imxrt1180.
- MCMgr: mu_isr() updated to avoid calling tx isr callbacks when respective Transmit Interrupt Enable flag is not set in the CR/TCR register.
- RPMsg-Lite, eRPC: RPMsg_Lite queue size adjusted.
- eRPC: MU transport layer switched to blocking MU_SendMsg() API use.
- 2.13.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.10.0
- eRPC generator (erpcgen) v.1.10.0
- Multicore Manager (MCMgr) v4.1.3
- RPMsg-Lite v5.0.0
- New features:
- eRPC: MUTransport adaptation to new supported SoCs.
- eRPC: Simplifying CI with installing dependencies using shell script, GitHub PR #267.
- eRPC: Using event for waiting for sock connection in TCP python server, formatting python code, C specific includes, GitHub PR #269.
- eRPC: Endianness agnostic update, GitHub PR #276.
- eRPC: Assertion added for functions which are returning status on freeing memory, GitHub PR #277.
- eRPC: Fixed closing arbitrator server in unit tests, GitHub PR #293.
- eRPC: Makefile updated to reflect the correct header names, GitHub PR #295.
- eRPC: Compare value length to used length() in reading data from message buffer, GitHub PR #297.
- eRPC: Add TCP_NODELAY option to python, GitHub PR #298.
- eRPC: Replace EXPECT_TRUE with EXPECT_EQ in unit tests, GitHub PR #318.
- eRPC: Adapt rpmsg_lite based transports to changed rpmsg_lite_wait_for_link_up() API parameters.
- eRPC, erpcgen: Better distuingish which file can and cannot by linked by C linker, GitHub PR #266.
- eRPC, erpcgen: Stop checking if pointer is NULL before sending it to the erpc_free function, GitHub PR #275.
- eRPC, erpcgen: Changed api to count with more interfaces, GitHub PR #304.
- erpcgen: Check before reading from heap the buffer boundaries, GitHub PR #287.
- erpcgen: Several fixes for tests and CI, GitHub PR #289.
- erpcgen: Refactoring erpcgen code, GitHub PR #302.
- erpcgen: Fixed assigning const value to enum, GitHub PR #309.
- erpcgen: Enable runTesttest_enumErrorCode_allDirection, serialize enums as int32 instead of uint32.
- MCMgr: mcmgr_mu_internal.c code adaptation to new supported SoCs.
- RPMsg-Lite: Improveed debug check buffers implementation - instead of checking the pointer fits into shared memory check the presence in the VirtIO ring descriptors list.
- RPMsg-Lite: Timeout parameter added to rpmsg_lite_wait_for_link_up API function.
- RPMsg-Lite: 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.
- RPMsg-Lite: Fixed wrong RL_VRING_OVERHEAD macro comment in platform.h files.
- RPMsg-Lite: Misra corrections.
- 2.12.0_imx93
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.9.1
- eRPC generator (erpcgen) v.1.9.1
- Multicore Manager (MCMgr) v4.1.2
- RPMsg-Lite v4.0.1
- New features:
- RPMsg-Lite: Added porting layers for i.mx93 device.
- 2.12.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.9.1
- eRPC generator (erpcgen) v.1.9.1
- Multicore Manager (MCMgr) v4.1.2
- RPMsg-Lite v4.0.0
- New features:
- eRPC: Construct the USB CDC transport, rather than a client, GitHub PR #220.
- eRPC: Fix premature import of package, causing failure when attempting installation of Python library in a clean environment, GitHub PR #38, #226.
- eRPC: Improve python detection in make, GitHub PR #225.
- eRPC: Fix several warnings with deprecated call in pytest, GitHub PR #227.
- eRPC: Fix freeing union members when only default need be freed, GitHub PR #228.
- eRPC: Fix making test under Linux, GitHub PR #229.
- eRPC: Assert costumizing, GitHub PR #148.
- eRPC: Fix corrupt clientList bug in TransportArbitrator, GitHub PR #199.
- eRPC: Fix build issue when invoking g++ with -Wno-error=free-nonheap-object, GitHub PR #233.
- eRPC: Fix inout cases, GitHub PR #237.
- eRPC: Remove ERPC_PRE_POST_ACTION dependency on return type, GitHub PR #238.
- eRPC: Adding NULL to ptr when codec function failed, fixing memcpy when fail is present during deserialization, GitHub PR #253.
- eRPC: MessageBuffer usage improvement, GitHub PR #258.
- eRPC: Get rid for serial and enum34 dependency (enum34 is in python3 since 3.4 (from 2014)), GitHub PR #247.
- eRPC: Several MISRA violations addressed.
- eRPC: Fix timeout for Freertos semaphore, GitHub PR #251.
- eRPC: Use of rpmsg_lite_wait_for_link_up() in rpmsg_lite based transports, GitHub PR #223.
- eRPC: Fix codec nullptr dereferencing, GitHub PR #264.
- erpcgen: Fix two syntax errors in erpcgen Python output related to non-encapsulated unions, improved test for union, GitHub PR #206, #224.
- erpcgen: Fix serialization of list/binary types, GitHub PR #240.
- erpcgen: Fix empty list parsing, GitHub PR #72.
- erpcgen: Fix templates for malloc errors, GitHub PR #110.
- erpcgen: Get rid of encapsulated union declarations in global scale, improve enum usage in unions, GitHub PR #249, #250.
- erpcgen: Fix compile error:UniqueIdChecker.cpp:156:104:'sort' was not declared, GitHub PR #265.
- MCMgr: Update mcmgr_stop_core_internal() implementations to set core state to kMCMGR_ResetCoreState.
- RPMsg-Lite: Introduce new rpmsg_lite_wait_for_link_up() API function - this allows to avoid using busy loops in rtos environments, GitHub PR #21.
- RPMsg-Lite: Adjust rpmsg_lite_is_link_up() to return RL_TRUE/RL_FALSE.
- 2.11.1
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.9.0
- eRPC generator (erpcgen) v.1.9.0
- Multicore Manager (MCMgr) v4.1.1
- RPMsg-Lite v3.2.1
- New features:
- RPMsg-Lite: Add support for custom shared memory arangement per the RPMsg_Lite instance.
- 2.11.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.9.0
- eRPC generator (erpcgen) v.1.9.0
- Multicore Manager (MCMgr) v4.1.1
- RPMsg-Lite v3.2.0
- New features:
- eRPC: Improving template usage, GitHub PR #153.
- eRPC: run_clang_format.py cleanup, GitHub PR #177.
- eRPC: Build TCP transport setup code into liberpc, GitHub PR #179.
- eRPC: Fix multiple definitions of g_client error, GitHub PR #180.
- eRPC: Fix memset past end of buffer in erpc_setup_mbf_static.cpp, GitHub PR #184.
- eRPC: Fix deprecated error with newer pytest version, GitHub PR #203.
- eRPC: Allow used LIBUSBSIO device index being specified from the Python command line argument.
- eRPC, erpcgen: Static allocation support and usage of rpmsg static FreeRTOSs related APi, GitHub PR #168, #169.
- erpcgen: Remove redundant module imports in erpcgen, GitHub PR #196.
- RPMsg-Lite: Improve static allocations - allow OS-specific objects being allocated statically, GitHub PR #14.
- RPMsg-Lite: Minor Misra and typo corrections, GitHub PR #19, #20.
- 2.10.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.8.1
- eRPC generator (erpcgen) v.1.8.1
- Multicore Manager (MCMgr) v4.1.1
- RPMsg-Lite v3.1.2
- New features:
- eRPC: Fix misra erpc c, GitHub PR #158.
- eRPC: Allow conditional compilation of message_loggers and pre_post_action.
- eRPC: New i2c_slave_transport trasnport introduced.
- eRPC: (D)SPI slave transports updated to avoid busy loops in rtos environments.
- erpcgen: Re-implement EnumMember::hasValue(), GitHub PR #159.
- erpcgen: Fixing several misra issues in shim code, erpcgen and unit tests updated, GitHub PR #156.
- erpcgen: Fix bison file, GitHub PR #156.
- RPMsg-Lite: Fixed incorrect description of the rpmsg_lite_get_endpoint_from_addr function.
- RPMsg-Lite: Updated RL_BUFFER_COUNT documentation.
- RPMsg-Lite: env_print macro adjusted to address MISRA 21.6 rule in MCUXpressoSDK projects.
- 2.9.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.8.0
- eRPC generator (erpcgen) v.1.8.0
- Multicore Manager (MCMgr) v4.1.1
- RPMsg-Lite v3.1.1
- New features:
- eRPC: Support win32 thread, GitHub PR #108.
- eRPC: Add mbed support for malloc() and free(), GitHub PR #92.
- eRPC: Update makefile.
- eRPC: Fixed warnings and error with using MessageLoggers, GitHub PR #127.
- eRPC: Extend error msg for python server service handle function, GitHub PR #132.
- eRPC: Update CMSIS UART transport layer to avoid busy loops in rtos environments, introduce semaphores.
- eRPC: Introduced pre and post callbacks for eRPC call, GitHub PR #131.
- eRPC: Introduced new USB CDC transport.
- eRPC: Introduced new Linux spidev-based transport.
- eRPC: SPI transport update to allow usage without handshaking GPIO.
- eRPC: Native _WIN32 erpc serial transport and threading.
- eRPC: Arbitrator deadlock fix, TCP transport updated, TCP setup functions introduced, GitHub PR #121.
- eRPC: Update of matrix_multiply.py example: Add --serial and --baud argument, GitHub PR #137.
- eRPC: Added formatting extension for VSC, GitHub PR #134.
- eRPC: Update of .clang-format, GitHub PR #140.
- eRPC: Update of erpc_framed_transport.cpp: return error if received message has zero length, GitHub PR #141.
- eRPC, erpcgen: Fixed error messages produced by -Wall -Wextra -Wshadow -pedantic-errors compiler flags, GitHub PR #136, #139.
- eRPC, erpcgen: Core re-formatted using Clang version 10.
- erpcgen: Enable deallocation in server shim code when callback/function pointer used as out parameter in IDL.
- erpcgen: Removed '$' character from generated symbol name in '_$union' suffix, GitHub PR #103.
- erpcgen: Resolved mismatch between C++ and Python for callback index type, GitHub PR #111.
- erpcgen: Python generator improvements, GitHub PR #100, #118.
- erpcgen: Fixed error messages produced by -Wall -Wextra -Wshadow -pedantic-errors compiler flags, GitHub PR #136.
- erpcgen: Introduce ustring type for unsigned char and force cast to char*, GitHub PR #125.
- RPMsg-Lite: 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.
- RPMsg-Lite: Added environment layers for Threadx.
- 2.8.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.7.4
- eRPC generator (erpcgen) v.1.7.4
- Multicore Manager (MCMgr) v4.1.0
- RPMsg-Lite v3.1.0
- New features:
- eRPC: Unit test code updated to handle service add and remove operations.
- eRPC: Several MISRA issues in rpmsg-based transports addressed.
- eRPC: Support MU transport unit testing.
- eRPC: Adding mbed os support.
- eRPC: Fixed Linux/TCP acceptance tests in release target.
- eRPC: Minor documentation updates, code formatting.
- erpcgen: Whitespace removed from C common header template.
- RPMsg-Lite: MISRA C-2012 violations fixed (7.4).
- RPMsg-Lite: Fix missing lock in rpmsg_lite_rx_callback() for QNX env.
- RPMsg-Lite: Correction of rpmsg_lite_instance structure members description.
- RPMsg-Lite: Address -Waddress-of-packed-member warnings in GCC9.
- RPMsg-Lite: Clang update to v10.0.0, code re-formatted.
- 2.7.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.7.3
- eRPC generator (erpcgen) v.1.7.3
- Multicore Manager (MCMgr) v4.1.0
- RPMsg-Lite v3.0.0
- New features:
- eRPC: Improved the test_callbacks logic to be more understandable and to allow requested callback execution on the server side.
- eRPC: TransportArbitrator::prepareClientReceive modified to avoid incorrect return value type.
- eRPC: The ClientManager and the ArbitratedClientManager updated to avoid performing client requests when the previous serialization phase fails.
- erpcgen: Generate the shim code for destroy of statically allocated services.
- MCMgr: Code adjustments to address MISRA C-2012 Rules
- RPMsg-Lite: MISRA C-2012 violations fixed, incl. data types consolidation.
- RPMsg-Lite: Code formatted
- 2.6.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.7.2
- eRPC generator (erpcgen) v.1.7.2
- Multicore Manager (MCMgr) v4.0.3
- RPMsg-Lite v2.2.0
- New features:
- eRPC: Improved support of const types.
- eRPC: Fixed Mac build.
- eRPC: Fixed serializing python list.
- eRPC: Documentation update.
- eRPC: Add missing doxygen comments for transports.
- RPMsg-Lite: Added configuration macro RL_DEBUG_CHECK_BUFFERS.
- RPMsg-Lite: Several MISRA violations fixed.
- RPMsg-Lite: Added environment layers for QNX and Zephyr.
- RPMsg-Lite: Allow environment context required for some environments (controlled by the RL_USE_ENVIRONMENT_CONTEXT configuration macro).
- RPMsg-Lite: Data types consolidation.
- MCMgr: Documentation updated to describe handshaking in a graphic form.
- MCMgr: Minor code adjustments based on static analysis tool findings
- 2.5.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.7.1
- eRPC generator (erpcgen) v.1.7.1
- Multicore Manager (MCMgr) v4.0.2
- RPMsg-Lite v2.0.2
- New features:
- RPMsg-Lite, MCMgr: Align porting layers to the updated MCUXpressoSDK feature files.
- eRPC: Fixed semaphore in static message buffer factory.
- erpcgen: Fixed MU received error flag.
- erpcgen: Fixed tcp transport.
- 2.4.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.7.0
- eRPC generator (erpcgen) v.1.7.0
- Multicore Manager (MCMgr) v4.0.1
- RPMsg-Lite v2.0.1
- New features:
- eRPC: Improved code size of generated code.
- eRPC: Generating crc value is optional.
- eRPC: Fixed CMSIS Uart driver. Removed dependency on KSDK.
- eRPC: List names are based on their types. Names are more deterministic.
- eRPC: Service objects are as a default created as global static objects.
- eRPC: Added missing doxygen comments.
- eRPC: Forbid users use reserved words.
- eRPC: Removed outByref for function parameters.
- eRPC: Added support for 64bit numbers.
- eRPC: Added support of program language specific annotations.
- eRPC: Optimized code style of callback functions.
- RPMsg-Lite: New API rpmsg_queue_get_current_size()
- RPMsg-Lite: Fixed bug in interrupt handling for lpc5411x, lpc5410x
- RPMsg-Lite: Code adjustments based on static analysis tool findings
- 2.3.1
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.6.0
- eRPC generator (erpcgen) v.1.6.0
- Multicore Manager (MCMgr) v4.0.0
- RPMsg-Lite v1.2.0
- New features:
- eRPC: Improved code size of generated code.
- eRPC: Improved eRPC nested calls.
- eRPC: Improved eRPC list length variable serialization.
- eRPC: Added \@nullable support for scalar types.
- MCMgr: Added new MCMGR_TriggerEventForce() API.
- 2.3.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.5.0
- eRPC generator (erpcgen) v.1.5.0
- Multicore Manager (MCMgr) v3.0.0
- RPMsg-Lite v1.2.0
- New features:
- eRPC: Added support for unions type non-wrapped by structure.
- eRPC: Added callbacks support.
- eRPC: Added support \@external annotation for functions.
- eRPC: Added support \@name annotation.
- eRPC: Added Messaging Unit transport layer.
- eRPC: Added RPMSG Lite RTOS TTY transport layer.
- eRPC: Added version verification and IDL version verification between eRPC code and eRPC generated shim code.
- eRPC: Added support of shared memory pointer.
- eRPC: Added annotation to forbid generating const keyword for function parameters.
- eRPC: Added python matrix multiply example.
- eRPC: Added nested call support.
- eRPC: Added struct member "byref" option support.
- eRPC: Added support of forward declarations of structures
- eRPC: Added Python RPMsg Multiendpoint kernel module support
- eRPC: Added eRPC sniffer tool
- MCMgr: Unused API removed
- MCMgr: Added the ability for remote core monitoring and event handling
- RPMsg-Lite: Several source files renamed to avoid conflicts with other middleware sw components
- RPMsg-Lite: Added the ability to use Multicore Manager (MCMGR) as the IPC interrupts router
- 2.2.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.4.0
- eRPC generator (erpcgen) v.1.4.0
- Multicore Manager (MCMgr) v2.0.1
- RPMsg-Lite v1.1.0
- New features:
- eRPC: win_flex_bison.zip for windows updated.
- eRPC: Use one codec (instead of inCodec outCodec).
- eRPC: New RPMsg-Lite Zero Copy (RPMsgZC) transport layer.
- MCMgr: code updated to be Misra compliant.
- RPMsg-Lite: Added macros for packed structures (compiler.h).
- RPMsg-Lite: Improved interrupt handling in platform layer.
- RPMsg-Lite: Changed RL_BUFFER_SIZE definition.
- RPMsg-Lite: Fix of double initialization of vring shared data structure.
- RPMsg-Lite: Support for the multi-instance.
- 2.1.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.3.0
- eRPC generator (erpcgen) v.1.3.0
- New features:
- eRPC: New annotation types introduced (\@length, \@max_length, ...).
- eRPC: Support for running both erpc client and erpc server on one side.
- eRPC: New transport layers for (LP)UART, (D)SPI.
- eRPC: Error handling support.
- 2.0.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.2.0
- eRPC generator (erpcgen) v.1.2.0
- Multicore Manager (MCMgr) v2.0.0
- RPMsg-Lite v1.0.0
- New features:
- Multicore SDK support for lpcxpresso54114 board added.
- RPMsg component of the Open-AMP framework re-implemented and the RPMsg-Lite version introduced.
- eRPC source directory organization changed.
- Many eRPC improvements.
- 1.1.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.1.0
- Multicore Manager (MCMgr) v1.1.0
- Open-AMP / RPMsg based on SHA1 ID 44b5f3c0a6458f3cf80 rev01
- New features:
- Multicore SDK 1.1.0 ported to KSDK 2.0.0.
- Python support added into eRPC.
- 1.0.0
- Multicore SDK component versions:
- embedded Remote Procedure Call (eRPC) v1.0.0
- Multicore Manager (MCMgr) v1.0.0
- Open-AMP / RPMsg based on SHA1 ID 44b5f3c0a6458f3cf80 rev00
*/