1. 01 Aug, 2021 1 commit
  2. 06 Jul, 2021 1 commit
  3. 09 Jun, 2021 1 commit
  4. 23 Feb, 2021 1 commit
  5. 22 Feb, 2021 1 commit
  6. 01 Feb, 2021 2 commits
    • Andreas Werner's avatar
      Merge branch 'master' into 'master' · c6cf7117
      Andreas Werner authored
      Update to FreeRTOS V10.4.3
      See merge request !2
    • Andreas Werner's avatar
      Update to FreeRTOS V10.4.3 · d63d716a
      Andreas Werner authored
      Changes between FreeRTOS V10.4.2 and FreeRTOS V10.4.3 released December 14 2020
      	V10.4.3 is included in the 202012.00 LTS release.  Learn more at https:/freertos.org/lts-libraries.html
      	See https://www.FreeRTOS.org/FreeRTOS-V10.4.x.html
      	+ Changes to improve robustness and consistency for buffer allocation in
      	  the heap, queue and stream buffer.
      	+ The following functions can no longer be called from unprivileged code.
      	  - xTaskCreateRestricted
      	  - xTaskCreateRestrictedStatic
      	  - vTaskAllocateMPURegions
      Changes between FreeRTOS V10.4.1 and FreeRTOS V10.4.2 released November 10 2020
      	See https://www.FreeRTOS.org/FreeRTOS-V10.4.x.html
      	+ Fix an issue in the ARMv8-M ports that caused BASEPRI to be masked
      	  between the first task starting to execute and that task making
      	  a FreeRTOS API call.
      	+ Introduced xTaskDelayUntil(), which is functionally equivalent to
      	  vTaskDelayUntil(), with the addition of returning a value to
      	  indicating whether or not the function placed the calling task into
      	  the Blocked state or not.
      	+ Update WolfSSL to 4.5.0 and add the FIPS ready demo.
      	+ Add support for ESP IDF 4.2 to ThirdParty Xtensa port.
      	+ Re-introduce uxTopUsedPriority to support OpenOCD debugging.
      	+ Convert most dependent libraries in FreeRTOS/FreeRTOS to submodules.
      	+ Various general maintenance and improvements to MISRA compliance.
  7. 24 Oct, 2020 2 commits
  8. 16 Oct, 2020 2 commits
  9. 08 Oct, 2020 1 commit
    • Andreas Werner's avatar
      Update to FreeRTOS V10.4.0 · dce65d08
      Andreas Werner authored
      Changelog from FreeRTOS History.txt:
      Changes between FreeRTOS V10.4.0 and FreeRTOS V10.4.1 released September 17 2020
      	See https://www.FreeRTOS.org/FreeRTOS-V10.4.x.html
      	+ Fixed an incorrectly named parameter that prevented the
      	  ulTaskNotifyTakeIndexed macro compiling, and the name space clash in the
      	  test code that prevented this error causing test failures.
      Changes between FreeRTOS V10.3.1 and FreeRTOS V10.4.0 released September 10 2020
      	See https://www.FreeRTOS.org/FreeRTOS-V10.4.x.html
      	Major enhancements:
      	+ Task notifications:  Prior to FreeRTOS V10.4.0 each created task had a
      	  single direct to task notification.  From FreeRTOS V10.4.0 each task has
      	  an array of notifications.  The direct to task notification API has been
      	  extended with API functions postfixed with "Indexed" to enable the API to
      	  operate on a task notification at any array index.  See
      	  https://www.freertos.org/RTOS-task-notifications.html for more information.
      	+ Kernel ports that support memory protection units (MPUs): The ARMv7-M and
      	  ARMv8-M MPU ports now support a privilege access only heap. The ARMv7-M
      	  MPU ports now support devices that have 16 MPU regions, have the ability
      	  to override default memory attributes for privileged code and data
      	  regions, and have the ability to place the FreeRTOS kernel code outside of
      	  the Flash memory. The ARMv8-M MPU ports now support tickless idle mode.
      	  See https://www.freertos.org/FreeRTOS-MPU-memory-protection-unit.html
      	  for more information.
      	Additional noteworthy updates:
      	+ Code formatting is now automated to facilitate the increase in
      	  collaborative development in Git.  The auto-formated code is not identical
      	  to the original formatting conventions.  Most notably spaces are now used
      	  in place of tabs.
      	+ The prototypes for callback functions (those that start with "Application",
      	  such as vApplicationStackOverflowHook()) are now in the FreeRTOS header
      	  files, removing the need for application writers to add prototypes into
      	  the C files in which they define the functions.
      	+ New Renesas RXv3 port layer.
      	+ Updates to the Synopsys ARC code, including support for EM and HS cores,
      	  and updated BSP.
      	+ Added new POSIX port layer that allows FreeRTOS to run on Linux hosts in
      	  the same way the Windows port layer enables FreeRTOS to run on Windows
      	+ Many other minor optimisations and enhancements. For full details
      	  see https://github.com/FreeRTOS/FreeRTOS-Kernel/commits/master
  10. 22 Sep, 2020 1 commit
  11. 09 Sep, 2020 1 commit
    • Andreas Werner's avatar
      Update to FreeRTOS V10.3.1 · df68190d
      Andreas Werner authored
      Changelog from FreeRTOS History.txt:
      Changes between FreeRTOS V10.3.0 and FreeRTOS V10.3.1 released February 18 2020
              See http://www.FreeRTOS.org/FreeRTOS-V10.3.x.html
              ./FreeRTOS-Labs directory was removed from this file. The libraries it
              contained are now available as a separate download.
      Changes between FreeRTOS V10.2.1 and FreeRTOS V10.3.0 released February 7 2020
              See http://www.FreeRTOS.org/FreeRTOS-V10.3.x.html
              New and updated kernel ports:
              + Added RISC-V port for the IAR compiler.
              + Update the Windows simulator port to use a synchronous object to prevent
                a user reported error whereby a task continues to run for a short time
                after being moved to the Blocked state.  Note we were not able to
                replicate the reported issue and it likely depends on your CPU model.
              + Correct alignment of stack top in RISC-V port when
                configISR_STACK_SIZE_WORDS is defined to a non zero value, which causes
                the interrupt stack to be statically allocated.
              + The RISC-V machine timer compare register can now be for any HART, whereas
                previously it was always assumed FreeRTOS was running on HART 0.
              + Update the sequence used to update the 64-bit machine timer
                compare register on 32-bit cores to match that suggested in RISC-V
              + Added tickless low power modes into the ARM, IAR and GCC Cortex-M0 compiler
              + Updated the behaviour of the ARMv7-M MPU (Memory Protection Unit) ports to
                match that of the ARMv8-M ports whereby privilege escalations can only
                originate from within the kernel's own memory segment.  Added
                configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY configuration constant.
              + Update existing MPU ports to correctly disable the MPU before it is
              + Added contributed port and demo application for a T-Head (formally C-SKY)
              New API functions:
              + Added the vPortGetHeapStats() API function which returns information on
                the heap_4 and heap_5 state.
              + Added xTaskCatchUpTicks(), which corrects the tick count value after the
                application code has held interrupts disabled for an extended period.
              + Added xTaskNotifyValueClear() API function.
              + Added uxTimerGetReloadMode() API function.
              Other miscellaneous changes:
              + Change type of uxPendedTicks from UBaseType_t to TickType_t to ensure it
                has the same type as variables with which it is compared to, and therefore
                also renamed the variable xPendingTicks.
              + Update Keil projects that use the MPU so memory regions come from linker
                script (scatter file) variables instead of being hard coded.
              + Added LPC51U68 Cortex-M0+ demos for GCC (MCUXpresso), Keil and IAR
              + Added CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube demo.
              + Added LPC54018 MPU demo.
              + Rename xTaskGetIdleRunTimeCounter() to ulTaskGetIdleRunTimeCounter().
  12. 11 Jun, 2019 1 commit
  13. 28 Oct, 2018 1 commit
    • Andreas Werner's avatar
      update to V10.1.1 · 804f0865
      Andreas Werner authored
      FreeRTOS Kernel Changes:
      + Reverted a few structure name changes that broke several kernel aware
        debugger plug-ins.
      + Updated to the latest trace recorder code.
      + Fixed some formatting in the FreeRTOS+TCP TCP/IP stack code.
      + Reverted moving some variables from file to function scope as doing so
        broke debug scenarios that require the static qualifier to be removed.
      + Update lint checked MISRA compliance to use the latest MISRA standard, was
        previously using the original MISRA standard.
      + Updated all object handles (TaskHandle_t, QueueHandle_t, etc.) to be
        unique types instead of void pointers, improving type safety.  (this was
        attempted some years back but had to be backed out due to bugs in some
        debuggers).  Note this required the pvContainer member of a ListItem_t
        struct to be renamed - set configENABLE_BACKWARD_COMPATIBILITY to 1 if
        this causes an issue.
      + Added configUSE_POSIX_ERRNO to enable per task POSIX style errno
        functionality in a more user friendly way - previously the generic thread
        local storage feature was used for this purpose.
      + Added Xtensa port and demo application for the XCC compiler.
      + Changed the implementation of vPortEndScheduler() for the Win32 port to
        simply call exit( 0 ).
      + Bug fix in vPortEnableInterrupt() for the GCC Microblaze port to protect
        the read modify write access to an internal Microblaze register.
      + Fix minor niggles when the MPU is used with regards to prototype
        differences, static struct size differences, etc.
      + The usStackHighWaterMark member of the TaskStatus_t structure now has type
        configSTACK_DEPTH_TYPE in place of uint16_t - that change should have been
        made when the configSTACK_DEPTH_TYPE type (which gets around the previous
        16-bit limit on stack size specifications) was introduced.
      + Added the xMessageBufferNextLengthBytes() API function and likewise stream
        buffer equivalent.
      + Introduce configMESSAGE_BUFFER_LENGTH_TYPE to allow the number of bytes
        used to hold the length of a message in the message buffer to be reduced.
        configMESSAGE_BUFFER_LENGTH_TYPE default to size_t, but if, for example,
        messages can never be more than 255 bytes it could be set to uint8_t,
        saving 3 bytes each time a message is written into the message buffer
        (assuming sizeof( size_t ) is 4).
      + Updated the StaticTimer_t structure to ensure it matches the size of the
        Timer_t structure when the size of TaskFunction_t does not equal the size
        of void *.
      + Update various Xilinx demos to use 2018.1 version of the SDK tools.
      + Various updates to demo tasks to maintain test coverage.
      + FreeRTOS+UDP was removed in FreeRTOS V10.1.0 as it was replaced by
        FreeRTOS+TCP, which was brought into the main download in FreeRTOS
        V10.0.0.  FreeRTOS+TCP can be configured as a UDP only stack, and
        FreeRTOS+UDP does not contain the patches applied to FreeRTOS+TCP.
  14. 08 May, 2018 1 commit
  15. 18 Mar, 2018 1 commit
  16. 18 Feb, 2018 1 commit
    • Andreas Werner's avatar
      Update to FreeRTOS v10.0 · a446dc50
      Andreas Werner authored and Andreas Werner's avatar Andreas Werner committed
      Change Log form https://www.freertos.org/History.txt
      Changes since FreeRTOS V9.0.1:
      	New Features and components:
      	+ Stream Buffers - see
      	+ Message Buffers - see
      	+ Move FreeRTOS+TCP into the main repository, along with the
      basic Win32
      	  TCP demo FreeRTOS_Plus_TCP_Minimal_Windows_Simulator.
      	New ports or demos:
      	+ Added demo for TI SimpleLink CC3220 MCU.
      	+ Added MPU and non MPU projects for Microchip CEC and MEC 17xx
      and 51xx
      	+ Added CORTEX_MPU_Static_Simulator_Keil_GCC demo to test static
      	  in the MPU port.
      	Fixes or enhancements:
      	+ Cortex-M ports push additional register prior to calling
      	  vTaskSwitchContext to ensure 8-byte alignment is maintained.
      	  important if a user defined tick hook function performs an
      operation that
      	  requires 8-byte alignment.
      	+ Optimisations to the implementation of the standard tickless
      idle mode on
      	  Cortex-M devices.
      	+ Improvements to the Win32 port including using higher priority
      	+ Ensure interrupt stack alignment on PIC32 ports.
      	+ Updated GCC TriCore port to build with later compiler
      	+ Update mpu_wrappers.c to support static allocation.
      	+ The uxNumberOfItems member of List_t is now volatile - solving
      an issue
      	  when the IAR compiler was used with maximum optimization.
      	+ Introduced configRECORD_STACK_HIGH_ADDRESS.  When set to 1 the
      stack start
      	  address is saved into each task's TCB (assuming stack grows
      	+ Introduced configINCLUDE_FREERTOS_TASK_C_ADDITIONS_H to allow
      user defined
      	  functionality, and user defined initialisation, to be added to
      	  tasks.c source file.  When
      	  set to 1 a user provided header file called
      	  will be included at the bottom of tasks.c.  Functions defined
      in that
      	  header file can call freertos_tasks_c_additions_init(), which
      in turn
      	  calls a macro called FREERTOS_TASKS_C_ADDITIONS_INIT(), if it
      is defined.
      	  FREERTOS_TASKS_C_ADDITIONS_INIT() can be defined in
      	+ Introduced configPRE_SUPPRESS_TICKS_AND_SLEEP_PROCESSING( x )
      which can be
      	  defined by a user in FreeRTOSConfig.h.  The macro is called
      	  assessing whether to enter tickless idle mode or not.  If the
      macro sets
      	  x to zero then tickless idle mode will not be entered.  This
      allows users
      	  to abort tickless idle mode entry before the tickless idle
      function is
      	  even called - previously it was only possible to abort from
      within the
      	  tickless idle function itself.
      	+ Added configPRINTF(), which can be defined by users to allow
      all libraries
      	  to use the same print formatter.
      	+ Introduced configMAX() and configMIN() macros which default to
      	  max( x, y ) and min( x, y ) macro behaviour, but can be
      overridden if the
      	  application writer defines the same macros in
      	+ Corrected the definition of StaticTask_t in the case where
      	  INCLUDE_xTaskAbortDelay is set to 1.
      	+ Introduced configTIMER_SERVICE_TASK_NAME and
      configIDLE_TASK_NAME, both of
      	  which can be defined to strings in FreeRTOSConfig.h to change
      the default
      	  names of the timer service and idle tasks respectively.
      	+ Only fill the stack of a newly created task with a known value
      if stack
      	  checking, or high water mark checking/viewing, is in use -
      removing the
      	  dependency on memset() in other cases.
      	+ Introduced xTaskCreateRestrictedStatic() so static allocation
      can be used
      	  with the MPU.
      	+ Ensure suspended tasks cannot be unsuspended by a received
      	+ Fix race condition in vTaskSetTimeOutState().
      	+ Updated trace recorder files to the latest version.
  17. 03 Jan, 2018 1 commit
  18. 19 Oct, 2017 1 commit
  19. 05 Oct, 2017 1 commit
  20. 03 Oct, 2017 2 commits
  21. 11 Oct, 2016 1 commit
  22. 29 Sep, 2016 1 commit
  23. 15 May, 2016 3 commits
  24. 01 Apr, 2016 1 commit
  25. 27 Mar, 2016 1 commit
  26. 19 Mar, 2016 1 commit
  27. 12 Mar, 2016 1 commit
  28. 09 Mar, 2016 1 commit
  29. 03 Mar, 2016 1 commit
  30. 20 Oct, 2015 1 commit
    • Andreas Werner's avatar
      Update FreeRTOS to v8.2.3 · d4c2f11d
      Andreas Werner authored
      Changes between V8.2.2 and V8.2.3 released October 16, 2015
      	RTOS kernel updates:
      	+ Fix bug identified in a modification made in V8.2.2 to the software timer
      	  code that allows tickless low power applications to sleep indefinitely
      	  when software timers are used.
      	+ Simplify and improve efficiency of stack overflow checking.
      	+ Add xTaskNotifyStateClear() API function.
      	+ New IAR and GCC Cortex-R ports for microprocessors that do not use an ARM
      	  generic interrupt controller (GIC).
      	+ New PIC32MEC14xx port.
      	+ Add support for PIC32MZ EF parts (with floating point) into the PIC32MZ
      	+ Zynq7000 port layer now declares the functions that setup and clear the
      	  tick interrupt as weak symbols so they can be overridden by the
      	  application, and uses a global XScuGic object so the same object can be
      	  used by the application code.
      	+ Introduced configUSE_TASK_FPU_SUPPORT, although the PIC32MZ EF port is
      	  currently the only port that uses it.
      	+ Updates to RL78 and 78K0 IAR port layers to improve support for
      	  combinations of memory models.
      	+ Minor updates to heap_5.c to remove compiler warnings generated by some
      	+ License simplifications.  See /FreeRTOS/License/license.txt in the
      	  official distribution.
  31. 02 Oct, 2015 1 commit
  32. 21 Sep, 2015 1 commit
  33. 17 Sep, 2015 1 commit
  34. 15 Sep, 2015 1 commit