Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
52 commits
Select commit Hold shift + click to select a range
cafae47
updated lexicon for new vocabulary words
n9wxu Mar 15, 2021
989bc33
Feature: SMP (#278)
n9wxu Mar 16, 2021
8ab776c
SMP Documentation (#280)
n9wxu Mar 16, 2021
ddf9007
Added a rough pico support. Remove rtos_prints from task.c
n9wxu Mar 16, 2021
94d6ad4
Added a cmakelists to memmang to facilitate a cmake build
n9wxu Mar 16, 2021
9404cb6
Merge github.com:FreeRTOS/FreeRTOS-Kernel into HEAD
n9wxu Mar 17, 2021
b2f3e83
fixed line endings for stream_buffer
n9wxu Mar 17, 2021
20576e8
ignoring build artifacts
n9wxu Mar 17, 2021
0732461
moved XMOS ports to thirdparty
n9wxu Mar 22, 2021
83595e8
Removed Xtensa port from XCC folder
n9wxu Mar 22, 2021
80457ca
added multiple idle tasks
n9wxu May 12, 2021
ad317ef
Added multiple IDLE tasks to non-static allocation
n9wxu May 12, 2021
b9a1747
Adjustments to tasks from PR review
n9wxu May 13, 2021
ec943bc
Static allocation and lightweight idle tasks (#323)
n9wxu May 13, 2021
d59bfca
converted exclusion to affinity
n9wxu May 14, 2021
56d94df
Fixed bit mask compare bug
n9wxu May 18, 2021
6369b03
fixed additional bit mask test errors
n9wxu May 18, 2021
87279a3
Fixed static allocation internal array
n9wxu May 19, 2021
106e15e
Uncrustified tasks.c
n9wxu May 19, 2021
61fa224
missed taskYield in minimalIDLE task
n9wxu May 19, 2021
f562517
removed extra parameter in TCB structure
n9wxu May 19, 2021
f916ccf
Static allocation and lightweight idle tasks (#323)
n9wxu May 13, 2021
a65f379
added multiple idle tasks
n9wxu May 12, 2021
74f816a
Adjustments to tasks from PR review
n9wxu May 13, 2021
bc42e04
Uncrustified tasks.c
n9wxu May 19, 2021
e71e702
Static allocation and lightweight idle tasks (#323)
n9wxu May 13, 2021
d58750f
Updated from upstream
n9wxu May 19, 2021
0c13813
Merge branch 'smp' into smp
n9wxu May 19, 2021
b515641
adding a minimal idle hook to the SMP port (#329)
n9wxu May 19, 2021
3231d08
fixed CI repo branch (#330)
n9wxu May 20, 2021
a9754a8
Change XCC to xClang for XCore ports (#332)
May 21, 2021
a7092d4
Fix XCore DP/CP register corruption bug (#352)
Jun 28, 2021
35b95d2
Rp2040 smp (#342)
kilograham Jul 6, 2021
a2c8db1
Move uxCoreAffinityMask after xMPUSettings (#372)
N3xed Jul 30, 2021
fa6982c
Update xSTATIC_TCB layout in line with tskTCB (#375)
N3xed Aug 9, 2021
7ce8266
Update SMP docs (#400)
aggarg Oct 11, 2021
970b678
SMP version (#401)
aggarg Oct 14, 2021
2b0fdf2
Add SMP in the License Header (#402)
aggarg Oct 14, 2021
7d11089
Rp2040 fixes smp (#425)
kilograham Dec 17, 2021
4832377
smp branch: bugfix for race condition on RP2040 (#431)
tsandmann Dec 28, 2021
4446c8f
Fix pxPreviousTCB compile warning (#464)
Dazza0 Mar 6, 2022
a97741a
Add task creation with affinity functions (#470)
Dazza0 Mar 18, 2022
34b8e24
Add support for newlib dynamic reentrancy (#496)
Dazza0 May 31, 2022
45dd83a
Fix RP2040 assertion due to yield spin lock info being wrongly shared…
kilograham Jun 9, 2022
2eff037
Update prvYieldCore() compile warning for single core targets (#505)
sudeep-mohanty Jun 22, 2022
b87dfa3
RP2040: Allow FreeRTOS to be added to the parent CMake project post i…
Jun 4, 2022
b3918c7
Remove ThirdParty from core checker in smp branch (#512)
aggarg Jun 24, 2022
13f034e
RP2040: Fix compiler warning and comment (#509)
kilograham Jun 24, 2022
8128208
Add support for retrieving a task's uxCoreAffinityMask with the vTask…
sudeep-mohanty Oct 12, 2022
0f9e6e5
Remove prvSelectHighestPriorityTask call in vTaskSuspend (#610)
chinglee-iot Jan 24, 2023
570ade4
performance counting: ulTaskSwitchedInTime and ulTotalRunTime must be…
rgrr Feb 2, 2023
530cdce
Update port.c
samledden04 Nov 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
140 changes: 70 additions & 70 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,70 +1,70 @@
# Contribution guidelines
Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, code, or
documentation, we welcome our community to be involved in this project.
Please read through this document before submitting any issues or pull requests to ensure we are able to help you and all members of the community as effectively as possible.
## Code of conduct
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
[email protected] with any additional questions or comments.
## Security issue notifications
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.
## Submitting a bugs/feature request
Have a bug to report or feature to request? Follow these steps:
1. Search on the [FreeRTOS Community Support Forums](https://forums.freertos.org/) and [GitHub issue tracker](https://github.com/FreeRTOS/FreeRTOS/issues?utf8=%E2%9C%93&q=is%3Aissue) to be sure this hasn't been already reported or discussed.
2. If your search turns up empty, create a new topic in the [forums](https://forums.freertos.org/) and work with the community to help clarify issues or refine the idea. Include as many of the details listed below.
3. Once the community has had time to discuss and digest, we welcome you to create an [issue](https://github.com/FreeRTOS/FreeRTOS/issues) to report bugs or suggest features.
When creating a new topic on the forums or filing an issue, please include as many relevant details as possible. Examples include:
* A clear description of the situation — what you observe, what you expect, and your view on how the two differ.
* A reproducible test case or sequence of steps.
* The version of our code being used.
* Any modifications you've made relevant to the bug.
* Details of your environment or deployment. Highlight anything unusual.
## Contributing via pull request
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:
1. You are working against the latest source on the *master* branch.
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.
To send us a pull request, please:
1. Fork the repository.
2. Modify the source; focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
3. Follow the [coding style guide](https://www.FreeRTOS.org/FreeRTOS-Coding-Standard-and-Style-Guide.html).
4. Commit to your fork using clear commit messages.
5. Send us a pull request, answering any default questions in the pull request interface.
NOTE: Please make sure the default option (Allow edits from maintainers) is left checked.
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).
## Coding style
* Please ensure that your code complies to the [FreeRTOS coding style guidelines](https://www.FreeRTOS.org/FreeRTOS-Coding-Standard-and-Style-Guide.html).
## Getting your pull request merged
All pull requests must be approved by our review team before it can be merged in. We appreciate your patience while pull requests are reviewed. The time it takes to review will depend on complexity and consideration of wider implications.
## Finding contributions to work on
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), tackling open 'help wanted' issues is a great place to start.
## Licensing
The FreeRTOS kernel is released under the MIT open source license, the text of which can be found [here](https://github.com/FreeRTOS/FreeRTOS/blob/master/FreeRTOS/License/license.txt)
Additional license files can be found in the folders containing any supplementary libraries licensed by their respective copyright owners where applicable.
We may ask you to sign a [Contributor License Agreement (CLA)](https://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
# Contribution guidelines

Thank you for your interest in contributing to our project. Whether it's a bug report, new feature, code, or
documentation, we welcome our community to be involved in this project.

Please read through this document before submitting any issues or pull requests to ensure we are able to help you and all members of the community as effectively as possible.

## Code of conduct
This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct).
For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact
[email protected] with any additional questions or comments.


## Security issue notifications
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security via our [vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting/). Please do **not** create a public github issue.


## Submitting a bugs/feature request
Have a bug to report or feature to request? Follow these steps:
1. Search on the [FreeRTOS Community Support Forums](https://forums.freertos.org/) and [GitHub issue tracker](https://github.com/FreeRTOS/FreeRTOS/issues?utf8=%E2%9C%93&q=is%3Aissue) to be sure this hasn't been already reported or discussed.
2. If your search turns up empty, create a new topic in the [forums](https://forums.freertos.org/) and work with the community to help clarify issues or refine the idea. Include as many of the details listed below.
3. Once the community has had time to discuss and digest, we welcome you to create an [issue](https://github.com/FreeRTOS/FreeRTOS/issues) to report bugs or suggest features.

When creating a new topic on the forums or filing an issue, please include as many relevant details as possible. Examples include:

* A clear description of the situation — what you observe, what you expect, and your view on how the two differ.
* A reproducible test case or sequence of steps.
* The version of our code being used.
* Any modifications you've made relevant to the bug.
* Details of your environment or deployment. Highlight anything unusual.


## Contributing via pull request
Contributions via pull requests are much appreciated. Before sending us a pull request, please ensure that:

1. You are working against the latest source on the *master* branch.
2. You check existing open, and recently merged, pull requests to make sure someone else hasn't addressed the problem already.
3. You open an issue to discuss any significant work - we would hate for your time to be wasted.

To send us a pull request, please:

1. Fork the repository.
2. Modify the source; focus on the specific change you are contributing. If you also reformat all the code, it will be hard for us to focus on your change.
3. Follow the [coding style guide](https://www.FreeRTOS.org/FreeRTOS-Coding-Standard-and-Style-Guide.html).
4. Commit to your fork using clear commit messages.
5. Send us a pull request, answering any default questions in the pull request interface.
NOTE: Please make sure the default option (Allow edits from maintainers) is left checked.
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.

GitHub provides additional document on [forking a repository](https://help.github.com/articles/fork-a-repo/) and
[creating a pull request](https://help.github.com/articles/creating-a-pull-request/).

## Coding style
* Please ensure that your code complies to the [FreeRTOS coding style guidelines](https://www.FreeRTOS.org/FreeRTOS-Coding-Standard-and-Style-Guide.html).


## Getting your pull request merged
All pull requests must be approved by our review team before it can be merged in. We appreciate your patience while pull requests are reviewed. The time it takes to review will depend on complexity and consideration of wider implications.


## Finding contributions to work on
Looking at the existing issues is a great way to find something to contribute on. As our projects, by default, use the default GitHub issue labels (enhancement/bug/duplicate/help wanted/invalid/question/wontfix), tackling open 'help wanted' issues is a great place to start.


## Licensing
The FreeRTOS kernel is released under the MIT open source license, the text of which can be found [here](https://github.com/FreeRTOS/FreeRTOS/blob/master/FreeRTOS/License/license.txt)

Additional license files can be found in the folders containing any supplementary libraries licensed by their respective copyright owners where applicable.

We may ask you to sign a [Contributor License Agreement (CLA)](https://en.wikipedia.org/wiki/Contributor_License_Agreement) for larger changes.
10 changes: 5 additions & 5 deletions .github/SECURITY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
## Reporting a Vulnerability
If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security
via our [vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting/) or directly via email to [email protected].
Please do **not** create a public github issue.
## Reporting a Vulnerability

If you discover a potential security issue in this project we ask that you notify AWS/Amazon Security
via our [vulnerability reporting page](https://aws.amazon.com/security/vulnerability-reporting/) or directly via email to [email protected].
Please do **not** create a public github issue.
15 changes: 15 additions & 0 deletions .github/lexicon.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1643,6 +1643,7 @@ pxcrcb
pxcreatedtask
pxcurrentcoroutine
pxcurrenttcb
pxcurrenttcbs
pxcurrenttcbconst
pxcurrenttimerlist
pxdelayedcoroutinelist
Expand Down Expand Up @@ -1759,6 +1760,7 @@ rdc
rdr
rdrf
rdy
reacquisition
readbit
readme
readvalue
Expand Down Expand Up @@ -2398,6 +2400,8 @@ uxbitstoset
uxbitstowait
uxbitstowaitfor
uxcontrolbits
uxcoreaffinitymask
uxcoreaffinityinheritancemask
uxcriticalnesting
uxcurrenteventbits
uxcurrentnumberoftasks
Expand All @@ -2423,7 +2427,9 @@ uxmaxcount
uxmessageswaiting
uxnewpriority
uxoriginalpriority
uxpendedcounts
uxportcomparesetextram
uxprevschedulersuspended
uxpriority
uxprioritytouse
uxqueue
Expand Down Expand Up @@ -2696,6 +2702,7 @@ xcommandtime
xcommsrxqueue
xconsttickcount
xcopyposition
xcoreid
xcoroutinecreate
xcoroutinepreviouslywoken
xcoroutinequeue
Expand Down Expand Up @@ -2784,6 +2791,7 @@ xinterruptcontroller
xinterruptdescriptortable
xisfeasable
xisfeasible
xisidle
xismessagebuffer
xisprivileged
xitemvalue
Expand All @@ -2792,6 +2800,7 @@ xlastwaketime
xlength
xlist
xlistend
xlowestpriority
xmair
xmaxcount
xmaxexpirycountbeforestopping
Expand Down Expand Up @@ -2861,6 +2870,7 @@ xportregistercinterrupthandler
xportregisterdump
xportstartfirsttask
xportstartscheduler
xpreemptiondisable
xpsr
xqueue
xqueueaddtoset
Expand Down Expand Up @@ -3017,6 +3027,8 @@ xtasknumber
xtaskremovefromeventlist
xtaskresumeall
xtaskresumefromisr
xtskrunningoncore
xtaskrunstate
xtaskswaitingforbits
xtaskswaitingtermination
xtaskswaitingtoreceive
Expand Down Expand Up @@ -3053,6 +3065,7 @@ xtimercreate
xtimercreated
xtimercreatestatic
xtimerdelete
xtimergenericcommand
xtimergetexpirytime
xtimergetperiod
xtimergettimerdaemontaskhandle
Expand Down Expand Up @@ -3085,5 +3098,7 @@ xwantedsize
xwasdelayed
xwritevalue
xxr
xyieldfortask
xyieldpending
xyieldpendings
xzr
8 changes: 5 additions & 3 deletions .github/scripts/kernel_checker.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
'.png',
'.bat',
'.sh',
'.txt'
'.txt',
'.cmake'
]

KERNEL_IGNORED_PATTERNS = [
Expand All @@ -41,12 +42,13 @@
r'.*portable.*Xtensa_ESP32.*portasm\.S',
r'.*portable.*Xtensa_ESP32.*xtensa_.*',
r'.*portable.*Xtensa_ESP32.*portmux_impl.*',
r'.*portable.*Xtensa_ESP32.*xt_asm_utils\.h'
r'.*portable.*Xtensa_ESP32.*xt_asm_utils\.h',
r'.*/ThirdParty/.*'
]

KERNEL_HEADER = [
'/*\n',
' * FreeRTOS Kernel V10.4.3\n',
' * FreeRTOS SMP Kernel V202110.00\n',
' * Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n',
' *\n',
' * Permission is hereby granted, free of charge, to any person obtaining a copy of\n',
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/kernel-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
- name: Tool Setup
uses: actions/setup-python@v2
with:
python-version: 3.7.10
python-version: 3.11.0
architecture: x64
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -21,7 +21,7 @@ jobs:
uses: actions/checkout@v2
with:
repository: FreeRTOS/FreeRTOS
ref: master
ref: main
path: tools

# Checkout user pull request changes
Expand Down
21 changes: 21 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Ignore build results
[Bb]uild/
[Dd]ebug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
[Bb]in/
[Oo]bj/
[Ll]og/
[Ll]ogs/

# Visual Studio cache/options directory
.vs/

# Python Tools for Visual Studio (PTVS)
__pycache__/
*.pyc

# Ignore certificate files.
*.pem
*.crt
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
cmake_minimum_required(VERSION 3.12)

add_library(FreeRTOS list.c queue.c tasks.c timers.c event_groups.c)

include_directories(AFTER include)
Loading