Update broken links in readme and comments (#1110) Update broken links in readme and comments
diff --git a/README.md b/README.md index b574bad..a6d383a 100644 --- a/README.md +++ b/README.md
@@ -14,12 +14,12 @@ included, and the correct include paths configured. Once a demo application is building and executing you can remove the demo application files, and start to add in your own application source files. See the -[FreeRTOS Kernel Quick Start Guide](https://www.FreeRTOS.org/FreeRTOS-quick-start-guide.html) +[FreeRTOS Kernel Quick Start Guide](https://www.freertos.org/Documentation/01-FreeRTOS-quick-start/01-Beginners-guide/02-Quick-start-guide) for detailed instructions and other useful links. Additionally, for FreeRTOS kernel feature information refer to the -[Developer Documentation](https://www.FreeRTOS.org/features.html), -and [API Reference](https://www.FreeRTOS.org/a00106.html). +[Developer Documentation](https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/00-Developer-docs), +and [API Reference](https://www.freertos.org/Documentation/02-Kernel/04-API-references/01-Task-creation/00-TaskHandle). Also for contributing and creating a Pull Request please refer to [the instructions here](.github/CONTRIBUTING.md#contributing-via-pull-request).
diff --git a/examples/cmake_example/main.c b/examples/cmake_example/main.c index b7ced4d..96a2abf 100644 --- a/examples/cmake_example/main.c +++ b/examples/cmake_example/main.c
@@ -30,7 +30,7 @@ * This is a simple main that will start the FreeRTOS-Kernel and run a periodic task * that only delays if compiled with the template port, this project will do nothing. * For more information on getting started please look here: - * https://freertos.org/FreeRTOS-quick-start-guide.html + * https://www.freertos.org/Documentation/01-FreeRTOS-quick-start/01-Beginners-guide/02-Quick-start-guide */ /* FreeRTOS includes. */
diff --git a/include/queue.h b/include/queue.h index 62d095a..80345b9 100644 --- a/include/queue.h +++ b/include/queue.h
@@ -1645,7 +1645,7 @@ * or semaphores contained in the set is in a state where a queue read or * semaphore take operation would be successful. * - * Note 1: See the documentation on https://www.FreeRTOS.org/RTOS-queue-sets.html + * Note 1: See the documentation on https://www.freertos.org/Documentation/02-Kernel/04-API-references/07-Queue-sets/00-RTOS-queue-sets * for reasons why queue sets are very rarely needed in practice as there are * simpler methods of blocking on multiple objects. * @@ -1742,7 +1742,7 @@ * See FreeRTOS/Source/Demo/Common/Minimal/QueueSet.c for an example using this * function. * - * Note 1: See the documentation on https://www.FreeRTOS.org/RTOS-queue-sets.html + * Note 1: See the documentation on https://www.freertos.org/Documentation/02-Kernel/04-API-references/07-Queue-sets/00-RTOS-queue-sets * for reasons why queue sets are very rarely needed in practice as there are * simpler methods of blocking on multiple objects. *
diff --git a/list.c b/list.c index eb9efbd..0c0f367 100644 --- a/list.c +++ b/list.c
@@ -166,7 +166,7 @@ { /* *** NOTE *********************************************************** * If you find your application is crashing here then likely causes are - * listed below. In addition see https://www.FreeRTOS.org/FAQHelp.html for + * listed below. In addition see https://www.freertos.org/Why-FreeRTOS/FAQs for * more tips, and ensure configASSERT() is defined! * https://www.FreeRTOS.org/a00110.html#configASSERT *
diff --git a/portable/ARMv8M/non_secure/port.c b/portable/ARMv8M/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/ARMv8M/non_secure/port.c +++ b/portable/ARMv8M/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/CCS/ARM_CM3/port.c b/portable/CCS/ARM_CM3/port.c index 5ed26c2..8373c14 100644 --- a/portable/CCS/ARM_CM3/port.c +++ b/portable/CCS/ARM_CM3/port.c
@@ -669,7 +669,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/CCS/ARM_CM4F/port.c b/portable/CCS/ARM_CM4F/port.c index 1ac7a59..1ad0507 100644 --- a/portable/CCS/ARM_CM4F/port.c +++ b/portable/CCS/ARM_CM4F/port.c
@@ -694,7 +694,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM0/port.c b/portable/GCC/ARM_CM0/port.c index 608afa5..c3053c5 100644 --- a/portable/GCC/ARM_CM0/port.c +++ b/portable/GCC/ARM_CM0/port.c
@@ -1288,7 +1288,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if
diff --git a/portable/GCC/ARM_CM23/non_secure/port.c b/portable/GCC/ARM_CM23/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/GCC/ARM_CM23/non_secure/port.c +++ b/portable/GCC/ARM_CM23/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM23_NTZ/non_secure/port.c b/portable/GCC/ARM_CM23_NTZ/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/GCC/ARM_CM23_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM23_NTZ/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM3/port.c b/portable/GCC/ARM_CM3/port.c index 5adf39b..ba7a718 100644 --- a/portable/GCC/ARM_CM3/port.c +++ b/portable/GCC/ARM_CM3/port.c
@@ -292,7 +292,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -801,7 +801,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM33/non_secure/port.c b/portable/GCC/ARM_CM33/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/GCC/ARM_CM33/non_secure/port.c +++ b/portable/GCC/ARM_CM33/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM33_NTZ/non_secure/port.c b/portable/GCC/ARM_CM33_NTZ/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/GCC/ARM_CM33_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM33_NTZ/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM35P/non_secure/port.c b/portable/GCC/ARM_CM35P/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/GCC/ARM_CM35P/non_secure/port.c +++ b/portable/GCC/ARM_CM35P/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c b/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM3_MPU/port.c b/portable/GCC/ARM_CM3_MPU/port.c index 6a36f1a..bbe00b6 100644 --- a/portable/GCC/ARM_CM3_MPU/port.c +++ b/portable/GCC/ARM_CM3_MPU/port.c
@@ -767,7 +767,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -1462,7 +1462,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM4F/port.c b/portable/GCC/ARM_CM4F/port.c index 532bbce..c4194f7 100644 --- a/portable/GCC/ARM_CM4F/port.c +++ b/portable/GCC/ARM_CM4F/port.c
@@ -335,7 +335,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -886,7 +886,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM4_MPU/port.c b/portable/GCC/ARM_CM4_MPU/port.c index 68b2ab1..30a65c4 100644 --- a/portable/GCC/ARM_CM4_MPU/port.c +++ b/portable/GCC/ARM_CM4_MPU/port.c
@@ -853,7 +853,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -1605,7 +1605,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM55/non_secure/port.c b/portable/GCC/ARM_CM55/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/GCC/ARM_CM55/non_secure/port.c +++ b/portable/GCC/ARM_CM55/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM55_NTZ/non_secure/port.c b/portable/GCC/ARM_CM55_NTZ/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/GCC/ARM_CM55_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM55_NTZ/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM7/r0p1/port.c b/portable/GCC/ARM_CM7/r0p1/port.c index ac06727..766f024 100644 --- a/portable/GCC/ARM_CM7/r0p1/port.c +++ b/portable/GCC/ARM_CM7/r0p1/port.c
@@ -323,7 +323,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -876,7 +876,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM85/non_secure/port.c b/portable/GCC/ARM_CM85/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/GCC/ARM_CM85/non_secure/port.c +++ b/portable/GCC/ARM_CM85/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/GCC/ARM_CM85_NTZ/non_secure/port.c b/portable/GCC/ARM_CM85_NTZ/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/GCC/ARM_CM85_NTZ/non_secure/port.c +++ b/portable/GCC/ARM_CM85_NTZ/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CA9/port.c b/portable/IAR/ARM_CA9/port.c index b558099..f26ae37 100644 --- a/portable/IAR/ARM_CA9/port.c +++ b/portable/IAR/ARM_CA9/port.c
@@ -427,7 +427,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( portICCRPR_RUNNING_PRIORITY_REGISTER >= ( uint32_t ) ( configMAX_API_CALL_INTERRUPT_PRIORITY << portPRIORITY_SHIFT ) ); /* Priority grouping: The interrupt controller (GIC) allows the bits
diff --git a/portable/IAR/ARM_CM0/port.c b/portable/IAR/ARM_CM0/port.c index 809b6c4..6f5ec0a 100644 --- a/portable/IAR/ARM_CM0/port.c +++ b/portable/IAR/ARM_CM0/port.c
@@ -205,7 +205,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handler. For help installing the FreeRTOS handler, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if
diff --git a/portable/IAR/ARM_CM23/non_secure/port.c b/portable/IAR/ARM_CM23/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/IAR/ARM_CM23/non_secure/port.c +++ b/portable/IAR/ARM_CM23/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM23_NTZ/non_secure/port.c b/portable/IAR/ARM_CM23_NTZ/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/IAR/ARM_CM23_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM23_NTZ/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM3/port.c b/portable/IAR/ARM_CM3/port.c index 5d0d5aa..ef590cf 100644 --- a/portable/IAR/ARM_CM3/port.c +++ b/portable/IAR/ARM_CM3/port.c
@@ -246,7 +246,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -709,7 +709,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM33/non_secure/port.c b/portable/IAR/ARM_CM33/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/IAR/ARM_CM33/non_secure/port.c +++ b/portable/IAR/ARM_CM33/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM33_NTZ/non_secure/port.c b/portable/IAR/ARM_CM33_NTZ/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/IAR/ARM_CM33_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM33_NTZ/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM35P/non_secure/port.c b/portable/IAR/ARM_CM35P/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/IAR/ARM_CM35P/non_secure/port.c +++ b/portable/IAR/ARM_CM35P/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c b/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM4F/port.c b/portable/IAR/ARM_CM4F/port.c index a4e2193..b96329a 100644 --- a/portable/IAR/ARM_CM4F/port.c +++ b/portable/IAR/ARM_CM4F/port.c
@@ -284,7 +284,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -753,7 +753,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM4F_MPU/port.c b/portable/IAR/ARM_CM4F_MPU/port.c index da070c5..66092df 100644 --- a/portable/IAR/ARM_CM4F_MPU/port.c +++ b/portable/IAR/ARM_CM4F_MPU/port.c
@@ -748,7 +748,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -1336,7 +1336,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM55/non_secure/port.c b/portable/IAR/ARM_CM55/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/IAR/ARM_CM55/non_secure/port.c +++ b/portable/IAR/ARM_CM55/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM55_NTZ/non_secure/port.c b/portable/IAR/ARM_CM55_NTZ/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/IAR/ARM_CM55_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM55_NTZ/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM7/r0p1/port.c b/portable/IAR/ARM_CM7/r0p1/port.c index 35a5b0b..7233896 100644 --- a/portable/IAR/ARM_CM7/r0p1/port.c +++ b/portable/IAR/ARM_CM7/r0p1/port.c
@@ -272,7 +272,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -741,7 +741,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM85/non_secure/port.c b/portable/IAR/ARM_CM85/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/IAR/ARM_CM85/non_secure/port.c +++ b/portable/IAR/ARM_CM85/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/IAR/ARM_CM85_NTZ/non_secure/port.c b/portable/IAR/ARM_CM85_NTZ/non_secure/port.c index c9b596d..75e9ea9 100644 --- a/portable/IAR/ARM_CM85_NTZ/non_secure/port.c +++ b/portable/IAR/ARM_CM85_NTZ/non_secure/port.c
@@ -1650,7 +1650,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -2041,7 +2041,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/MikroC/ARM_CM4F/port.c b/portable/MikroC/ARM_CM4F/port.c index dd5f353..a167f85 100644 --- a/portable/MikroC/ARM_CM4F/port.c +++ b/portable/MikroC/ARM_CM4F/port.c
@@ -892,7 +892,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/RVDS/ARM_CA9/port.c b/portable/RVDS/ARM_CA9/port.c index 88979f4..c892326 100644 --- a/portable/RVDS/ARM_CA9/port.c +++ b/portable/RVDS/ARM_CA9/port.c
@@ -465,7 +465,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( portICCRPR_RUNNING_PRIORITY_REGISTER >= ( configMAX_API_CALL_INTERRUPT_PRIORITY << portPRIORITY_SHIFT ) ); /* Priority grouping: The interrupt controller (GIC) allows the bits
diff --git a/portable/RVDS/ARM_CM3/port.c b/portable/RVDS/ARM_CM3/port.c index b75f00f..7251271 100644 --- a/portable/RVDS/ARM_CM3/port.c +++ b/portable/RVDS/ARM_CM3/port.c
@@ -770,7 +770,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/RVDS/ARM_CM4F/port.c b/portable/RVDS/ARM_CM4F/port.c index dfbbf4e..8d21daf 100644 --- a/portable/RVDS/ARM_CM4F/port.c +++ b/portable/RVDS/ARM_CM4F/port.c
@@ -866,7 +866,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/RVDS/ARM_CM4_MPU/port.c b/portable/RVDS/ARM_CM4_MPU/port.c index 87af70e..307ae6d 100644 --- a/portable/RVDS/ARM_CM4_MPU/port.c +++ b/portable/RVDS/ARM_CM4_MPU/port.c
@@ -852,7 +852,7 @@ * * Assertion failures here indicate incorrect installation of the * FreeRTOS handlers. For help installing the FreeRTOS handlers, see - * https://www.FreeRTOS.org/FAQHelp.html. + * https://www.freertos.org/Why-FreeRTOS/FAQs. * * Systems with a configurable address for the interrupt vector table * can also encounter assertion failures or even system faults here if @@ -1602,7 +1602,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/portable/RVDS/ARM_CM7/r0p1/port.c b/portable/RVDS/ARM_CM7/r0p1/port.c index 464ac2e..33fa802 100644 --- a/portable/RVDS/ARM_CM7/r0p1/port.c +++ b/portable/RVDS/ARM_CM7/r0p1/port.c
@@ -852,7 +852,7 @@ * * The following links provide detailed information: * https://www.FreeRTOS.org/RTOS-Cortex-M3-M4.html - * https://www.FreeRTOS.org/FAQHelp.html */ + * https://www.freertos.org/Why-FreeRTOS/FAQs */ configASSERT( ucCurrentPriority >= ucMaxSysCallPriority ); }
diff --git a/tasks.c b/tasks.c index b5ab5ad..d76bc33 100644 --- a/tasks.c +++ b/tasks.c
@@ -3819,9 +3819,30 @@ #if ( configNUMBER_OF_CORES == 1 ) { /* A critical section is not required as the variable is of type - * BaseType_t. Please read Richard Barry's reply in the following link to a - * post in the FreeRTOS support forum before reporting this as a bug! - - * https://goo.gl/wu4acr */ + * BaseType_t. Each task maintains its own context, and a context switch + * cannot occur if the variable is non zero. So, as long as the writing + * from the register back into the memory is atomic, it is not a + * problem. + * + * Consider the following scenario, which starts with + * uxSchedulerSuspended at zero. + * + * 1. load uxSchedulerSuspended into register. + * 2. Now a context switch causes another task to run, and the other + * task uses the same variable. The other task will see the variable + * as zero because the variable has not yet been updated by the + * original task. Eventually the original task runs again. **That can + * only happen when uxSchedulerSuspended is once again zero**. When + * the original task runs again, the contents of the CPU registers + * are restored to exactly how they were when it was switched out - + * therefore the value it read into the register still matches the + * value of the uxSchedulerSuspended variable. + * + * 3. increment register. + * 4. store register into uxSchedulerSuspended. The value restored to + * uxSchedulerSuspended will be the correct value of 1, even though + * the variable was used by other tasks in the mean time. + */ /* portSOFTWARE_BARRIER() is only implemented for emulated/simulated ports that * do not otherwise exhibit real time behaviour. */