Skip to content

Commit 3578892

Browse files
chinglee-iotarchiguptcpluesspluessaggarg
authored
Sync with main branch (#71)
* Fix array-bounds compiler warning on gcc11+ in list.h (FreeRTOS#580) listGET_OWNER_OF_NEXT_ENTRY computes `( pxConstList )->pxIndex->pxNext` after verifying that `( pxConstList )->pxIndex` points to `xListEnd`, which due to being a MiniListItem_t, can be shorter than a ListItem_t. Thus, `( pxConstList )->pxIndex` is a `ListItem_t *` that extends past the end of the `List_t` whose `xListEnd` it points to. This is fixed by accessing `pxNext` through a `MiniListItem_t` instead. * move the prototype for vApplicationIdleHook to task.h. (FreeRTOS#600) Co-authored-by: pluess <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> * Update equal priority task preemption (FreeRTOS#603) * vTaskResume and vTaskPrioritySet don't preempt equal priority task * Update vTaskResumeAll not to preempt task with equal priority * Fix in xTaskResumeFromISR * Update FreeRTOS/FreeRTOS build checks (FreeRTOS#613) This is needed to be compatible with the refactoring done in this PR - FreeRTOS/FreeRTOS#889 Signed-off-by: Gaurav Aggarwal <[email protected]> Signed-off-by: Gaurav Aggarwal <[email protected]> * Add ulTaskGetRunTimeCounter and ulTaskGetRunTimePercent (FreeRTOS#611) Allow ulTaskGetIdleRunTimeCounter and ulTaskGetIdleRunTimePercent to be used whenever configGENERATE_RUN_TIME_STATS is enabled, as this is the only requirement for these functions to work. * Fix some CMake documentation typos (FreeRTOS#616) The quick start instructions for CMake mention the "master" git branch which has been replaced by "main" in the current repo. The main CMakeLists.txt documents how to integrate a custom port. Fix a typo in the suggested CMake code. * Added support of 64bit events. (FreeRTOS#597) * Added support of 64bit even Signed-off-by: Cervenka Dusan <[email protected]> * Added missing brackets Signed-off-by: Cervenka Dusan <[email protected]> * Made proper name for tick macro. Signed-off-by: Cervenka Dusan <[email protected]> * Improved macro evaluation Signed-off-by: Cervenka Dusan <[email protected]> * Fixed missed port files + documentation Signed-off-by: Cervenka Dusan <[email protected]> * Changes made on PR Signed-off-by: Cervenka Dusan <[email protected]> * Fix macro definition. Signed-off-by: Cervenka Dusan <[email protected]> * Formatted code with uncrustify Signed-off-by: Cervenka Dusan <[email protected]> --------- Signed-off-by: Cervenka Dusan <[email protected]> * Introduce portMEMORY_BARRIER for Microblaze port. (FreeRTOS#621) The introduction of `portMEMORY_BARRIER` will ensure the places in the kernel use a barrier will work. For example, `xTaskResumeAll` has a memory barrier to ensure its correctness when compiled with optimization enabled. Without the barrier `xTaskResumeAll` can fail (e.g. start reading and writing to address 0 and/or infinite looping) when `xPendingReadyList` contains more than one task to restore. In `xTaskResumeAll` the compiler chooses to cache the `pxTCB` the first time through the loop for use in every subsequent loop. This is incorrect as the removal of `pxTCB->xEventListItem` will actually change the value of `pxTCB` if it was read again at the top of the loop. The barrier forces the compiler to read `pxTCB` again at the top of the loop. The compiler is operating correctly. The removal `pxTCB->xEventListItem` executes on a `List_t *` and `ListItem_t *`. This means that the compiler can assume that any `MiniListItem_t` values are unchanged by the loop (i.e. "strict-aliasing"). This allows the compiler to cache `pxTCB` as it is obtained via a `MiniListItem_t`. This is incorrect in this case because it is possible for a `ListItem_t *` to actually alias a `MiniListItem_t`. This is technically a "violation of aliasing rules" so we use the the barrier to disable the strict-aliasing optimization in this loop. * Do not call exit() on MSVC Port when calling vPortEndScheduler (FreeRTOS#624) * make port exitable * correctly set xPortRunning to False * add suggestions from Review Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> * add suggestions from Review Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> --------- Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> * Update PR template to include checkbox for Unit Test related changes (FreeRTOS#627) * Fix build failure introduced in PR FreeRTOS#597 (FreeRTOS#629) The PR FreeRTOS#597 introduced a new config option configTICK_TYPE_WIDTH_IN_BITS which can be defined to one of the following: * TICK_TYPE_WIDTH_16_BITS - Tick type is 16 bit wide. * TICK_TYPE_WIDTH_32_BITS - Tick type is 32 bit wide. * TICK_TYPE_WIDTH_64_BITS - Tick type is 64 bit wide. Earlier we supported 16 and 32 bit width for tick type which was controlled using the config option configUSE_16_BIT_TICKS. The PR tried to maintain backward compatibility by honoring configUSE_16_BIT_TICKS. The backward compatibility did not work as expected though, as the macro configTICK_TYPE_WIDTH_IN_BITS was used before it was defined. This PR addresses it by ensuring that the macro configTICK_TYPE_WIDTH_IN_BITS is defined before it is used. Testing 1. configUSE_16_BIT_TICKS is defined to 0. Source (function xTaskIncrementTick in tasks.c): ``` const TickType_t xConstTickCount = xTickCount + ( TickType_t ) 1; ``` Assembly: ``` 109e: 4b50 ldr r3, [pc, FreeRTOS#320] ; (11e0 <xTaskIncrementTick+0x150>) 10a0: f8d3 4134 ldr.w r4, [r3, FreeRTOS#308] ; 0x134 10a4: 3401 adds r4, #1 10a6: f8c3 4134 str.w r4, [r3, FreeRTOS#308] ; 0x134 ``` It is clear from assembly that the tick type is 32 bit. 2. configUSE_16_BIT_TICKS is defined to 1. Source (function xTaskIncrementTick in tasks.c): ``` const TickType_t xConstTickCount = xTickCount + ( TickType_t ) 1; ``` Assembly: ``` 10e2: 4b53 ldr r3, [pc, FreeRTOS#332] ; (1230 <xTaskIncrementTick+0x15c>) 10e4: f8b3 4134 ldrh.w r4, [r3, FreeRTOS#308] ; 0x134 10e8: b2a4 uxth r4, r4 10ea: 3401 adds r4, #1 10ec: b2a4 uxth r4, r4 10ee: f8a3 4134 strh.w r4, [r3, FreeRTOS#308] ; 0x134 ``` It is clear from assembly that the tick type is 16 bit. 3. configTICK_TYPE_WIDTH_IN_BITS is defined to TICK_TYPE_WIDTH_16_BITS. Source (function xTaskIncrementTick in tasks.c): ``` const TickType_t xConstTickCount = xTickCount + ( TickType_t ) 1; ``` Assembly: ``` 10e2: 4b53 ldr r3, [pc, FreeRTOS#332] ; (1230 <xTaskIncrementTick+0x15c>) 10e4: f8b3 4134 ldrh.w r4, [r3, FreeRTOS#308] ; 0x134 10e8: b2a4 uxth r4, r4 10ea: 3401 adds r4, #1 10ec: b2a4 uxth r4, r4 10ee: f8a3 4134 strh.w r4, [r3, FreeRTOS#308] ; 0x134 ``` It is clear from assembly that the tick type is 16 bit. 4. configTICK_TYPE_WIDTH_IN_BITS is defined to TICK_TYPE_WIDTH_32_BITS. Source (function xTaskIncrementTick in tasks.c): ``` const TickType_t xConstTickCount = xTickCount + ( TickType_t ) 1; ``` Assembly: ``` 109e: 4b50 ldr r3, [pc, FreeRTOS#320] ; (11e0 <xTaskIncrementTick+0x150>) 10a0: f8d3 4134 ldr.w r4, [r3, FreeRTOS#308] ; 0x134 10a4: 3401 adds r4, #1 10a6: f8c3 4134 str.w r4, [r3, FreeRTOS#308] ; 0x134 ``` It is clear from assembly that the tick type is 32 bit. 5. configTICK_TYPE_WIDTH_IN_BITS is defined to TICK_TYPE_WIDTH_64_BITS. ``` #error configTICK_TYPE_WIDTH_IN_BITS set to unsupported tick type width. ``` The testing was done for GCC/ARM_CM3 port which does not support 64 bit tick type. 6. Neither configUSE_16_BIT_TICKS nor configTICK_TYPE_WIDTH_IN_BITS defined. ``` #error Missing definition: One of configUSE_16_BIT_TICKS and configTICK_TYPE_WIDTH_IN_BITS must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details. ``` 7. Both configUSE_16_BIT_TICKS and configTICK_TYPE_WIDTH_IN_BITS defined. ``` #error Only one of configUSE_16_BIT_TICKS and configTICK_TYPE_WIDTH_IN_BITS must be defined in FreeRTOSConfig.h. See the Configuration section of the FreeRTOS API documentation for details. ``` Related issue - FreeRTOS#628 Signed-off-by: Gaurav Aggarwal <[email protected]> * Feature/fixing clang gnu compiler warnings (FreeRTOS#620) * Adding in ability to support a library for freertos_config and a custom freertos_kernel_port (FreeRTOS#558) * Using single name definition for libraries everywhere. (FreeRTOS#558) * Supporting backwards compatibility with FREERTOS_CONFIG_FILE_DIRECTORY (FreeRTOS#571) * Removing compiler warnings for GNU and Clang. (FreeRTOS#571) * Added in documentation on how to consume from a main project. Added default PORT selection for native POSIX and MINGW platforms. * Only adding freertos_config if it exists. Removing auto generation of it from a FREERTOS_CONFIG_FILE_DIRECTORY. * Fixing clang and gnu compiler warnings. * Adding in project information and how to compile for GNU/clang * Fixing compiler issue with unused variable - no need to declare variable. * Adding in compile warnings for linux builds that kernel is okay with using. * Fixing more extra-semi-stmt clang warnings. * Moving definition of hooks into header files if features are enabled. * Fixing formatting with uncrustify. * Fixing merge conflicts with main merge. * Fixing compiler errors due to merge issues and formatting. * Fixing Line feeds. * Adding 'portNORETURN' into portmacros.h. Other Updates based on PR request * Further clean-up of clang and clang-tidy issues. * Removing compiler specific pragmas from common c files. * Fixing missing lexicon entry and uncrustify formatting changes. * Resolving merge issue multiple defnitions of proto for prvIdleTask * Fixing formatting issues that are not covered by uncrustify. Use clang-tidy instead if you want this level of control. * More uncrustify formatting issues. * Fixing extra bracket in #if statement. --------- Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> * POSIX port fixes (FreeRTOS#626) * Fix types in POSIX port Use TaskFunction_t and StackType_t as other ports do. * Fix portTICK_RATE_MICROSECONDS in POSIX port --------- Co-authored-by: Jacques GUILLOU <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> * Cortex-M35P: Add Cortex-M35P port (FreeRTOS#631) * Cortex-M35P: Add Cortex-M35P port The Cortex-M35P support added to kernel. The port hasn't been validated yet with TF-M. Hence TF-M support is not included in this port. Signed-off-by: Devaraj Ranganna <[email protected]> * Add portNORETURN to the newly added portmacro.h Signed-off-by: Gaurav Aggarwal <[email protected]> --------- Signed-off-by: Devaraj Ranganna <[email protected]> Signed-off-by: Gaurav Aggarwal <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]> Co-authored-by: kar-rahul-aws <[email protected]> * Introduced Github Status Badge for Unit Tests (FreeRTOS#634) * Introduced Github Status Badge for Unit Tests * Github status badge to point to latest run * Github status badge UT points to latest results * Fixed URL for Github Status badge --------- Co-authored-by: kar-rahul-aws <[email protected]> * Remove C99 requirement from CMake file (FreeRTOS#633) * Remove C99 requirement from CMake file The kernel source is C89 compliant and does not need C99. Signed-off-by: Gaurav Aggarwal <[email protected]> * Explicitly set C89 requirement for kernel Signed-off-by: Gaurav Aggarwal <[email protected]> --------- Signed-off-by: Gaurav Aggarwal <[email protected]> * Add Thread Local Storage (TLS) support using Picolibc functions (FreeRTOS#343) * Pass top of stack to configINIT_TLS_BLOCK Picolibc wants to allocate the per-task TLS block within the stack segment, so it will need to modify the top of stack value. Pass the pxTopOfStack variable to make this explicit. Signed-off-by: Keith Packard <[email protected]> * Move newlib-specific definitions to separate file This reduces the clutter in FreeRTOS.h caused by having newlib-specific macros present there. Signed-off-by: Keith Packard <[email protected]> * Make TLS code depend only on configUSE_C_RUNTIME_TLS_SUPPORT Remove reference to configUSE_NEWLIB_REENTRANT as that only works when using newlib. configUSE_C_RUNTIME_TLS_SUPPORT is always set when configUSE_NEWLIB_REENTRANT is set, so using both was redundant in that case. Signed-off-by: Keith Packard <[email protected]> * portable-ARC: Adapt ARC support to use generalized TLS support With generalized thread local storage (TLS) support present in the core, the two ARC ports need to have the changes to the TCB mirrored to them. Signed-off-by: Keith Packard <[email protected]> * Add Thread Local Storage (TLS) support using Picolibc functions This patch provides definitions of the general TLS support macros in terms of the Picolibc TLS support functions. Picolibc is normally configured to use TLS internally for all variables that are intended to be task-local, so these changes are necessary for picolibc to work correctly with FreeRTOS. The picolibc helper functions rely on elements within the linker script to arrange the TLS data in memory and define some symbols. Applications wanting to use this mechanism will need changes in their linker script when migrating to picolibc. Signed-off-by: Keith Packard <[email protected]> --------- Signed-off-by: Keith Packard <[email protected]> Co-authored-by: Keith Packard <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> * Interrupt priority assert improvements for CM3/4/7 (FreeRTOS#602) * Interrupt priority assert improvements for CM3/4/7 In the ARM_CM3, ARM_CM4, and ARM_CM7 ports, change the assertion that `configMAX_SYSCALL_INTERRUPT_PRIORITY` is nonzero to account for the number of priority bits implemented by the hardware. Change these ports to also use the lowest priority for PendSV and SysTick, ignoring `configKERNEL_INTERRUPT_PRIORITY`. * Remove not needed configKERNEL_INTERRUPT_PRIORITY define Signed-off-by: Gaurav Aggarwal <[email protected]> --------- Signed-off-by: Gaurav Aggarwal <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]> * Introduced code coverage status badge (FreeRTOS#635) * Introduced code coverage status badge * Trying to fix the URL checker issue * Fix URL check Signed-off-by: Gaurav Aggarwal <[email protected]> --------- Signed-off-by: Gaurav Aggarwal <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> * added portPOINTER_SIZE_TYPE and SIZE_MAX definition to PIC24/dsPIC port (FreeRTOS#636) * added portPOINTER_SIZE_TYPE definition to PIC24/dsPIC port * Added SIZE_MAX definition to PIC24/dsPIC33 * Fix TLS and stack alignment when using picolibc (FreeRTOS#637) Both the TLS block and stack must be correctly aligned when using picolibc. The architecture stack alignment is represented by the portBYTE_ALIGNMENT_MASK and the TLS block alignment is provided by the Picolibc _tls_align() inline function for Picolibc version 1.8 and above. For older versions of Picolibc, we'll assume that the TLS block requires the same alignment as the stack. For downward growing stacks, this requires aligning the start of the TLS block to the maximum of the stack alignment and the TLS alignment. With this, both the TLS block and stack will now be correctly aligned. For upward growing stacks, the two areas must be aligned independently; the TLS block is aligned from the start of the stack, then the tls space is allocated, and then the stack is aligned above that. It's probably useful to know here that the linker ensures that variables within the TLS block are assigned offsets that match their alignment requirements. If the TLS block itself is correctly aligned, then everything within will also be. I have only tested the downward growing stack branch of this patch. Signed-off-by: Keith Packard <[email protected]> Co-authored-by: Keith Packard <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> * Enable building the GCC Cortex-R5 port without an FPU (FreeRTOS#586) * Ensure configUSE_TASK_FPU_SUPPORT option is set correctly If one does enable the FPU of the Cortex-R5 processor, then the GCC compiler will define the macro __ARM_FP. This can be used to ensure, that the configUSE_TASK_FPU_SUPPORT is set accordingly. * Enable the implementation of vPortTaskUsesFPU only if configUSE_TASK_FPU_SUPPORT is set to 1 * Remove error case in pxPortInitialiseStack The case of configUSE_TASK_FPU_SUPPORT is 0 is now handled * Enable access to FPU registers only if FPU is enabled * Make minor formating changes * Format ARM Cortex-R5 port * Address review comments from @ChristosZosi * Minor code review suggestions Signed-off-by: Gaurav Aggarwal <[email protected]> --------- Signed-off-by: Gaurav Aggarwal <[email protected]> Co-authored-by: Christos Zosimidis <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]> * Fix freertos_kernel cmake property, Posix Port (FreeRTOS#640) * Fix freertos_kernel cmake property, Posix Port * Moves the `set_property()` call below the target definition in top level CMakeLists file * Corrects billion value from `ULL` suffix (not C90 compliant) to `UL` suffix with cast to uint64_t * Add blank line to CMakeLists.txt * Add missing FreeRTOS+ defines * Run kernel demos and unit tests for PR changes (FreeRTOS#645) * Run kernel demos and unit tests for PR changes Kernel demos check builds multiple demos from FreeRTOS/FreeRTOS and unit tests check runs unit tests in FreeRTOS/FreeRTOS. Both of these checks currently use main branch of FreeRTOS-Kernel. This commits updates these checks to use the changes in the PR. Signed-off-by: Gaurav Aggarwal <[email protected]> * Do not specify PR SHA explicitly as that is default Signed-off-by: Gaurav Aggarwal <[email protected]> * Remove explicit PR SHA from kernel checks Signed-off-by: Gaurav Aggarwal <[email protected]> --------- Signed-off-by: Gaurav Aggarwal <[email protected]> * Add functions to get the buffers of statically created objects (FreeRTOS#641) Added various ...GetStaticBuffer() functions to get the buffers of statically created objects. --------- Co-authored-by: Paul Bartell <[email protected]> Co-authored-by: Nikhil Kamath <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]> * Cortex-M Assert when NVIC implements 8 PRIO bits (FreeRTOS#639) * Cortex-M Assert when NVIC implements 8 PRIO bits * Fix CM3 ports * Fix ARM_CM3_MPU * Fix ARM CM3 * Fix ARM_CM4_MPU * Fix ARM_CM4 * Fix GCC ARM_CM7 * Fix IAR ARM ports * Uncrustify changes * Fix MikroC_ARM_CM4F port * Fix MikroC_ARM_CM4F port-(2) * Fix RVDS ARM ports * Revert changes for Tasking/ARM_CM4F port * Revert changes for Tasking/ARM_CM4F port-(2) * Update port.c Fix GCC/ARM_CM4F port * Update port.c * update GCC\ARM_CM4F port * update port.c * Assert to check configMAX_SYSCALL_INTERRUPT_PRIORITY is set to higher priority * Fix merge error: remove duplicate code * Fix typos --------- Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> Co-authored-by: Ubuntu <[email protected]> * Remove C90 requirement from CMakeLists (FreeRTOS#649) This is needed as it is breaking projects - https://forums.freertos.org/t/freertos-gcc-cmake/16984 We will re-evaluate and accordingly add this later. Signed-off-by: Gaurav Aggarwal <[email protected]> * Only add alignment padding when needed (FreeRTOS#650) Heap 4 and Heap 5 add some padding to ensure that the allocated blocks are always aligned to portBYTE_ALIGNMENT bytes. The code until now was adding padding always even if the resulting block was already aligned. This commits updates the code to only add padding if the resulting block is not aligned. Signed-off-by: Gaurav Aggarwal <[email protected]> * add a missing comma (FreeRTOS#651) * fix conversion warning (FreeRTOS#658) FreeRTOS-Kernel/portable/GCC/ARM_CM4F/port.c:399:41: error: conversion from 'uint32_t' {aka 'long unsigned int'} to 'uint8_t' {aka 'unsigned char'} may change value [-Werror=conversion] Signed-off-by: Vo Trung Chi <[email protected]> --------- Signed-off-by: Gaurav Aggarwal <[email protected]> Signed-off-by: Cervenka Dusan <[email protected]> Signed-off-by: Devaraj Ranganna <[email protected]> Signed-off-by: Keith Packard <[email protected]> Signed-off-by: Vo Trung Chi <[email protected]> Co-authored-by: Archit Gupta <[email protected]> Co-authored-by: tcpluess <[email protected]> Co-authored-by: pluess <[email protected]> Co-authored-by: Gaurav-Aggarwal-AWS <[email protected]> Co-authored-by: Chris Copeland <[email protected]> Co-authored-by: David J. Fiddes <[email protected]> Co-authored-by: Dusan Cervenka <[email protected]> Co-authored-by: bbain <[email protected]> Co-authored-by: Ju1He1 <[email protected]> Co-authored-by: Aniruddha Kanhere <[email protected]> Co-authored-by: phelter <[email protected]> Co-authored-by: jacky309 <[email protected]> Co-authored-by: Jacques GUILLOU <[email protected]> Co-authored-by: Devaraj Ranganna <[email protected]> Co-authored-by: Gaurav Aggarwal <[email protected]> Co-authored-by: kar-rahul-aws <[email protected]> Co-authored-by: Nikhil Kamath <[email protected]> Co-authored-by: Keith Packard <[email protected]> Co-authored-by: Keith Packard <[email protected]> Co-authored-by: Joseph Julicher <[email protected]> Co-authored-by: Paul Bartell <[email protected]> Co-authored-by: Christos Zosimidis <[email protected]> Co-authored-by: Kody Stribrny <[email protected]> Co-authored-by: Holden <holden-zenithaerotech.com> Co-authored-by: Darian <[email protected]> Co-authored-by: Ubuntu <[email protected]> Co-authored-by: Nicolas <[email protected]> Co-authored-by: Vo Trung Chi <[email protected]>
1 parent 3c31ea9 commit 3578892

File tree

230 files changed

+14716
-1440
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

230 files changed

+14716
-1440
lines changed

.github/actions/url_verifier.sh

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,14 @@ function test {
2828

2929
for UNIQ_URL in ${!dict[@]} # loop urls
3030
do
31-
CURL_RES=$(curl -si --user-agent "$(USER_AGENT)" ${UNIQ_URL} 2>/dev/null| head -n 1 | cut -f 2 -d ' ')
31+
CURL_RES=$(curl -si --user-agent "${USER_AGENT}" ${UNIQ_URL} 2>/dev/null| head -n 1 | cut -f 2 -d ' ')
3232
RES=$?
3333

34+
echo "================================="
35+
echo "Checking URL: ${UNIQ_URL}"
36+
3437
if [ "${CURL_RES}" == '' -o "${CURL_RES}" != '200' ]
3538
then
36-
echo "URL is: ${UNIQ_URL}"
37-
echo "File names: ${dict[$UNIQ_URL]}"
3839
if [ "${CURL_RES}" == '' ] # curl returned an error
3940
then
4041
CURL_RES=$RES
@@ -47,8 +48,10 @@ function test {
4748
else
4849
echo WARNING: Result is: "${CURL_RES}"
4950
fi
50-
echo "================================="
51+
else
52+
echo SUCCESS: Result is: "${CURL_RES}"
5153
fi
54+
echo "================================="
5255
done
5356

5457
if [ "${SCRIPT_RET}" -eq 0 ]

.github/lexicon.txt

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1054,6 +1054,7 @@ mclk
10541054
mconfigintcoresw
10551055
mcr
10561056
mcu
1057+
md
10571058
mddr
10581059
mder
10591060
mdh
@@ -1336,6 +1337,7 @@ phy
13361337
phya
13371338
pic
13381339
picnt
1340+
picolibc
13391341
pien
13401342
piir
13411343
pimr
@@ -1463,13 +1465,24 @@ ppdc
14631465
ppio
14641466
ppitc
14651467
ppmc
1468+
ppucmessagebufferstoragearea
1469+
ppucqueuestorage
1470+
ppucstreambufferstoragearea
14661471
ppudr
14671472
ppuer
14681473
ppusr
1474+
ppuxstackbuffer
14691475
ppvdestination
14701476
ppwm
1477+
ppxeventgroupbuffer
14711478
ppxidletaskstackbuffer
14721479
ppxidletasktcbbuffer
1480+
ppxsemaphorebuffer
1481+
ppxstaticmessagebuffer
1482+
ppxstaticqueue
1483+
ppxstaticstreambuffer
1484+
ppxtaskbuffer
1485+
ppxtimerbuffer
14731486
ppxtimertaskstackbuffer
14741487
ppxtimertasktcbbuffer
14751488
pr
@@ -2325,6 +2338,8 @@ ulstoppedtimercompensation
23252338
ultablebase
23262339
ultaskgetidleruntimecounter
23272340
ultaskgetidleruntimepercent
2341+
ultaskgetruntimecounter
2342+
ultaskgetruntimepercent
23282343
ultaskhasfpucontext
23292344
ultasknotifystateclear
23302345
ultasknotifytake
@@ -2465,6 +2480,7 @@ vaninterruptserviceroutine
24652480
vanisr
24662481
vanothertask
24672482
vapplicationcleartimerinterrupt
2483+
vapplicationdaemontaskstartuphook
24682484
vapplicationexceptionregisterdump
24692485
vapplicationfpusafeirqhandler
24702486
vapplicationgetidletaskmemory
@@ -2739,6 +2755,7 @@ xeventgroupcreatestatic
27392755
xeventgroupdelete
27402756
xeventgroupgetbits
27412757
xeventgroupgetbitsfromisr
2758+
xeventgroupgetstaticbuffer
27422759
xeventgroupsetbits
27432760
xeventgroupsetbitsfromisr
27442761
xeventgroupsync
@@ -2817,6 +2834,7 @@ xmessage
28172834
xmessagebuffer
28182835
xmessagebuffercreate
28192836
xmessagebuffercreatestatic
2837+
xmessagebuffergetstaticbuffers
28202838
xmessagebufferisempty
28212839
xmessagebufferisfull
28222840
xmessagebuffernextlengthbytes
@@ -2888,6 +2906,7 @@ xqueuecreatestatic
28882906
xqueuegenericsend
28892907
xqueuegenericsendfromisr
28902908
xqueuegetmutexholder
2909+
xqueuegetstaticbuffers
28912910
xqueuegivefromisr
28922911
xqueuegivemutexrecursive
28932912
xqueueorsemaphore
@@ -2942,6 +2961,7 @@ xsemaphorecreaterecursivemutex
29422961
xsemaphorecreaterecursivemutexstatic
29432962
xsemaphoregetmutexholder
29442963
xsemaphoregetmutexholderfromisr
2964+
xsemaphoregetstaticbuffer
29452965
xsemaphoregive
29462966
xsemaphoregivefromisr
29472967
xsemaphoregivemutexrecursive
@@ -2966,6 +2986,7 @@ xstreambuffer
29662986
xstreambufferbytesavailable
29672987
xstreambuffercreate
29682988
xstreambuffercreatestatic
2989+
xstreambuffergetstaticbuffers
29692990
xstreambufferisempty
29702991
xstreambufferisfull
29712992
xstreambuffernextmessagelengthbytes
@@ -3005,6 +3026,7 @@ xtaskgetcurrenttaskhandle
30053026
xtaskgethandle
30063027
xtaskgetidletaskhandle
30073028
xtaskgetschedulerstate
3029+
xtaskgetstaticbuffers
30083030
xtaskgettickcount
30093031
xtaskgettickcountfromisr
30103032
xtaskhandle
@@ -3074,6 +3096,7 @@ xtimergenericcommand
30743096
xtimergetexpirytime
30753097
xtimergetperiod
30763098
xtimergetreloadmode
3099+
xtimergetstaticbuffer
30773100
xtimergettimerdaemontaskhandle
30783101
xtimeristimeractive
30793102
xtimerlistitem

.github/pull_request_template.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,13 @@ Test Steps
88
-----------
99
<!-- Describe the steps to reproduce. -->
1010

11+
Checklist:
12+
----------
13+
<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->
14+
<!--- If you're unsure about any of these, don't hesitate to ask. We're here to help! -->
15+
- [ ] I have tested my changes. No regression in existing tests.
16+
- [ ] I have modified and/or added unit-tests to cover the code changes in this Pull Request.
17+
1118
Related Issue
1219
-----------
1320
<!-- If any, please provide issue ID. -->

.github/workflows/kernel-checks.yml

Lines changed: 0 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,6 @@ jobs:
2828
- name: Checkout Pull Request
2929
uses: actions/checkout@v2
3030
with:
31-
ref: ${{ github.event.pull_request.head.sha }}
3231
path: inspect
3332

3433
# Collect all affected files
@@ -45,28 +44,3 @@ jobs:
4544
cd inspect
4645
.github/scripts/kernel_checker.py --json ${HOME}/files_modified.json ${HOME}/files_added.json ${HOME}/files_renamed.json
4746
exit $?
48-
build-checker:
49-
name: FreeRTOS Posix Build Check
50-
runs-on: ubuntu-latest
51-
steps:
52-
- name: Checkout the parent repository
53-
uses: actions/checkout@v2
54-
with:
55-
ref: main
56-
repository: FreeRTOS/FreeRTOS
57-
submodules: 'recursive'
58-
fetch-depth: 1
59-
path: ./workspace
60-
- name: Checkout the current repository
61-
uses: actions/checkout@v2
62-
with:
63-
path: ./workspace/FreeRTOS/Source
64-
- name: Posix Build Checker
65-
run: |
66-
bash workspace/.github/scripts/posix_build_checker.sh workspace
67-
- name: Install lib pcap dev
68-
run: |
69-
sudo apt-get install libpcap-dev
70-
- name: Posix Network Build Checker
71-
run: |
72-
bash workspace/.github/scripts/posix_network_build_checker.sh workspace

.github/workflows/kernel-demos.yml

Lines changed: 181 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,181 @@
1+
name: FreeRTOS-Kernel Demos
2+
on: [push, pull_request]
3+
4+
jobs:
5+
WIN32-MSVC:
6+
name: WIN32 MSVC
7+
runs-on: windows-latest
8+
steps:
9+
- name: Checkout the FreeRTOS/FreeRTOS Repository
10+
uses: actions/checkout@v2
11+
with:
12+
ref: main
13+
repository: FreeRTOS/FreeRTOS
14+
submodules: 'recursive'
15+
fetch-depth: 1
16+
17+
# Checkout user pull request changes
18+
- name: Checkout Pull Request
19+
uses: actions/checkout@v2
20+
with:
21+
path: ./FreeRTOS/Source
22+
23+
- name: Add msbuild to PATH
24+
uses: microsoft/[email protected]
25+
26+
- name: Build WIN32-MSVC Demo
27+
working-directory: FreeRTOS/Demo/WIN32-MSVC
28+
run: msbuild WIN32.sln -t:rebuild
29+
30+
- name: Build WIN32-MSVC-Static-Allocation-Only Demo
31+
working-directory: FreeRTOS/Demo/WIN32-MSVC-Static-Allocation-Only
32+
run: msbuild WIN32.sln -t:rebuild
33+
34+
WIN32-MingW:
35+
name: WIN32 MingW
36+
runs-on: windows-latest
37+
steps:
38+
- name: Checkout the FreeRTOS/FreeRTOS Repository
39+
uses: actions/checkout@v2
40+
with:
41+
ref: main
42+
repository: FreeRTOS/FreeRTOS
43+
submodules: 'recursive'
44+
fetch-depth: 1
45+
46+
# Checkout user pull request changes
47+
- name: Checkout Pull Request
48+
uses: actions/checkout@v2
49+
with:
50+
path: ./FreeRTOS/Source
51+
52+
- name: Build WIN32-MingW Demo
53+
working-directory: FreeRTOS/Demo/WIN32-MingW
54+
run: |
55+
gcc --version
56+
make --version
57+
make
58+
59+
POSIX-GCC:
60+
name: Native GCC
61+
runs-on: ubuntu-latest
62+
steps:
63+
- name: Checkout the FreeRTOS/FreeRTOS Repository
64+
uses: actions/checkout@v2
65+
with:
66+
ref: main
67+
repository: FreeRTOS/FreeRTOS
68+
submodules: 'recursive'
69+
fetch-depth: 1
70+
71+
# Checkout user pull request changes
72+
- name: Checkout Pull Request
73+
uses: actions/checkout@v2
74+
with:
75+
path: ./FreeRTOS/Source
76+
77+
- name: Install GCC
78+
shell: bash
79+
run: |
80+
sudo apt-get -y update
81+
sudo apt-get -y install build-essential
82+
83+
- name: Build Posix_GCC Demo
84+
shell: bash
85+
working-directory: FreeRTOS/Demo/Posix_GCC
86+
run: make -j
87+
88+
MSP430-GCC:
89+
name: GNU MSP430 Toolchain
90+
runs-on: ubuntu-latest
91+
steps:
92+
- name: Checkout the FreeRTOS/FreeRTOS Repository
93+
uses: actions/checkout@v2
94+
with:
95+
ref: main
96+
repository: FreeRTOS/FreeRTOS
97+
submodules: 'recursive'
98+
fetch-depth: 1
99+
100+
# Checkout user pull request changes
101+
- name: Checkout Pull Request
102+
uses: actions/checkout@v2
103+
with:
104+
path: ./FreeRTOS/Source
105+
106+
- name: Install MSP430 Toolchain
107+
shell: bash
108+
run: |
109+
sudo apt-get -y update
110+
sudo apt-get -y install gcc-msp430 build-essential
111+
112+
- name: Build msp430_GCC Demo
113+
shell: bash
114+
working-directory: FreeRTOS/Demo/msp430_GCC
115+
run: make -j
116+
117+
ARM-GCC:
118+
name: GNU ARM Toolchain
119+
runs-on: ubuntu-latest
120+
steps:
121+
- name: Checkout the FreeRTOS/FreeRTOS Repository
122+
uses: actions/checkout@v2
123+
with:
124+
ref: main
125+
repository: FreeRTOS/FreeRTOS
126+
submodules: 'recursive'
127+
fetch-depth: 1
128+
129+
# Checkout user pull request changes
130+
- name: Checkout Pull Request
131+
uses: actions/checkout@v2
132+
with:
133+
path: ./FreeRTOS/Source
134+
135+
- name: Install GNU ARM Toolchain
136+
shell: bash
137+
run: |
138+
sudo apt-get -y update
139+
sudo apt-get -y install gcc-arm-none-eabi build-essential cmake git ninja-build python3-minimal
140+
141+
- name: Build CORTEX_MPU_M3_MPS2_QEMU_GCC Demo
142+
shell: bash
143+
working-directory: FreeRTOS/Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC
144+
run: make -j
145+
146+
- name: Build CORTEX_LM3S102_GCC Demo
147+
shell: bash
148+
working-directory: FreeRTOS/Demo/CORTEX_LM3S102_GCC
149+
run: make -j
150+
151+
- name: Build CORTEX_M3_MPS2_QEMU_GCC Demo
152+
shell: bash
153+
working-directory: FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC
154+
run: |
155+
make clean
156+
make -j
157+
158+
- name: Build CORTEX_M3_MPS2_QEMU_GCC Demo
159+
shell: bash
160+
working-directory: FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC
161+
run: |
162+
make clean
163+
make FULL_DEMO=1 -j
164+
165+
- name: Build CORTEX_LM3S811_GCC Demo
166+
shell: bash
167+
working-directory: FreeRTOS/Demo/CORTEX_LM3S811_GCC
168+
run: make -j
169+
170+
- name: Build CORTEX_M0+_RP2040 Demos
171+
shell: bash
172+
working-directory: FreeRTOS/Demo/ThirdParty/Community-Supported/CORTEX_M0+_RP2040
173+
run: |
174+
git clone https://github.com/raspberrypi/pico-sdk.git
175+
cmake -B build -DPICO_SDK_PATH=pico-sdk -GNinja
176+
ninja -C build --verbose
177+
178+
- name: Build CORTEX_MPS2_QEMU_IAR_GCC Demo
179+
shell: bash
180+
working-directory: FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC
181+
run: make -C build/gcc -j

.github/workflows/unit-tests.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@ jobs:
1212
repository: FreeRTOS/FreeRTOS
1313
submodules: 'recursive'
1414
fetch-depth: 1
15-
- name: Clone This Repo
15+
16+
# Checkout user pull request changes
17+
- name: Checkout Pull Request
1618
uses: actions/checkout@v2
1719
with:
1820
path: ./FreeRTOS/Source

0 commit comments

Comments
 (0)