forked from epagris/FreeRTOS-Kernel
		
	Update History.txt (#535)
* Update History.txt Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
This commit is contained in:
		
							parent
							
								
									fc615627f6
								
							
						
					
					
						commit
						4649d58899
					
				
							
								
								
									
										182
									
								
								History.txt
									
									
									
									
									
								
							
							
						
						
									
										182
									
								
								History.txt
									
									
									
									
									
								
							@ -2,28 +2,106 @@ Changes between FreeRTOS V10.4.6 and TBD
 | 
			
		||||
 | 
			
		||||
Documentation and download available at https://www.FreeRTOS.org/
 | 
			
		||||
 | 
			
		||||
	+ 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.
 | 
			
		||||
	+ Add support for ARM Cortex-M55.
 | 
			
		||||
	+ Add vectored mode interrupt support to the RISC-V port.
 | 
			
		||||
	+ Heap improvements:
 | 
			
		||||
	  - Add a check to heap_2 to track if a memory block is allocated to
 | 
			
		||||
	    the application or not. The MSB of the size field is used for this
 | 
			
		||||
	    purpose. The same check already exists in heap_4 and heap_5. This
 | 
			
		||||
	    check prevents double free errors.
 | 
			
		||||
	  - Add a new flag configHEAP_CLEAR_MEMORY_ON_FREE to heap_2, heap_4
 | 
			
		||||
	    and heap_5. If the flag is set in FreeRTOSConfig.h then memory freed using
 | 
			
		||||
	    vPortFree() is automatically cleared to zero.
 | 
			
		||||
	  - Add a new API pvPortCalloc to heap_2, heap_4 and heap_5 which has the same
 | 
			
		||||
	    signature as the standard library calloc function.
 | 
			
		||||
	+ 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.
 | 
			
		||||
	+ Add support to build and link FreeRTOS using CMake build system. Contributed
 | 
			
		||||
	  by @yhsb2k.
 | 
			
		||||
	+ Add support to generate Software Bill of Materials (SBOM) for every release.
 | 
			
		||||
	+ Add support for 16 MPU regions to the GCC Cortex-M33 ports.
 | 
			
		||||
	+ Add ARM Cortex-M7 r0p0/r0p1 Errata 837070 workaround to ARM CM4 MPU ports.
 | 
			
		||||
	  The application writer needs to define configENABLE_ERRATA_837070_WORKAROUND
 | 
			
		||||
	  when using CM4 MPU ports on a Cortex-M7 r0p0/r0p1 core.
 | 
			
		||||
	+ Add configSYSTICK_CLOCK_HZ to Cortex-M0 ports. This is needed to support
 | 
			
		||||
	  the case when the SysTick timer is not clocked from the same source as the CPU.
 | 
			
		||||
	+ Add hardware stack protection support to MicroBlazeV9 port. This ensures that
 | 
			
		||||
	  the CPU immediately raises Stack Protection Violation exception as soon as any
 | 
			
		||||
	  task violates its stack limits. Contributed by @uecasm.
 | 
			
		||||
	+ 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.
 | 
			
		||||
	+ Add the ability to override send and receive completed callbacks for each
 | 
			
		||||
	  instance of a stream buffer or message buffer. 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 from 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 
 | 
			
		||||
	  functionaility is currently not supported for MPU enabled ports.
 | 
			
		||||
	+ Simplify prvInitialiseNewTask to memset newly allocated TCB structures
 | 
			
		||||
	  to zero, and remove code that set individual structure members to zero.
 | 
			
		||||
	+ Add prototype for prvPortYieldFromISR to the POSIX port so that it builds
 | 
			
		||||
	  without any warning with -Wmissing-prototypes compiler option.
 | 
			
		||||
	+ Add top of stack and end of stack to the task info report obtained using
 | 
			
		||||
	  vTaskGetInfo(). Contributed by @shreyasbharath.
 | 
			
		||||
	+ 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.
 | 
			
		||||
	+ Fix support for user implementations of tickless idle that call
 | 
			
		||||
	  vTaskStepTick() with xExpectedIdleTime ticks to step. The new code
 | 
			
		||||
	  ensures xTickCount reaches xNextTaskUnblockTime inside xTaskIncrementTick()
 | 
			
		||||
	  instead of inside vTaskStepTick(). This fixes the typical case where a task
 | 
			
		||||
	  wakes up one tick late and a rare case assertion failure when xTickCount\
 | 
			
		||||
	  rolls over. Contributed by @jefftenney.
 | 
			
		||||
	+ Fix deadlock in event groups when pvPortMalloc and vPortFree functions
 | 
			
		||||
	  are protected with a mutex. Contributed by @clemenskresser.
 | 
			
		||||
	+ Fix a warning in tasks.c when compiled with -Wduplicated-branches
 | 
			
		||||
	  GCC option. Contributed by @pierrenoel-bouteville-act.
 | 
			
		||||
	+ Fix compilation error in tasks.c when configSUPPORT_DYNAMIC_ALLOCATION
 | 
			
		||||
	  is set to zero. Contributed by @rdpoor.
 | 
			
		||||
	+ Fix prvWriteMessageToBuffer() function in stream_buffer.c so that it correctly
 | 
			
		||||
	  copies length on big endian platforms too.
 | 
			
		||||
	+ Remove the need for  INCLUDE_vTaskSuspend to be set to 1
 | 
			
		||||
	  when configUSE_TICKLESS_IDLE is enabled. Contributed by @pramithkv.
 | 
			
		||||
	+ Update the RL78 IAR port to the latest version of IAR which uses the
 | 
			
		||||
	  industry standard ELF format as opposed to earlier UBROF object format.
 | 
			
		||||
	  Contributed by @felipe-iar.
 | 
			
		||||
	+ Add tick type is atomic flag when tick count is 16-bit to PIC24 port. This
 | 
			
		||||
	  allows the PIC24 family of 16 bit processors to read the tick count without
 | 
			
		||||
	  a critical section when the tick count is also 16 bits.
 | 
			
		||||
	+ Fix offset-out-of-range errors for GCC CM3/CM4 mpu ports when
 | 
			
		||||
	  Link Time Optimization is enabled. Contributed by @niniemann.
 | 
			
		||||
	+ Remove #error when RISC-V port is compiled on a 64-bit RISC-V platform.
 | 
			
		||||
	  Contributed by @cmdrf.
 | 
			
		||||
	+ Fix ullPortInterruptNesting alignment in Cortex-A53 port so that it is
 | 
			
		||||
	  8-byte aligned. This fixes the unaligned access exception. Contributed
 | 
			
		||||
	  by @Atomar25.
 | 
			
		||||
	+ Fix  Interrupt Handler Register Function and Exception Process in NiosII
 | 
			
		||||
	  Port. Contributed by @ghost.
 | 
			
		||||
	+ Change FreeRTOS IRQ Handler for Cortex-A53 SRE port to store and restore
 | 
			
		||||
	  interrupt acknowledge register. This ensures that the SRE port behavior
 | 
			
		||||
	  matches the Memory Mapped IO port. Contributed by @sviaunxp.
 | 
			
		||||
	+ Update the uncrustify config file to match the version of the uncrustify
 | 
			
		||||
	  used in the CI Action. Also, pin the version of uncrustify in CI. Contributed
 | 
			
		||||
	  by @swaldhoer.
 | 
			
		||||
 | 
			
		||||
Changes between FreeRTOS V10.4.5 and FreeRTOS V10.4.6 released November 12 2021
 | 
			
		||||
 | 
			
		||||
@ -64,43 +142,43 @@ Changes between FreeRTOS V10.4.4 and FreeRTOS V10.4.5 released September 10 2021
 | 
			
		||||
	  this change.
 | 
			
		||||
 | 
			
		||||
Changes between FreeRTOS V10.4.3 and FreeRTOS V10.4.4 released May 28 2021
 | 
			
		||||
    + Minor performance improvements to xTaskIncrementTick() achieved by providing
 | 
			
		||||
      macro versions of uxListRemove() and vListInsertEnd().
 | 
			
		||||
    + Minor refactor of timers.c that obsoletes the need for the
 | 
			
		||||
      tmrCOMMAND_START_DONT_TRACE macro and removes the need for timers.c to
 | 
			
		||||
      post to its own event queue.  A consequence of this change is that auto-
 | 
			
		||||
      reload timers that miss their intended next execution time will execute
 | 
			
		||||
      again immediately rather than executing again the next time the command
 | 
			
		||||
      queue is processed.  (thanks Jeff Tenney).
 | 
			
		||||
    + Fix a race condition in the message buffer implementation.  The
 | 
			
		||||
      underlying cause was that length and data bytes are written and read as
 | 
			
		||||
      two distinct operations, which both modify the size of the buffer. If a
 | 
			
		||||
      context switch occurs after adding or removing the length bytes, but
 | 
			
		||||
      before adding or removing the data bytes, then another task may observe
 | 
			
		||||
      the message buffer in an invalid state.
 | 
			
		||||
    + The xTaskCreate() and xTaskCreateStatic() functions accept a task priority
 | 
			
		||||
      as an input parameter.  The priority has always been silently capped to
 | 
			
		||||
      (configMAX_PRIORITIES - 1) should it be set to a value above that priority.
 | 
			
		||||
      Now values above that priority will also trigger a configASSERT() failure.
 | 
			
		||||
	+ Minor performance improvements to xTaskIncrementTick() achieved by providing
 | 
			
		||||
	  macro versions of uxListRemove() and vListInsertEnd().
 | 
			
		||||
	+ Minor refactor of timers.c that obsoletes the need for the
 | 
			
		||||
	  tmrCOMMAND_START_DONT_TRACE macro and removes the need for timers.c to
 | 
			
		||||
	  post to its own event queue.  A consequence of this change is that auto-
 | 
			
		||||
	  reload timers that miss their intended next execution time will execute
 | 
			
		||||
	  again immediately rather than executing again the next time the command
 | 
			
		||||
	  queue is processed.  (thanks Jeff Tenney).
 | 
			
		||||
	+ Fix a race condition in the message buffer implementation.  The
 | 
			
		||||
	  underlying cause was that length and data bytes are written and read as
 | 
			
		||||
	  two distinct operations, which both modify the size of the buffer. If a
 | 
			
		||||
	  context switch occurs after adding or removing the length bytes, but
 | 
			
		||||
	  before adding or removing the data bytes, then another task may observe
 | 
			
		||||
	  the message buffer in an invalid state.
 | 
			
		||||
	+ The xTaskCreate() and xTaskCreateStatic() functions accept a task priority
 | 
			
		||||
	  as an input parameter.  The priority has always been silently capped to
 | 
			
		||||
	  (configMAX_PRIORITIES - 1) should it be set to a value above that priority.
 | 
			
		||||
	  Now values above that priority will also trigger a configASSERT() failure.
 | 
			
		||||
	+ Replace configASSERT( pcQueueName ) in vQueueAddToRegistry with a NULL
 | 
			
		||||
      pointer check.
 | 
			
		||||
    + Introduce the configSTACK_ALLOCATION_FROM_SEPARATE_HEAP configuration
 | 
			
		||||
      constant that enables the stack allocated to tasks to come from a heap other
 | 
			
		||||
      than the heap used by other memory allocations.  This enables stacks to be
 | 
			
		||||
      placed within special regions, such as fast tightly coupled memory.
 | 
			
		||||
    + If there is an attempt to add the same queue or semaphore handle to the
 | 
			
		||||
      queue registry more than once then prior versions would create two separate
 | 
			
		||||
      entries.  Now if this is done the first entry is overwritten rather than
 | 
			
		||||
      duplicated.
 | 
			
		||||
    + Update the ESP32 port and TF-M (Trusted Firmware M)code to the latest from
 | 
			
		||||
      their respective repositories.
 | 
			
		||||
    + Correct a build error in the POSIX port.
 | 
			
		||||
    + Additional minor formatting updates, including replacing tabs with spaces
 | 
			
		||||
      in more files.
 | 
			
		||||
    + Other minor updates include adding additional configASSERT() checks and
 | 
			
		||||
      correcting and improving code comments.
 | 
			
		||||
    + Go look at the smp branch to see the progress towards the Symetric
 | 
			
		||||
      Multiprocessing Kernel. https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/smp
 | 
			
		||||
	  pointer check.
 | 
			
		||||
	+ Introduce the configSTACK_ALLOCATION_FROM_SEPARATE_HEAP configuration
 | 
			
		||||
	  constant that enables the stack allocated to tasks to come from a heap other
 | 
			
		||||
	  than the heap used by other memory allocations.  This enables stacks to be
 | 
			
		||||
	  placed within special regions, such as fast tightly coupled memory.
 | 
			
		||||
	+ If there is an attempt to add the same queue or semaphore handle to the
 | 
			
		||||
	  queue registry more than once then prior versions would create two separate
 | 
			
		||||
	  entries.  Now if this is done the first entry is overwritten rather than
 | 
			
		||||
	  duplicated.
 | 
			
		||||
	+ Update the ESP32 port and TF-M (Trusted Firmware M)code to the latest from
 | 
			
		||||
	  their respective repositories.
 | 
			
		||||
	+ Correct a build error in the POSIX port.
 | 
			
		||||
	+ Additional minor formatting updates, including replacing tabs with spaces
 | 
			
		||||
	  in more files.
 | 
			
		||||
	+ Other minor updates include adding additional configASSERT() checks and
 | 
			
		||||
	  correcting and improving code comments.
 | 
			
		||||
	+ Go look at the smp branch to see the progress towards the Symetric
 | 
			
		||||
	  Multiprocessing Kernel. https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/smp
 | 
			
		||||
 | 
			
		||||
Changes between FreeRTOS V10.4.2 and FreeRTOS V10.4.3 released December 14 2020
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user