Skip to content

Update 10.5.1 Release

Compare
Choose a tag to compare
@feilipu feilipu released this 03 May 04:28
· 32 commits to master since this release

Changes between FreeRTOS V10.5.0 and V10.5.1+ May 3 2023

  • Minor updates from the repository, mainly typos and formatting for consistency. See commit for details.
  • Removed Timer0 settings to documentation and provided a usage example. No functional change.

Changes between FreeRTOS V10.4.6 and V10.5.0 September 16 2022

  • Update the pointer types to portPOINTER_SIZE_TYPE.
  • Add the ability to override send and receive completed callbacks for each
    instance of a stream buffer or message buffer. Earlier there could be
    one send and one receive callback for all instances of stream and message
    buffers. Having separate callbacks per instance allows different message
    and stream buffers to be used differently - for example, some for inter core
    communication and others for same core communication.
    The feature can be controlled by setting the configuration option
    configUSE_SB_COMPLETED_CALLBACK in FreeRTOSConfig.h. When the option is set to 1,
    APIs xStreamBufferCreateWithCallback() or xStreamBufferCreateStaticWithCallback()
    (and likewise APIs for message buffer) can be used to create a stream buffer
    or message buffer instance with application provided callback overrides. When
    the option is set to 0, then the default callbacks as defined by
    sbSEND_COMPLETED() and sbRECEIVE_COMPLETED() macros are invoked. To maintain
    backwards compatibility, configUSE_SB_COMPLETED_CALLBACK defaults to 0. The
    functionality is currently not supported for MPU enabled ports.
  • Introduce the configUSE_MINI_LIST_ITEM configuration option. When this
    option is set to 1, ListItem_t and MiniLitItem_t remain separate types.
    However, when configUSE_MINI_LIST_ITEM == 0, MiniLitItem_t and ListItem_t
    are both typedefs of the same struct xLIST_ITEM. This addresses some issues
    observed when strict-aliasing and link time optimization are enabled.
    To maintain backwards compatibility, configUSE_MINI_LIST_ITEM defaults to 1.
  • Simplify prvInitialiseNewTask to memset newly allocated TCB structures
    to zero, and remove code that set individual structure members to zero.
  • Add top of stack and end of stack to the task info report obtained using
    vTaskGetInfo().
  • Add a cap to the cRxLock and cTxLock members of the queue data structure.
    These locks count the number items received and sent to the queue while
    the queue was locked. These are later used to unblock tasks waiting on
    the queue when the queue is unlocked. This PR caps the values of the
    cRxLock and cTxLock to the number of tasks in the system because we cannot
    unblock more tasks than there are in the system. Note that the same assert
    could still be triggered is the application creates more than 127 tasks.
  • Changed uxAutoReload parameter in timer functions to xAutoReload. The
    type is now BaseType_t. This matches the type of pdTRUE and pdFALSE.
    The new function xTimerGetAutoReload() provides the auto-reload state as
    a BaseType_t. The legacy function uxTimerGetAutoReload is retained with the
    original UBaseType_t return value.