Skip to content

Commit 9d98b56

Browse files
committed
v10.1.1 - partial
1 parent b8f1488 commit 9d98b56

27 files changed

+373
-382
lines changed

library.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
name=FreeRTOS
2-
version=10.1.0-2
2+
version=10.1.1-1
33
author=Richard Barry <[email protected]>
44
maintainer=Phillip Stevens <[email protected]>
55
sentence=Real Time Operating System implemented for AVR (Uno, Leonardo, Mega).
66
paragraph=The primary design goals are: Easy to use, Small footprint, Robust. Uses Watchdog Timer for 15ms resolution. Slow blink = stack overflow. Fast blink = heap malloc() failure.
77
category=Timing
88
url=https://github.com/feilipu/Arduino_FreeRTOS_Library
99
architectures=avr
10+
licence=MIT
1011
includes=Arduino_FreeRTOS.h

src/Arduino_FreeRTOS.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* FreeRTOS Kernel V10.1.0
2+
* FreeRTOS Kernel V10.1.1
33
* Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of
@@ -59,7 +59,6 @@ extern "C" {
5959
#include "projdefs.h"
6060

6161
/* Definitions specific to the port being used. */
62-
#include "portmacro.h"
6362
#include "portable.h"
6463

6564
/* Must be defaulted before configUSE_NEWLIB_REENTRANT is used below. */

src/FreeRTOSConfig.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* FreeRTOS Kernel V10.1.0
2+
* FreeRTOS Kernel V10.1.1
33
* Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

src/croutine.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* FreeRTOS Kernel V10.1.0
2+
* FreeRTOS Kernel V10.1.1
33
* Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

src/croutine.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* FreeRTOS Kernel V10.1.0
2+
* FreeRTOS Kernel V10.1.1
33
* Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

src/event_groups.c

Lines changed: 18 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* FreeRTOS Kernel V10.1.0
2+
* FreeRTOS Kernel V10.1.1
33
* Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of
@@ -39,7 +39,11 @@ task.h is included from an application file. */
3939
#include "timers.h"
4040
#include "event_groups.h"
4141

42-
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
42+
/* Lint e961, e750 and e9021 are suppressed as a MISRA exception justified
43+
because the MPU ports require MPU_WRAPPERS_INCLUDED_FROM_API_FILE to be defined
44+
for the header files above, but not in this file, in order to generate the
45+
correct privileged Vs unprivileged linkage and placement. */
46+
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE /*lint !e961 !e750 !e9021 See comment above. */
4347

4448
/* The following bit fields convey control information in a task's event list
4549
item value. It is important they don't clash with the
@@ -100,11 +104,11 @@ static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEventBits, co
100104
event group structure. */
101105
volatile size_t xSize = sizeof( StaticEventGroup_t );
102106
configASSERT( xSize == sizeof( EventGroup_t ) );
103-
}
107+
} /*lint !e529 xSize is referenced if configASSERT() is defined. */
104108
#endif /* configASSERT_DEFINED */
105109

106110
/* The user has provided a statically allocated event group - use it. */
107-
pxEventBits = ( EventGroup_t * ) pxEventGroupBuffer;
111+
pxEventBits = ( EventGroup_t * ) pxEventGroupBuffer; /*lint !e740 !e9087 EventGroup_t and StaticEventGroup_t are deliberately aliased for data hiding purposes and guaranteed to have the same size and alignment requirement - checked by configASSERT(). */
108112

109113
if( pxEventBits != NULL )
110114
{
@@ -155,7 +159,7 @@ static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEventBits, co
155159
sizeof( TickType_t ), the TickType_t variables will be accessed in two
156160
or more reads operations, and the alignment requirements is only that
157161
of each individual read. */
158-
pxEventBits = ( EventGroup_t * ) pvPortMalloc( sizeof( EventGroup_t ) );
162+
pxEventBits = ( EventGroup_t * ) pvPortMalloc( sizeof( EventGroup_t ) ); /*lint !e9087 !e9079 see comment above. */
159163

160164
if( pxEventBits != NULL )
161165
{
@@ -175,7 +179,7 @@ static BaseType_t prvTestWaitCondition( const EventBits_t uxCurrentEventBits, co
175179
}
176180
else
177181
{
178-
traceEVENT_GROUP_CREATE_FAILED();
182+
traceEVENT_GROUP_CREATE_FAILED(); /*lint !e9063 Else branch only exists to allow tracing and does not generate code if trace macros are not defined. */
179183
}
180184

181185
return pxEventBits;
@@ -488,7 +492,7 @@ EventBits_t uxReturn;
488492
BaseType_t xReturn;
489493

490494
traceEVENT_GROUP_CLEAR_BITS_FROM_ISR( xEventGroup, uxBitsToClear );
491-
xReturn = xTimerPendFunctionCallFromISR( vEventGroupClearBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToClear, NULL );
495+
xReturn = xTimerPendFunctionCallFromISR( vEventGroupClearBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToClear, NULL ); /*lint !e9087 Can't avoid cast to void* as a generic callback function not specific to this use case. Callback casts back to original type so safe. */
492496

493497
return xReturn;
494498
}
@@ -509,7 +513,7 @@ EventBits_t uxReturn;
509513
portCLEAR_INTERRUPT_MASK_FROM_ISR( uxSavedInterruptStatus );
510514

511515
return uxReturn;
512-
}
516+
} /*lint !e818 EventGroupHandle_t is a typedef used in other functions to so can't be pointer to const. */
513517
/*-----------------------------------------------------------*/
514518

515519
EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup, const EventBits_t uxBitsToSet )
@@ -527,7 +531,7 @@ BaseType_t xMatchFound = pdFALSE;
527531
configASSERT( ( uxBitsToSet & eventEVENT_BITS_CONTROL_BYTES ) == 0 );
528532

529533
pxList = &( pxEventBits->xTasksWaitingForBits );
530-
pxListEnd = listGET_END_MARKER( pxList );
534+
pxListEnd = listGET_END_MARKER( pxList ); /*lint !e826 !e740 !e9087 The mini list structure is used as the list end to save RAM. This is checked and valid. */
531535
vTaskSuspendAll();
532536
{
533537
traceEVENT_GROUP_SET_BITS( xEventGroup, uxBitsToSet );
@@ -652,15 +656,15 @@ const List_t *pxTasksWaitingForBits = &( pxEventBits->xTasksWaitingForBits );
652656
an interrupt. */
653657
void vEventGroupSetBitsCallback( void *pvEventGroup, const uint32_t ulBitsToSet )
654658
{
655-
( void ) xEventGroupSetBits( pvEventGroup, ( EventBits_t ) ulBitsToSet );
659+
( void ) xEventGroupSetBits( pvEventGroup, ( EventBits_t ) ulBitsToSet ); /*lint !e9079 Can't avoid cast to void* as a generic timer callback prototype. Callback casts back to original type so safe. */
656660
}
657661
/*-----------------------------------------------------------*/
658662

659663
/* For internal use only - execute a 'clear bits' command that was pended from
660664
an interrupt. */
661665
void vEventGroupClearBitsCallback( void *pvEventGroup, const uint32_t ulBitsToClear )
662666
{
663-
( void ) xEventGroupClearBits( pvEventGroup, ( EventBits_t ) ulBitsToClear );
667+
( void ) xEventGroupClearBits( pvEventGroup, ( EventBits_t ) ulBitsToClear ); /*lint !e9079 Can't avoid cast to void* as a generic timer callback prototype. Callback casts back to original type so safe. */
664668
}
665669
/*-----------------------------------------------------------*/
666670

@@ -706,7 +710,7 @@ BaseType_t xWaitConditionMet = pdFALSE;
706710
BaseType_t xReturn;
707711

708712
traceEVENT_GROUP_SET_BITS_FROM_ISR( xEventGroup, uxBitsToSet );
709-
xReturn = xTimerPendFunctionCallFromISR( vEventGroupSetBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToSet, pxHigherPriorityTaskWoken );
713+
xReturn = xTimerPendFunctionCallFromISR( vEventGroupSetBitsCallback, ( void * ) xEventGroup, ( uint32_t ) uxBitsToSet, pxHigherPriorityTaskWoken ); /*lint !e9087 Can't avoid cast to void* as a generic callback function not specific to this use case. Callback casts back to original type so safe. */
710714

711715
return xReturn;
712716
}
@@ -719,7 +723,7 @@ BaseType_t xWaitConditionMet = pdFALSE;
719723
UBaseType_t uxEventGroupGetNumber( void* xEventGroup )
720724
{
721725
UBaseType_t xReturn;
722-
EventGroup_t const *pxEventBits = ( EventGroup_t * ) xEventGroup;
726+
EventGroup_t const *pxEventBits = ( EventGroup_t * ) xEventGroup; /*lint !e9087 !e9079 EventGroupHandle_t is a pointer to an EventGroup_t, but EventGroupHandle_t is kept opaque outside of this file for data hiding purposes. */
723727

724728
if( xEventGroup == NULL )
725729
{
@@ -740,7 +744,7 @@ BaseType_t xWaitConditionMet = pdFALSE;
740744

741745
void vEventGroupSetNumber( void * xEventGroup, UBaseType_t uxEventGroupNumber )
742746
{
743-
( ( EventGroup_t * ) xEventGroup )->uxEventGroupNumber = uxEventGroupNumber;
747+
( ( EventGroup_t * ) xEventGroup )->uxEventGroupNumber = uxEventGroupNumber; /*lint !e9087 !e9079 EventGroupHandle_t is a pointer to an EventGroup_t, but EventGroupHandle_t is kept opaque outside of this file for data hiding purposes. */
744748
}
745749

746750
#endif /* configUSE_TRACE_FACILITY */

src/event_groups.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* FreeRTOS Kernel V10.1.0
2+
* FreeRTOS Kernel V10.1.1
33
* Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

src/heap_3.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* FreeRTOS Kernel V10.1.0
2+
* FreeRTOS Kernel V10.1.1
33
* Copyright (C) 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of

src/history.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
Documentation and download available at https://www.FreeRTOS.org/
22

3+
Changes between FreeRTOS V10.1.0 and FreeRTOS V10.1.1 released 7 September 2018
4+
5+
+ Reverted a few structure name changes that broke several kernel aware
6+
debugger plug-ins.
7+
+ Updated to the latest trace recorder code.
8+
+ Fixed some formatting in the FreeRTOS+TCP TCP/IP stack code.
9+
+ Reverted moving some variables from file to function scope as doing so
10+
broke debug scenarios that require the static qualifier to be removed.
11+
+ Arduino FreeRTOS - above reversions not implemented.
12+
313
Changes between FreeRTOS V10.0.1 and FreeRTOS V10.1.0 released 22 August 2018
414

515
FreeRTOS Kernel Changes:

0 commit comments

Comments
 (0)