Skip to content

Commit

Permalink
Merge branch 'main' into add_check
Browse files Browse the repository at this point in the history
  • Loading branch information
paulbartell authored Nov 25, 2022
2 parents 86c6f7b + b3b097b commit 9684b36
Show file tree
Hide file tree
Showing 18 changed files with 420 additions and 1,665 deletions.
26 changes: 0 additions & 26 deletions .github/lexicon.txt
Original file line number Diff line number Diff line change
Expand Up @@ -317,7 +317,6 @@ coproc
coprocessor
coprocessors
coreid
coroutinehandle
covfs
cp
cpacr
Expand All @@ -344,16 +343,10 @@ cpu
cr
crc
crcb
crcoroutine
crdelay
creadonlyarray
creadwritearray
createevent
crend
crgint
croutine
crqueue
crstart
crt
crtv
crxedchar
Expand Down Expand Up @@ -1517,14 +1510,11 @@ prvaddcurrenttasktodelayedlist
prvcheckinterfaces
prvchecktaskswaitingtermination
prvcopydatatoqueue
prvcoroutineflashtask
prvcoroutineflashworktask
prvdeletetcb
prvexitfunction
prvgettimens
prvheapinit
prvidletask
prvinitialisecoroutinelists
prvinitialisemutex
prvinitialisenewstreambuffer
prvinitialisenewtimer
Expand Down Expand Up @@ -1638,15 +1628,11 @@ pxblocktoinsert
pxcallbackfunction
pxcode
pxcontainer
pxcoroutinecode
pxcoroutinewoken
pxcrcb
pxcreatedtask
pxcurrentcoroutine
pxcurrenttcb
pxcurrenttcbconst
pxcurrenttimerlist
pxdelayedcoroutinelist
pxdelayedtasklist
pxend
pxendofstack
Expand Down Expand Up @@ -1681,7 +1667,6 @@ pxnextfreeblock
pxnexttcb
pxoriginalsp
pxoriginaltos
pxoverflowdelayedcoroutinelist
pxoverflowdelayedtasklist
pxowner
pxportinitialisestack
Expand All @@ -1691,7 +1676,6 @@ pxqueue
pxqueuebuffer
pxqueuesetcontainer
pxramstack
pxreadycoroutinelists
pxreadytaskslists
pxreceivecompletedcallback
pxregions
Expand Down Expand Up @@ -2463,7 +2447,6 @@ uxtopreadypriority
uxtopusedpriority
uxvariabletoincrement
uxwantedbytes
vacoroutine
vadifferenttask
vafunction
val
Expand Down Expand Up @@ -2492,7 +2475,6 @@ vbr
vbufferisr
vcallbackfunction
vclearinterruptmask
vcoroutineschedule
vddcore
vec
vectactive
Expand All @@ -2502,7 +2484,6 @@ ver
veventgroupclearbitscallback
veventgroupdelete
veventgroupsetbitscallback
vflashcoroutine
vfp
vfunction
vic
Expand Down Expand Up @@ -2565,14 +2546,12 @@ vqueuedelete
vqueueunregisterqueue
vr
vraiseprivilege
vreceivingcoroutine
vreg
vresetprivilege
vrestorecontextoffirsttask
vrpm
vsemaphorecreatebinary
vsemaphoredelete
vsendingcoroutine
vsetbacklightstate
vsoftwareinterruptentry
vstartfirsttask
Expand Down Expand Up @@ -2706,9 +2685,6 @@ xcommandtime
xcommsrxqueue
xconsttickcount
xcopyposition
xcoroutinecreate
xcoroutinepreviouslywoken
xcoroutinequeue
xcount
xcreatedeventgroup
xcrwokenbypost
Expand All @@ -2718,7 +2694,6 @@ xdd
xdddd
xdeadbeef
xdelay
xdelayedcoroutinelist
xdelayedtasklist
xdelaytime
xe
Expand Down Expand Up @@ -2865,7 +2840,6 @@ xpar
xparameters
xpendedcounts
xpendedticks
xpendingreadycoroutinelist
xpendingreadylist
xperiod
xportgetcoreid
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ jobs:
exit 1
fi
formatting:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v2
- name: Install Uncrustify
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/kernel-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ on: [push, pull_request]
jobs:
kernel-checker:
name: FreeRTOS Kernel Header Checks
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
steps:
# Install python 3
- name: Tool Setup
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/unit-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ on: [push, pull_request]

jobs:
run:
runs-on: ubuntu-latest
runs-on: ubuntu-20.04
steps:
- name: Checkout Parent Repository
uses: actions/checkout@v2
Expand Down
374 changes: 208 additions & 166 deletions CMakeLists.txt

Large diffs are not rendered by default.

7 changes: 5 additions & 2 deletions History.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
Changes between FreeRTOS V10.4.6 and FreeRTOS V10.5.0 released September 16 2022

Documentation and download available at https://www.FreeRTOS.org/

Changes between FreeRTOS V10.5.0 and FreeRTOS V10.5.1 released November 16 2022
+ Updated the kernel version in manifest and SBOM

Changes between FreeRTOS V10.4.6 and FreeRTOS V10.5.0 released September 16 2022

+ ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
already independently gained the ability to execute injected code to
read from or write to arbitrary addresses by passing a negative argument
Expand Down
64 changes: 54 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Getting started
This repository contains FreeRTOS kernel source/header files and kernel ports only. This repository is referenced as a submodule in [FreeRTOS/FreeRTOS](https://github.com/FreeRTOS/FreeRTOS) repository, which contains pre-configured demo application projects under ```FreeRTOS/Demo``` directory.
This repository contains FreeRTOS kernel source/header files and kernel ports only. This repository is referenced as a submodule in [FreeRTOS/FreeRTOS](https://github.com/FreeRTOS/FreeRTOS) repository, which contains pre-configured demo application projects under ```FreeRTOS/Demo``` directory.

The easiest way to use FreeRTOS is to start with one of the pre-configured demo application projects. That way you will have the correct FreeRTOS source files 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) for detailed instructions and other useful links.

Expand All @@ -8,7 +8,53 @@ Additionally, for FreeRTOS kernel feature information refer to the [Developer Do
### Getting help
If you have any questions or need assistance troubleshooting your FreeRTOS project, we have an active community that can help on the [FreeRTOS Community Support Forum](https://forums.freertos.org).

## Cloning this repository
## To consume FreeRTOS-Kernel

### Consume with CMake
If using CMake, it is recommended to use this repository using FetchContent.
Add the following into your project's main or a subdirectory's `CMakeLists.txt`:

- Define the source and version/tag you want to use:

```cmake
FetchContent_Declare( freertos_kernel
GIT_REPOSITORY https://github.com/FreeRTOS/FreeRTOS-Kernel.git
GIT_TAG master #Note: Best practice to use specific git-hash or tagged version
)
```

- Add a freertos_config library (typically an INTERFACE library) The following assumes the directory structure:
- `include/FreeRTOSConfig.h`
```cmake
add_library(freertos_config INTERFACE)
target_include_directories(freertos_config SYSTEM
INTERFACE
include
)
target_compile_definitions(freertos_config
INTERFACE
projCOVERAGE_TEST=0
)
```

- Configure the FreeRTOS-Kernel and make it available
- this particular example supports a native and cross-compiled build option.

```cmake
set( FREERTOS_HEAP "4" CACHE STRING "" FORCE)
# Select the native compile PORT
set( FREERTOS_PORT "GCC_POSIX" CACHE STRING "" FORCE)
# Select the cross-compile PORT
if (CMAKE_CROSSCOMPILING)
set(FREERTOS_PORT "GCC_ARM_CA9" CACHE STRING "" FORCE)
endif()
FetchContent_MakeAvailable(freertos_kernel)
```

### Consuming stand-alone - Cloning this repository

To clone using HTTPS:
```
Expand All @@ -20,20 +66,18 @@ git clone [email protected]:FreeRTOS/FreeRTOS-Kernel.git
```

## Repository structure
- The root of this repository contains the three files that are common to
every port - list.c, queue.c and tasks.c. The kernel is contained within these
three files. croutine.c implements the optional co-routine functionality - which
is normally only used on very memory limited systems.
- The root of this repository contains the three files that are common to
every port - list.c, queue.c and tasks.c. The kernel is contained within these
three files.

- The ```./portable``` directory contains the files that are specific to a particular microcontroller and/or compiler.
- The ```./portable``` directory contains the files that are specific to a particular microcontroller and/or compiler.
See the readme file in the ```./portable``` directory for more information.

- The ```./include``` directory contains the real time kernel header files.

### Code Formatting
FreeRTOS files are formatted using the "uncrustify" tool. The configuration file used by uncrustify can be found in the [FreeRTOS/FreeRTOS repository](https://github.com/FreeRTOS/FreeRTOS/blob/main/tools/uncrustify.cfg).
FreeRTOS files are formatted using the "uncrustify" tool. The configuration file used by uncrustify can be found in the [FreeRTOS/FreeRTOS repository](https://github.com/FreeRTOS/FreeRTOS/blob/main/tools/uncrustify.cfg).

### Spelling
*lexicon.txt* contains words that are not traditionally found in an English dictionary. It is used by the spellchecker to verify the various jargon, variable names, and other odd words used in the FreeRTOS code base. If your pull request fails to pass the spelling and you believe this is a mistake, then add the word to *lexicon.txt*.
*lexicon.txt* contains words that are not traditionally found in an English dictionary. It is used by the spellchecker to verify the various jargon, variable names, and other odd words used in the FreeRTOS code base. If your pull request fails to pass the spelling and you believe this is a mistake, then add the word to *lexicon.txt*.
Note that only the FreeRTOS Kernel source files are checked for proper spelling, the portable section is ignored.

Loading

0 comments on commit 9684b36

Please sign in to comment.