Commit graph

1342 commits

Author SHA1 Message Date
wat
2b499ab780
[WIN32-MingW Demo] Modify project setting files to resolve compiler errors on Eclipse (#1203)
* Exclude unnecessary directories from build.
1. "FreeRTOS/Source/example"
2. "FreeRTOS+Trace Recorder/extras"
3. "FreeRTOS+Trace Recorder/kernelports/BareMetal"
4. "FreeRTOS+Trace Recorder/kernelports/ESP-IDF_FreeRTOS"
5. "FreeRTOS+Trace Recorder/kernelports/ThreadX"
6. "FreeRTOS+Trace Recorder/kernelports/Zephyr"

1 is applied to both of "Debug" configuration and "Debug_CodeCoverage" configuration.
Others are applied to only "Debug" configuration because those directories are already excluded from build on "Debug_Coverage" configuration.

* Include path setting is modified.
1.Directory name is modified.("Include" -> "include")
2.New path is added.(FreeRTOS+Trace Recorder/kernelports/FreeRTOS/include)
These modifications are needed to build "Debug" configuration. They are not needed for "Debug_CodeCoverage" configuration because these paths are not used. But these modifications are applied to both of "Debug" configuration and "Debug_CodeCoverage" configuration because of future potential risk.

* [WIN32-MingW Demo] Replace "Exclude from Build" by "Resource Filter".

"Resource Filter" is better than "Exclude from Build" because "Resource Filter" makes excluded directories invisible on Eclipse GUI. But some directories are still "Exclude from Build" because they should be excluded only on "Debug_CodeCoverage" configuration. "Resource Filter" cannot be specified to each configuration separately.

* Code review suggestions

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-04-17 16:56:07 +08:00
chinglee-iot
dd4789cdba
Update kernel submodule for vTaskSuspendAll change (#1207)
* Update kernel submodule pointer for vTaskSuspendAll change
2024-04-11 15:42:13 +08:00
chinglee-iot
28177788d0
Fix vTaskSuspendAll assertion unit test (#1204)
* Update kernel submodule to address vTaskDelete and vTaskSuspend change
2024-04-11 14:49:30 +08:00
Keith Packard
eb97c5d325
Make a couple of demos build using picolibc (#1202)
* [RISC-V-Qemu-virt_GCC Demo] Add picolibc support

Add minimal picolibc support:

 * Use --specs=picolibc.specs to direct gcc at picolibc
 * Use -DPICOLIBC_INTEGER_PRINTF_SCANF to enable smaller printf implementation
 * Enable configUSE_PICOLIBC_TLS for thread local storage
 * Add TLS section to linker script

Signed-off-by: Keith Packard <keithpac@amazon.com>

* [CORTEX_MPU_M3_MPS2_QEMU_GCC Demo] Add picolibc support

Add minimal picolibc support to this demo

 * Use --specs=picolibc.specs to direct gcc at picolibc
 * Use -DPICOLIBC_INTEGER_PRINTF_SCANF to enable smaller printf implementation
 * Enable configUSE_PICOLIBC_TLS for thread local storage
 * Add TLS section to linker script
 * Replace newlib syscall hooks with picolibc ones

Signed-off-by: Keith Packard <keithpac@amazon.com>

---------

Signed-off-by: Keith Packard <keithpac@amazon.com>
Co-authored-by: Keith Packard <keithpac@amazon.com>
2024-04-03 10:13:14 +05:30
wat
7514cd3d54
[WIN32-MSVC Demo] Define TickType_t width based on the target platform(32bit/64bit). (#1201)
* [WIN32-MSVC Demo] Add tick type width definition based on the target platform.(32bit/64bit)
32bit TickType_t is used on Win32 target. 64bit TickType_t is used on x64 target.

Reason of change: Before this change, 32bit TickType_t is always used in MSVC demo. It is inefficient  for 64bit target. In addition, compiler reported warnings for the cast operation between TickType_t and (void *) pointer if the target is x64 because of different width. 64bit TickType_t should be used instead of 32bit if target is 64bit.

* [WIN32-MSVC Demo] Change type of some variables from uint32_t to UBaseType_t.

Reason of change: These variables are cast to/from pointer type in existing codes. x64 compiler reports warnings for the cast operations between uint32_t and pointer type. UBaseType_t solves those warnings because it has same width as pointer type on both of Win32 platform and x64 platform.

* [WIN32-MSVC Demo]Correct prefix of variables and indent to follow coding style guide.

* [WIN32-MSVC Demo]Correct type of the argument in vApplicationGetIdleTaskMemory() prototype declaration.
It is corrected to match original declaration described in task.h.

* [WIN32-MSVC] Add cast operation to solve compiler warnings on x64 platform.
Before this change, compiler claimed that the cast operation to wider type should be applied before other arithmetic operations because of overflow risk. There is no overflow risk here but it is modified to solve compiler warnings.
2024-04-01 10:16:07 +05:30
Soren Ptak
4592acca4c
Update Cortex R4F and Cortex R5F MPU Demos (#1200)
* Set configUSE_EVENT_GROUPS to 0 in the CORTEX_MPU_R4/5F Demos.
* Update the FreeRTOS-Kernel submodule to use the latest FreeRTOS-Kernel.
2024-03-28 12:37:03 -07:00
wat
076430b2ab
[WIN32-MingW Demo] TickType_t width is defined based on compiler type.(32bit/64bit) (#1199)
* [WIN32-MingW Demo] Add tick type width definition based on compiler type.(32bit/64bit)
32bit TickType_t is used if compiler is MinGW32. 64bit TickType_t is used if compiler is MinGW64.

Reason of change: Before this change, 32bit TickType_t is always used in MinGW demo. It is inefficient  for 64bit compiler. In addition, MinGW64 reported warnings for the cast operation between TickType_t and (void *) pointer because of different width. 64bit TickType_t should be used instead of 32bit if compiler is 64bit.

* [WIN32-MingW Demo] Change printf() format specifiers from %u to %llu.

Reason of change: %u specifier corrupts 64bit tick count because it supports only 32bit value. %llu can be used for both of 64bit value and 32bit value.(After casting to 64bit)

* [WIN32-MingW Demo] Change type of some variables from uint32_t to UBaseType_t.

Reason of change: These variables are cast to/from pointer type in existing codes. 64bit compiler(MinGW64) reports warnings for the cast operations between uint32_t and pointer type. UBaseType_t solves those warnings because it has same width as pointer type on both of MinGW32 and MinGW64.

* [WIN32-MingW Demo] Change type of some variables from uint32_t to UBaseType_t.

Same change as previous commit is applied to source codes which are built only on Debug configuration.

* [WIN32-MingW Demo] Add brackets to the condition in #if statement. Behavior is not changed. Reason of change is to follow coding style guide of FreeRTOS.

* Update "FreeRTOS/Source" submodule(FreeRTOS-kernel) to #1008.

* [WIN32-MingW Demo] Change type of one more variable from uint32_t to UBaseType_t.

Additional modification for solving compiler warnings for the cast operation on MinGW64.

* Update FreeRTOS-kernel submodule version in manifest.yml.

* Modify prefix of variables to follow coding style guide.

* Code review suggestions

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: ActoryOu <ousc@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-03-27 15:34:46 +08:00
Soren Ptak
273fb94328
ARMv7-R MPU Port Demos (#1149)
* Add in a Cortex R5F MPU demo for the Hercules RM57 Development Kit.
* Add in a Cortex R4F MPU demo for the Hercules RM46 Development Kit.
* Provide a Code Composer Studio (CCS) project for running these demos.
* Provide a CMakeLists.txt file to allow for compilation of the demos without use of an IDE.
* Add a CI-CD build of these demos using CMake with Fetch-Content.
* Include necessary README to explain the new demos.
---------
2024-03-26 09:24:37 -07:00
Rahul Kar
857962d638
Add support to build Posix Demo with Dynamic Allocation (#1198)
Add support for dynamic allocation in posix demo
2024-03-26 11:02:49 +05:30
ActoryOu
c5c41ef3af
Update result section in README under CBMC folder. (#1196)
* Update result section in README under CBMC folder

* Code review suggestions

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

* Update proofs result path

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2024-03-22 10:43:47 +08:00
Rahul Kar
7de1b5098d
Add separate compile option for tracing functionality in Posix demo (#1194)
* Add compile option for enabling tracing in cmake file *
2024-03-21 14:57:49 +05:30
chinglee-iot
2bb9bca68b
Update kernel submodule pointer for xTaskGetHandle unit test (#1191) 2024-03-06 16:11:46 +08:00
chinglee-iot
3f24270b4a
Update kernel xtaskGetHandle unit test (#1186) 2024-03-06 15:24:49 +08:00
Rahul Kar
77cc06d692
Fix demo build issue , when configUSE_TRACE_FACILITY is disabled (#1189)
This PR enables the FreeRTOS Posix Blinky GCC Demo to be used without the configUSE_TRACE_FACILITY enabled. It is achieved by using `-DNO_TRACING=1` CMake option to disable tracing. By default, -DNO_TRACING is set to 0, and the tracing is enabled.
2024-03-04 14:48:17 +05:30
chinglee-iot
2adaf8471f
Add SMP disable preemption on target test (#1175)
* Add SMP disable preemption on target test

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2024-02-27 12:13:27 +08:00
chinglee-iot
d9ced6e8ac
Add SMP schedule affinity on target test (#1172)
* Add SMP schedule affinity on target test

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2024-02-27 12:01:25 +08:00
chinglee-iot
ec0eae4c0f
Add SMP disable multiple priorities on target test (#1171)
* Add SMP disable multiple priorities on target test

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-02-27 11:45:38 +08:00
chinglee-iot
731a4f05fd
Add SMP schedule highest priority on-target test (#1167)
* Add SMP scheduler highest priority task on target test

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2024-02-27 11:29:15 +08:00
chinglee-iot
d1ef345165
Calling vTaskEndScheduler in application created task (#1187) 2024-02-26 22:40:00 +05:30
RichardBarry
7cd180d914
Add register test tasks to QEMU project (#765)
* Add register test tasks to the CORTEX_MPS2_QEMU_IAR GCC and IAR builds.

* Update header comment in the two added files.

* Fix header checks

* Fix build issue

* update IAR version

---------

Co-authored-by: none <>
Co-authored-by: Rahul Kar <karahulx@amazon.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-02-19 20:50:02 +05:30
RichardBarry
8e8dad2b09
Update some tests to report error line numbers (#747)
* To assist debugging, update a subset of demos to store the line number on which an error is detected rather than just storing a boolean as to whether an error detected or not.

* Correct return value of xAreInterruptSemaphoreTasksStillRunning() made incorrect by the prior commit.

* Uncrustify: triggered by comment.


---------

Co-authored-by: none <>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
Co-authored-by: Rahul Kar <karahulx@amazon.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2024-02-19 12:07:43 +05:30
RichardBarry
6a8e2ba7dc
The zc702 Configuration QEMU.launch file contained an absolute path. This commit makes it project relative. (#761)
Co-authored-by: none <>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-02-17 00:23:12 +05:30
Rahul Kar
5fc7a750a0
update CMakeLists.txt for Posix GCC Demo (#1185) 2024-02-10 15:14:46 +05:30
chinglee-iot
2f85ed9bf6
Add SMP schedule equal priority on target test (#1170)
* Add SMP schedule equal priority on target test

* Remove unnecessary config

* Fix spelling format and header

* Code review suggestions

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-02-08 11:07:39 +05:30
chinglee-iot
3878dd9657
Add SMP one task enter suspendall on target test (#1183)
* Add SMP one task enter suspendall on target test

* Fix format and spelling

* Code review suggestions

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-02-07 22:29:39 +05:30
chinglee-iot
9cb29445cd
Add SMP suspend scheduler on target test (#1184)
* Add SMP suspend scheduler on target test

* Code review suggestion

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-02-07 21:52:56 +05:30
chinglee-iot
5be0af160b
Update kernel submodule for task notify change (#1182) 2024-02-07 14:12:40 +08:00
Darian
ce28d94516
Update unit tests due to task notification changes (#1177)
This commit updates the CMock unit tests according to the changes introduced
to https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/982.

Co-authored-by: chinglee-iot <61685396+chinglee-iot@users.noreply.github.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-02-07 10:51:43 +08:00
chinglee-iot
b31b3d4eb3
Update kernel submodule to address vTaskDelete and vTaskSuspend change (#1179) 2024-02-06 21:08:05 +08:00
chinglee-iot
3c5fbc769b
Update unit test to address vTaskDelete and vTaskSuspend change for SMP (#1178)
* Update the unit test to address the problem task self void state change
2024-02-06 20:30:21 +08:00
chinglee-iot
457ca860c1
Update kernel submodule for vTaskEndScheduler and vTaskDelete unit test (#1169) 2024-02-01 16:46:02 +08:00
chinglee-iot
269b16a03a
Fix unit test for vTaskEndShceduler (#1163)
* Update unit test for vTaskEndScheduler change
* test_coverage_vTaskDelete_scheduler_not_running is removed due to vTaskDelete implementation change

---------

Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2024-02-01 10:51:51 +08:00
chinglee-iot
8422d79383
Update on target test for passive idle hook (#1128)
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-01-31 16:02:12 +08:00
Gaurav-Aggarwal-AWS
3d236bd83d
Add x64 configuration to Win32-MSVC demo (#1164)
Add x64 configuration to Win32-MSVC demo.

This was originally contributed in this PR - #1139

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: José Simões <jose.simoes@eclo.solutions>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-01-30 10:44:47 +05:30
Moral-Hao
b0c6296cbf
Update all CMock configuration to compare_ptr. (#1123)
Bring the change of CMock configuration in directory tasks
to all other directories.

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>
Co-authored-by: Nikhil Kamath <110539926+amazonKamath@users.noreply.github.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-01-29 12:35:30 +05:30
Gabriele Monaco
770e93bdfe
Add tests for streambuffers with different notification index (#1150)
* Add tests for streambuffers with different notification index

* Uncrustify: triggered by comment.

* Updated kernel with tested functionality

* Fix typo

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-01-29 12:04:40 +05:30
Soren Ptak
7fc12c29f3
Update FreeRTOS and AWS Library Submodules (#1162)
* Update the AWS and FreeRTOS Library Submodule Pointers
* Update the manifest.yml file for new submodules
2024-01-26 19:51:49 -05:00
chinglee-iot
c852aaeeeb
Update kernel submodule for vTaskSuspend change (#1161) 2024-01-25 10:55:40 +08:00
chinglee-iot
d603c9b1ba
Update for vTaskSuspend SMP unit test (#1160) 2024-01-24 19:34:14 +08:00
chinglee-iot
527ee9a799
Update kernel submodule for unit test (#1159)
* Update kernel submodule for unit test
2024-01-23 17:54:38 +08:00
chinglee-iot
3e1c9a51df
Update SMP unit test for vTaskDelete change (#1158)
* Fix vTaskDelete SMP unit test
2024-01-23 16:37:31 +08:00
Forty-Bot
154dee1c86
Fix msp430_GCC demo application (#1153)
* Update kernel

Update kernel to bring in a fix for MSP430 task initialization.

* msp430_GCC: Decrease heap size to avoid stack overflow

With 1800 bytes allocated to the heap, the stack overflows while
initializing tasks. Decrease the heap size so we have a bit more space
for the initial stack. We are using most of the heap, so 100 bytes is
about as much as we can decrease it by.
2024-01-15 10:24:11 +05:30
Kody Stribrny
7d09b88e5a
Fix C source and header file license spacing (#1155)
The line 'Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.'
used to have two spaces between the first and second sentences.
This would cause the header check to fail due to the copyright regex located
ab999f9624/.github/scripts/core_checker.py (L396)
2024-01-12 16:43:31 -08:00
chinglee-iot
bd56549a48
Update SMP unit test to cover prvInitialiseTaskLists (#1151)
* Update SMP unit test to cover prvInitialiseTaskLists
2024-01-08 13:12:28 +08:00
Rahul Kar
121fbe295b
Fix formatting in kernel demo application files (#1148)
* Fix formatting in kernel demo application files

* Fix header check fail in the demo files

* Add ignored patterns in core header check file

* Fix formatting

* Update vApplicationStackOverflowHook for AVR_ATMega4809_MPLAB.X/main.c

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>

* Update vApplicationStackOverflowHook for AVR_ATMega4809_MPLAB.X/main.c

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>

* Update vApplicationStackOverflowHook for AVR_Dx_IAR/main.c

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>

* Update vApplicationStackOverflowHook for AVR_Dx_IAR/main.c

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>

* Update vApplicationStackOverflowHook for AVR_Dx_MPLAB.X/main.c

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>

* Update vApplicationMallocFailedHook for AVR_Dx_MPLAB.X/main.c

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>

* Fix formatting AVR32_UC3

---------

Co-authored-by: Soren Ptak <ptaksoren@gmail.com>
2024-01-02 11:05:59 +05:30
Forty-Bot
85ed21bcfb
msp430_GCC: Make interrupts return void (#1146)
If a return type of a function is not specified, it defaults to int. Set
the return type of interrupts to void to avoid warnings.
2023-12-26 10:40:28 -08:00
chinglee-iot
31d6ace7e0
Add eTaskConfirmSleepModeStatus unit test for SMP (#1118)
* Add eTaskConfirmSleepModeStatus unit test for SMP
2023-12-26 14:16:21 +05:30
Ztex
660166b734
Riscv re-factoring (#1145)
* Refactor the trap handler macro
Since `portasmHANDLE_INTERRUPT` is removed at FreeRTOS-kernel, Riscv re-factoring (#444) (commit: 9efca75d1e)
We don't need this definition anymore
We also remove the unused function definition

* Styling the file header to pass the checker
Remove an extra space

Co-authored-by: ztex <ztex030640417@gmail.com>
2023-12-21 11:42:46 +05:30
chinglee-iot
ec25164e48
Update riscv eclipse project (#1143)
* Exclude examples in FreeRTOS-Kernel from build
* Update vega and microsemi risc-v eclipse project
* Update polarfire eclipse project
2023-12-20 16:50:43 +08:00
chinglee-iot
dc4bdf5f30
Update RISC-V QEMU project for GCC (#1142)
* Update RISC-V QEMU project for GCC
2023-12-19 14:38:18 +08:00