FreeRTOS-Kernel/portable
Michael Fairman 57f9eed00d
bugfix: correct computation of stack size on Mac Posix port (#816)
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 (#674)
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.
2023-10-03 11:30:33 +05:30
..
ARMClang Normalize line endings and whitespace in source files 2022-11-29 15:38:47 -08:00
ARMv8M Cortex-M23: Do not use PSPLIM_NS (#791) 2023-09-28 14:38:55 +05:30
BCC/16BitDOS CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
CCS Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
CodeWarrior Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
Common Add Access Control List to MPU ports (#765) 2023-09-18 15:34:42 +05:30
GCC Cortex-M23: Do not use PSPLIM_NS (#791) 2023-09-28 14:38:55 +05:30
IAR Cortex-M23: Do not use PSPLIM_NS (#791) 2023-09-28 14:38:55 +05:30
Keil Normalize line endings and whitespace in source files 2022-11-29 15:38:47 -08:00
MemMang CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
MikroC/ARM_CM4F Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
MPLAB Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
MSVC-MingW CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
oWatcom/16BitDOS CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
Paradigm/Tern_EE CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
Renesas CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
Rowley CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
RVDS Fix portSWITCH_TO_USER_MODE() on Armv7-M MPU ports (#803) 2023-09-26 14:36:23 +05:30
SDCC/Cygnal CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
Softune CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
Tasking/ARM_CM4F Add trace hook macro for most ports (#794) 2023-09-20 16:19:42 +05:30
template Sample FreeRTOSConfig.h and template port (#812) 2023-09-29 19:11:55 -07:00
ThirdParty bugfix: correct computation of stack size on Mac Posix port (#816) 2023-10-03 11:30:33 +05:30
WizC/PIC18 CI-CD Updates (#768) 2023-09-05 14:24:04 -07:00
CMakeLists.txt Sample FreeRTOSConfig.h and template port (#812) 2023-09-29 19:11:55 -07:00
readme.txt Normalize line endings and whitespace in source files 2022-11-29 15:38:47 -08:00

Each real time kernel port consists of three files that contain the core kernel
components and are common to every port, and one or more files that are
specific to a particular microcontroller and/or compiler.


+ The FreeRTOS/Source/Portable/MemMang directory contains the five sample
memory allocators as described on the https://www.FreeRTOS.org WEB site.

+ The other directories each contain files specific to a particular
microcontroller or compiler, where the directory name denotes the compiler
specific files the directory contains.



For example, if you are interested in the [compiler] port for the [architecture]
microcontroller, then the port specific files are contained in
FreeRTOS/Source/Portable/[compiler]/[architecture] directory.  If this is the
only port you are interested in then all the other directories can be
ignored.