FreeRTOS-Kernel/portable/ThirdParty
Michael Fairman 57f9eed00d
bugfix: correct computation of stack size on Mac Posix port ()
Aligns the stack end to a page boundary before computing its
size, since the size depends on both the start and end.

The original change which introduced stack alignment ()
only worked for cases where the round + trunc operation would
wind up within the same area, but would lead to segfaults in
other cases.

Also adds a typecast to the `mach_vm_round_page()` call, as
it is actually a macro which casts to `mach_vm_offset_t` and
the result here is used as a `StackType_t` pointer.

Tested on ARM64 and Intel MacOS, as well as ARM64 and Intel
Linux.  The test code included a single-task case, as well
as a case with two tasks passing queue messages.
..
CDK/T-HEAD_CK802
Community-Supported-Ports@d4cccca297
GCC bugfix: correct computation of stack size on Mac Posix port ()
Partner-Supported-Ports@d38f59dbcd
XCC/Xtensa
xClang/XCOREAI
KnownIssues.md
README.md

README.md

FreeRTOS Third Party Ports

FreeRTOS third party ports can be supported by the FreeRTOS team, a FreeRTOS partner or FreeRTOS community members. Depending on who supports it, the support provided will differ as follows:

FreeRTOS Team Supported Third Party FreeRTOS Ports

Location: https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/main/portable/ThirdParty

These third party FreeRTOS ports are supported by the FreeRTOS team. For a FreeRTOS team supported third party FreeRTOS port:

  • The code has been reviewed by the FreeRTOS team.
  • FreeRTOS team has access to the hardware and the test results have been verified by the FreeRTOS team.
  • Customer queries as well as bugs are addressed by the FreeRTOS team.
  • The code can be included in Long Term Support (LTS) releases.

A new FreeRTOS port cannot be directly contributed to this location. Instead, the FreeRTOS team will decide to take ownership of a partner supported or a community supported FreeRTOS port based on the community interest.

Partner Supported FreeRTOS Ports

Location: https://github.com/FreeRTOS/FreeRTOS-Kernel-Partner-Supported-Ports/tree/main

These FreeRTOS ports are supported by a FreeRTOS partner. For a partner supported FreeRTOS port:

  • The code has not been reviewed by the FreeRTOS team.
  • FreeRTOS team has not verified the tests results but tests exist and are reported to be successful by the partner.
  • Customer queries as well as bugs are addressed by the partner.

A new FreeRTOS port can be directly contributed by a partner. The process to contribute a FreeRTOS port is documented here.

Community Supported FreeRTOS Ports

Location: https://github.com/FreeRTOS/FreeRTOS-Kernel-Community-Supported-Ports/tree/main

These FreeRTOS ports are supported by the FreeRTOS community members. For a community supported FreeRTOS port:

  • The code has not been reviewed by the FreeRTOS team.
  • Tests may or may not exist for the FreeRTOS port.
  • Customer queries as well as bugs are addressed by the community.

A new FreeRTOS port can be directly contributed by anyone. The process to contribute a FreeRTOS port is documented here.