You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
FreeRTOS-Kernel/portable
yhsb2k cdd406a62f
Add CMake build (#421)
* Add CMake build

Allows to build and link FreeRTOS using CMake build system.
From top-level project it looks like this:

set(FREERTOS_PORT_GCC_ARM_CM4F ON)
set(FREERTOS_CONFIG_FILE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} CACHE STRING "")
add_subdirectory(third_party/FreeRTOS-Kernel)

Where FREERTOS_PORT_GCC_ARM_CM4F is FreeRTOS port name.
freertos is target name, which can be used in target_link_libraries()

* Add feature to set custom heap source file

Example how to set it from top-level project:
set(FREERTOS_HEAP ${CMAKE_CURRENT_LIST_DIR}/path_to/my_heap.c CACHE STRING "")

* Set cmake_minimum_required to 3.15

* Fail build when FREERTOS_CONFIG_FILE_DIRECTORY not set

* Rename library to freertos_kernel

* Rework FREERTOS_PORT option to act as combobox

* Use freertos_kernel_port cmake target

* Split port sources multiline

Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
Co-authored-by: Paul Bartell <pbartell@amazon.com>
3 years ago
..
ARMClang Re-sync with upstream and stripping away none kernel related. 5 years ago
ARMv8M Fix free secure context for Cortex-M23 ports 3 years ago
BCC/16BitDOS Normalize files with mixed line endings (introduced in commit 3a413d1) 4 years ago
CCS fix typo (#399) 3 years ago
CodeWarrior Normalize files with mixed line endings (introduced in commit 3a413d1) 4 years ago
Common Change xPortRaisePrivilege and vPortResetPrivilege to macros 3 years ago
GCC Fix GCC/RX100 function naming error. (#440) 3 years ago
IAR Add option to disable unprivileged critical sections 3 years ago
Keil Re-sync with upstream and stripping away none kernel related. 5 years ago
MPLAB bugfix: Initialise stack correctly on dsPIC port (#405) 3 years ago
MSVC-MingW Normalize files with mixed line endings (introduced in commit 3a413d1) 4 years ago
MemMang Fix the defect that Heap_1.c may waste first portBYTE_ALIGNMENT bytes of ucHeap[] (#238) 3 years ago
MikroC/ARM_CM4F fix typo (#399) 3 years ago
Paradigm/Tern_EE Normalize files with mixed line endings (introduced in commit 3a413d1) 4 years ago
RVDS Add option to disable unprivileged critical sections 3 years ago
Renesas Normalize files with mixed line endings (introduced in commit 3a413d1) 4 years ago
Rowley Normalize files with mixed line endings (introduced in commit 3a413d1) 4 years ago
SDCC/Cygnal Tidy up the 8051 sdcc port (#376) 4 years ago
Softune Normalize files with mixed line endings (introduced in commit 3a413d1) 4 years ago
Tasking/ARM_CM4F Normalize files with mixed line endings (introduced in commit 3a413d1) 4 years ago
ThirdParty Add a Known Issues file in the Third Party folder (#434) 3 years ago
WizC/PIC18 Normalize files with mixed line endings (introduced in commit 3a413d1) 4 years ago
oWatcom/16BitDOS Normalize files with mixed line endings (introduced in commit 3a413d1) 4 years ago
CMakeLists.txt Add CMake build (#421) 3 years ago
readme.txt Style: Change FreeRTOS websites in comments (#131) 5 years ago

readme.txt

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

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.