Skip to content

Commit 60fb00c

Browse files
authored
Merge branch 'main' into indent-enter-and-exit-critical
2 parents cebd68b + ce81bcb commit 60fb00c

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

64 files changed

+3123
-277
lines changed

.github/CONTRIBUTING.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,13 @@ If you discover a potential security issue in this project we ask that you notif
1717

1818
## Submitting a bugs/feature request
1919
Have a bug to report or feature to request? Follow these steps:
20-
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.
20+
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.
2121
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.
2222
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.
2323

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

26-
* A clear description of the situation what you observe, what you expect, and your view on how the two differ.
26+
* A clear description of the situation - what you observe, what you expect, and your view on how the two differ.
2727
* A reproducible test case or sequence of steps.
2828
* The version of our code being used.
2929
* Any modifications you've made relevant to the bug.
@@ -43,8 +43,8 @@ To send us a pull request, please:
4343
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.
4444
3. Follow the [coding style guide](https://www.FreeRTOS.org/FreeRTOS-Coding-Standard-and-Style-Guide.html).
4545
4. Commit to your fork using clear commit messages.
46-
5. Send us a pull request, answering any default questions in the pull request interface.
47-
NOTE: Please make sure the default option (Allow edits from maintainers) is left checked.
46+
5. Send us a pull request, answering any default questions in the pull request interface.
47+
NOTE: Please make sure the default option (Allow edits from maintainers) is left checked.
4848
6. Pay attention to any automated CI failures reported in the pull request, and stay involved in the conversation.
4949

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

.github/ISSUE_TEMPLATE/bug-report.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ A concise description of what the bug is.
2424

2525
**To Reproduce**
2626
- Use project ... and configure with ...
27-
- Run on ... and could observe ...
27+
- Run on ... and could observe ...
2828

2929
**Expected behavior**
3030
A concise description of what you expected to happen.

.github/ISSUE_TEMPLATE/documentation-issue.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ assignees: ''
1111
Please describe the issue and expected clarification in concise language.
1212

1313
**Reference**
14-
Please attach the URL at which you are experiencing the issue.
14+
Please attach the URL at which you are experiencing the issue.
1515

1616
**Screenshot**
1717
If applicable, please attach screenshot.

.github/lexicon.txt

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1711,6 +1711,7 @@ pxtask
17111711
pxtaskbuffer
17121712
pxtaskcode
17131713
pxtaskdefinition
1714+
pxtaskin
17141715
pxtaskstatus
17151716
pxtaskstatusarray
17161717
pxtasktag
@@ -2310,6 +2311,8 @@ ullporttaskhasfpucontext
23102311
ulmair
23112312
ulmask
23122313
ulmatchvalueforonetick
2314+
ulnumberofheapallocations
2315+
ulnumberofheapfrees
23132316
ulong
23142317
ulparameter
23152318
ulparameters
@@ -2332,6 +2335,7 @@ ulstatsaspercentage
23322335
ulstoppedtimercompensation
23332336
ultablebase
23342337
ultaskgetidleruntimecounter
2338+
ultaskgetidleruntimepercent
23352339
ultaskhasfpucontext
23362340
ultasknotificationtakeindexed
23372341
ultasknotifystateclear
@@ -2341,6 +2345,8 @@ ultasknotifyvalueclear
23412345
ultasknotifyvalueclearindexed
23422346
ultaskswitchedintime
23432347
ultaskswitchrequested
2348+
ultotalmemoryallocations
2349+
ultotalmemoryfrees
23442350
ultotalruntime
23452351
ultotalruntimediv
23462352
ulusingfpu
@@ -2772,6 +2778,9 @@ xgenericlistitem
27722778
xgetfreestackspace
27732779
xhandle
27742780
xhead
2781+
xheapbytescurrentlyallocated
2782+
xheapbytescurrentlyheld
2783+
xheapbyteshighwatermark
27752784
xheapregions
27762785
xhigherpriorittaskwoken
27772786
xhigherprioritytaskwoken
@@ -2798,6 +2807,7 @@ xlistend
27982807
xmair
27992808
xmaxcount
28002809
xmaxexpirycountbeforestopping
2810+
xmaxheapbyteseverheld
28012811
xmaxsize
28022812
xmc
28032813
xmessage

.github/scripts/kernel_checker.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,8 @@
6060
'.png',
6161
'.bat',
6262
'.sh',
63-
'.txt'
63+
'.txt',
64+
'.cmake'
6465
]
6566

6667
KERNEL_ASM_EXTENSIONS = [

.github/uncrustify.cfg

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
# Uncrustify-0.67
2+
input_tab_size = 4 # unsigned number
3+
output_tab_size = 4 # unsigned number
4+
sp_arith = force # ignore/add/remove/force
5+
sp_assign = force # ignore/add/remove/force
6+
sp_assign_default = force # ignore/add/remove/force
7+
sp_before_assign = force # ignore/add/remove/force
8+
sp_after_assign = force # ignore/add/remove/force
9+
sp_enum_assign = force # ignore/add/remove/force
10+
sp_enum_before_assign = force # ignore/add/remove/force
11+
sp_enum_after_assign = force # ignore/add/remove/force
12+
sp_pp_stringify = add # ignore/add/remove/force
13+
sp_bool = force # ignore/add/remove/force
14+
sp_compare = force # ignore/add/remove/force
15+
sp_inside_paren = force # ignore/add/remove/force
16+
sp_paren_paren = force # ignore/add/remove/force
17+
sp_paren_brace = force # ignore/add/remove/force
18+
sp_before_ptr_star = force # ignore/add/remove/force
19+
sp_before_unnamed_ptr_star = force # ignore/add/remove/force
20+
sp_between_ptr_star = remove # ignore/add/remove/force
21+
sp_after_ptr_star = force # ignore/add/remove/force
22+
sp_before_byref = force # ignore/add/remove/force
23+
sp_after_byref = remove # ignore/add/remove/force
24+
sp_after_byref_func = remove # ignore/add/remove/force
25+
sp_before_angle = remove # ignore/add/remove/force
26+
sp_inside_angle = remove # ignore/add/remove/force
27+
sp_after_angle = force # ignore/add/remove/force
28+
sp_before_sparen = remove # ignore/add/remove/force
29+
sp_inside_sparen = force # ignore/add/remove/force
30+
sp_after_sparen = force # ignore/add/remove/force
31+
sp_sparen_brace = force # ignore/add/remove/force
32+
sp_before_semi_for = remove # ignore/add/remove/force
33+
sp_before_semi_for_empty = add # ignore/add/remove/force
34+
sp_after_semi_for_empty = force # ignore/add/remove/force
35+
sp_before_square = remove # ignore/add/remove/force
36+
sp_before_squares = remove # ignore/add/remove/force
37+
sp_inside_square = force # ignore/add/remove/force
38+
sp_after_comma = force # ignore/add/remove/force
39+
sp_after_cast = force # ignore/add/remove/force
40+
sp_inside_paren_cast = force # ignore/add/remove/force
41+
sp_sizeof_paren = remove # ignore/add/remove/force
42+
sp_inside_braces_enum = force # ignore/add/remove/force
43+
sp_inside_braces_struct = force # ignore/add/remove/force
44+
sp_inside_braces = force # ignore/add/remove/force
45+
sp_inside_braces_empty = remove # ignore/add/remove/force
46+
sp_type_func = force # ignore/add/remove/force
47+
sp_func_proto_paren = remove # ignore/add/remove/force
48+
sp_func_def_paren = remove # ignore/add/remove/force
49+
sp_inside_fparens = remove # ignore/add/remove/force
50+
sp_inside_fparen = force # ignore/add/remove/force
51+
sp_fparen_brace = add # ignore/add/remove/force
52+
sp_func_call_paren = remove # ignore/add/remove/force
53+
sp_func_class_paren = remove # ignore/add/remove/force
54+
sp_return_paren = remove # ignore/add/remove/force
55+
sp_attribute_paren = remove # ignore/add/remove/force
56+
sp_defined_paren = remove # ignore/add/remove/force
57+
sp_macro = force # ignore/add/remove/force
58+
sp_macro_func = force # ignore/add/remove/force
59+
sp_brace_typedef = force # ignore/add/remove/force
60+
sp_before_dc = remove # ignore/add/remove/force
61+
sp_after_dc = remove # ignore/add/remove/force
62+
sp_cond_colon = force # ignore/add/remove/force
63+
sp_cond_question = force # ignore/add/remove/force
64+
sp_case_label = force # ignore/add/remove/force
65+
sp_endif_cmt = force # ignore/add/remove/force
66+
sp_before_tr_emb_cmt = force # ignore/add/remove/force
67+
sp_num_before_tr_emb_cmt = 1 # unsigned number
68+
indent_columns = 4 # unsigned number
69+
indent_with_tabs = 0 # unsigned number
70+
indent_align_string = true # false/true
71+
indent_class = true # false/true
72+
indent_class_colon = true # false/true
73+
indent_member = 3 # unsigned number
74+
indent_switch_case = 4 # unsigned number
75+
indent_case_brace = 3 # number
76+
nl_assign_leave_one_liners = true # false/true
77+
nl_class_leave_one_liners = true # false/true
78+
nl_start_of_file = remove # ignore/add/remove/force
79+
nl_end_of_file = force # ignore/add/remove/force
80+
nl_end_of_file_min = 1 # unsigned number
81+
nl_assign_brace = add # ignore/add/remove/force
82+
nl_func_var_def_blk = 1 # unsigned number
83+
nl_fcall_brace = add # ignore/add/remove/force
84+
nl_enum_brace = force # ignore/add/remove/force
85+
nl_struct_brace = force # ignore/add/remove/force
86+
nl_union_brace = force # ignore/add/remove/force
87+
nl_if_brace = add # ignore/add/remove/force
88+
nl_brace_else = add # ignore/add/remove/force
89+
nl_else_brace = add # ignore/add/remove/force
90+
nl_getset_brace = force # ignore/add/remove/force
91+
nl_for_brace = add # ignore/add/remove/force
92+
nl_while_brace = add # ignore/add/remove/force
93+
nl_do_brace = add # ignore/add/remove/force
94+
nl_switch_brace = add # ignore/add/remove/force
95+
nl_multi_line_define = true # false/true
96+
nl_before_case = true # false/true
97+
nl_after_case = true # false/true
98+
nl_func_type_name = remove # ignore/add/remove/force
99+
nl_func_proto_type_name = remove # ignore/add/remove/force
100+
nl_func_paren = remove # ignore/add/remove/force
101+
nl_func_def_paren = remove # ignore/add/remove/force
102+
nl_func_decl_start = remove # ignore/add/remove/force
103+
nl_func_def_start = remove # ignore/add/remove/force
104+
nl_func_decl_args = add # ignore/add/remove/force
105+
nl_func_def_args = add # ignore/add/remove/force
106+
nl_func_decl_end = remove # ignore/add/remove/force
107+
nl_func_def_end = remove # ignore/add/remove/force
108+
nl_fdef_brace = add # ignore/add/remove/force
109+
nl_after_semicolon = true # false/true
110+
nl_after_brace_open = true # false/true
111+
nl_after_brace_close = true # false/true
112+
nl_squeeze_ifdef = true # false/true
113+
nl_before_if = force # ignore/add/remove/force
114+
nl_after_if = force # ignore/add/remove/force
115+
nl_before_for = force # ignore/add/remove/force
116+
nl_after_for = force # ignore/add/remove/force
117+
nl_before_while = force # ignore/add/remove/force
118+
nl_after_while = force # ignore/add/remove/force
119+
nl_before_switch = force # ignore/add/remove/force
120+
nl_after_switch = force # ignore/add/remove/force
121+
nl_before_do = force # ignore/add/remove/force
122+
nl_after_do = force # ignore/add/remove/force
123+
nl_max = 4 # unsigned number
124+
nl_after_func_proto_group = 1 # unsigned number
125+
nl_after_func_body_class = 2 # unsigned number
126+
nl_before_block_comment = 2 # unsigned number
127+
eat_blanks_after_open_brace = true # false/true
128+
eat_blanks_before_close_brace = true # false/true
129+
nl_after_return = true # false/true
130+
pos_bool = trail # ignore/join/lead/lead_break/lead_force/trail/trail_break/trail_force
131+
align_var_def_amp_style = 1 # unsigned number
132+
align_var_def_thresh = 16 # unsigned number
133+
align_assign_thresh = 12 # unsigned number
134+
align_struct_init_span = 3 # unsigned number
135+
align_typedef_gap = 3 # unsigned number
136+
align_typedef_span = 5 # unsigned number
137+
align_typedef_star_style = 1 # unsigned number
138+
align_typedef_amp_style = 1 # unsigned number
139+
align_right_cmt_span = 3 # unsigned number
140+
align_nl_cont = true # false/true
141+
align_pp_define_gap = 4 # unsigned number
142+
align_pp_define_span = 3 # unsigned number
143+
cmt_cpp_to_c = true # false/true
144+
cmt_star_cont = true # false/true
145+
mod_full_brace_do = add # ignore/add/remove/force
146+
mod_full_brace_for = add # ignore/add/remove/force
147+
mod_full_brace_if = add # ignore/add/remove/force
148+
mod_full_brace_while = add # ignore/add/remove/force
149+
mod_full_paren_if_bool = true # false/true
150+
mod_remove_extra_semicolon = true # false/true
151+
mod_add_long_ifdef_endif_comment = 10 # unsigned number
152+
mod_add_long_ifdef_else_comment = 10 # unsigned number
153+
mod_case_brace = remove # ignore/add/remove/force
154+
mod_remove_empty_return = true # false/true
155+
pp_indent = force # ignore/add/remove/force
156+
pp_indent_at_level = true # false/true
157+
pp_indent_count = 4 # unsigned number
158+
pp_space = remove # ignore/add/remove/force
159+
pp_if_indent_code = true # false/true
160+
# option(s) with 'not default' value: 158

.github/workflows/ci.yml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,27 @@ jobs:
3434
else
3535
exit 1
3636
fi
37+
formatting:
38+
runs-on: ubuntu-latest
39+
steps:
40+
- uses: actions/checkout@v2
41+
- name: Install Uncrustify
42+
run: sudo apt-get install uncrustify
43+
- name: Run Uncrustify
44+
run: |
45+
uncrustify --version
46+
find . \( -name portable \) -prune -false -o -iname "*.[hc]" -exec uncrustify --check -c .github/uncrustify.cfg {} +
47+
- name: Check For Trailing Whitespace
48+
run: |
49+
set +e
50+
grep --exclude="README.md" --exclude-dir="portable" -rnI -e "[[:blank:]]$" .
51+
if [ "$?" = "0" ]; then
52+
echo "Files have trailing whitespace."
53+
exit 1
54+
else
55+
exit 0
56+
fi
57+
3758
url-check:
3859
runs-on: ubuntu-latest
3960
steps:

.gitmodules

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
[submodule "ThirdParty/FreeRTOS-Kernel-Partner-Supported-Ports"]
2+
path = portable/ThirdParty/Partner-Supported-Ports
3+
url = https://github.com/FreeRTOS/FreeRTOS-Kernel-Partner-Supported-Ports
4+
[submodule "ThirdParty/FreeRTOS-Kernel-Community-Supported-Ports"]
5+
path = portable/ThirdParty/Community-Supported-Ports
6+
url = https://github.com/FreeRTOS/FreeRTOS-Kernel-Community-Supported-Ports

History.txt

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,18 @@
1+
Changes between FreeRTOS V10.4.4 and TBD
2+
3+
+ Introduce configRUN_TIME_COUNTER_TYPE which enables developers to define
4+
the type used to hold run time statistic counters. Defaults to uint32_t
5+
for backward compatibility. #define configRUN_TIME_COUNTER_TYPE to a type
6+
(for example, uint64_t) in FreeRTOSConfig.h to override the default.
7+
+ Introduce ulTaskGetIdleRunTimePercent() to complement the pre-existing
8+
ulTaskGetIdleRunTimeCounter(). Whereas the pre-existing function returns
9+
the raw run time counter value, the new function returns the percentage of
10+
the entire run time consumed by the idle task. Note the amount of idle
11+
time is only a good measure of the slack time in a system if there are no
12+
other tasks executing at the idle priority, tickless idle is not used, and
13+
configIDLE_SHOULD_YIELD is set to 0.
14+
15+
116
Documentation and download available at https://www.FreeRTOS.org/
217

318
Changes between FreeRTOS V10.4.3 and FreeRTOS V10.4.4 released May 28 2021
@@ -38,7 +53,7 @@ Changes between FreeRTOS V10.4.3 and FreeRTOS V10.4.4 released May 28 2021
3853
correcting and improving code comments.
3954
+ Go look at the smp branch to see the progress towards the Symetric
4055
Multiprocessing Kernel. https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/smp
41-
56+
4257
Changes between FreeRTOS V10.4.2 and FreeRTOS V10.4.3 released December 14 2020
4358

4459
V10.4.3 is included in the 202012.00 LTS release. Learn more at https:/freertos.org/lts-libraries.html
@@ -54,14 +69,14 @@ Changes between FreeRTOS V10.4.2 and FreeRTOS V10.4.3 released December 14 2020
5469

5570

5671
Changes between FreeRTOS V10.4.1 and FreeRTOS V10.4.2 released November 10 2020
57-
72+
5873
See https://www.FreeRTOS.org/FreeRTOS-V10.4.x.html
5974

60-
+ Fix an issue in the ARMv8-M ports that caused BASEPRI to be masked
61-
between the first task starting to execute and that task making
75+
+ Fix an issue in the ARMv8-M ports that caused BASEPRI to be masked
76+
between the first task starting to execute and that task making
6277
a FreeRTOS API call.
6378
+ Introduced xTaskDelayUntil(), which is functionally equivalent to
64-
vTaskDelayUntil(), with the addition of returning a value to
79+
vTaskDelayUntil(), with the addition of returning a value to
6580
indicating whether or not the function placed the calling task into
6681
the Blocked state or not.
6782
+ Update WolfSSL to 4.5.0 and add the FIPS ready demo.
@@ -75,8 +90,8 @@ Changes between FreeRTOS V10.4.0 and FreeRTOS V10.4.1 released September 17 2020
7590

7691
See https://www.FreeRTOS.org/FreeRTOS-V10.4.x.html
7792

78-
+ Fixed an incorrectly named parameter that prevented the
79-
ulTaskNotifyTakeIndexed macro compiling, and the name space clash in the
93+
+ Fixed an incorrectly named parameter that prevented the
94+
ulTaskNotifyTakeIndexed macro compiling, and the name space clash in the
8095
test code that prevented this error causing test failures.
8196

8297

@@ -117,7 +132,7 @@ Changes between FreeRTOS V10.3.1 and FreeRTOS V10.4.0 released September 10 2020
117132
+ Added new POSIX port layer that allows FreeRTOS to run on Linux hosts in
118133
the same way the Windows port layer enables FreeRTOS to run on Windows
119134
hosts.
120-
+ Many other minor optimisations and enhancements. For full details
135+
+ Many other minor optimisations and enhancements. For full details
121136
see https://github.com/FreeRTOS/FreeRTOS-Kernel/commits/main
122137

123138

event_groups.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -627,10 +627,12 @@ EventBits_t xEventGroupSetBits( EventGroupHandle_t xEventGroup,
627627

628628
void vEventGroupDelete( EventGroupHandle_t xEventGroup )
629629
{
630-
configASSERT( xEventGroup );
631-
632630
EventGroup_t * pxEventBits = xEventGroup;
633-
const List_t * pxTasksWaitingForBits = &( pxEventBits->xTasksWaitingForBits );
631+
const List_t * pxTasksWaitingForBits;
632+
633+
configASSERT( pxEventBits );
634+
635+
pxTasksWaitingForBits = &( pxEventBits->xTasksWaitingForBits );
634636

635637
vTaskSuspendAll();
636638
{

0 commit comments

Comments
 (0)