Commit graph

1381 commits

Author SHA1 Message Date
Gaurav-Aggarwal-AWS
66de13ce1b
Update FreeRTOS-Kernel submodule pointer (#1316)
Update FreeRTOS-Kernel submodule pointer

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-12-26 10:57:39 +05:30
Gaurav-Aggarwal-AWS
93ba585fb9
Fix coverage tests for Kernel PR 1203 (#1315)
Fix coverage tests for Kernel PR 1203

PR Link - https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/1203.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-12-20 10:56:23 +05:30
Sudeep Mohanty
f430a10431
fix(freertos/tasks): Updated the xTaskGetIdleTaskHandle Test (#1314)
This commit updates the xTaskGetIdleTaskHandle unit test as per the idle
task naming logic.

Signed-off-by: Sudeep Mohanty <sudeep.mohanty@espressif.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2024-12-19 22:32:48 +05:30
Gaurav-Aggarwal-AWS
dfb7b28f72
Fix SMP coverage tests for kernel PR 1206 (#1313)
PR Link - https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/1206

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-12-19 11:41:41 +05:30
Gaurav-Aggarwal-AWS
f6672f99df
Fix unit tests for Kernel PR 1206 (#1312)
PR - https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/1206

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-12-17 22:49:00 +05:30
Gaurav-Aggarwal-AWS
6aa244f6fe
Update Community-Supported-Demos submodule pointer (#1303)
* Update Community-Supported-Demos submodule pointer

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-12-02 17:11:05 +05:30
Tony Josi
a3a526569f
Enable release from forks (#1299)
* Enable release from forks

* Update Kernel submodule pointer

* Update manifest file

---------

Co-authored-by: Rahul Kar <karahulx@amazon.com>
2024-11-19 15:19:14 +05:30
Jeff Tenney
1469448e3e
Don't expect call to xTaskResumeAll in some cases (#1295) 2024-11-12 12:31:58 +05:30
Gaurav-Aggarwal-AWS
28a20d5a69
Add volatile qualifier (#1283)
Add volatile qualifier

This is needed to ensure that the memory mapped address it always read.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-10-17 11:08:16 +05:30
Ian Thompson
b3e6cff1f2
Xtensa Demos updated and moved to Partner-Supported submodules (#1281)
Cadence/Xtensa: Move Tensilica demos to Partner-Supported-Demos submodule

Add a README to this deprecated demos directory indicating where to
find the latest Tensilica test code.

Signed-off-by: Ian Thompson <ianst@cadence.com>
2024-10-16 10:06:05 +05:30
Gaurav-Aggarwal-AWS
c502e5f9a5
Update runtime library support to automatic (#1280)
This ensures that CCS builds this library when the project is
first built after CCS installation.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-10-11 10:31:48 +05:30
Matt Ryall [Mawson Rovers]
6dc7737eff
Update CORTEX R4 demo to use linked resources #1272 (#1273)
* Cortex R4 demo: replace setup script with linked resources

* Cortex R4 demo: remove Eclipse user settings
2024-10-10 15:23:25 +05:30
Florian La Roche
d80937d050
Cortex M3 MPS2: modernize assembler syntax and also add .ltorg (#1268)
Cortex M3 MPS2: modernize assembler syntax and also add .ltorg

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
2024-09-25 16:09:47 +05:30
Florian La Roche
9245b4aaac
Cortex M3 MPS2: fix alignment warning from assembler (#1266)
* Cortex M3 MPS2: fix alignment warning from assembler

Fix assembler alignment warnings for Cortex M3 MPS2:
Warning: section does not have enough alignment to ensure safe PC-relative loads

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
2024-09-16 12:19:39 +05:30
ericwu13
b0c9468ad6
Update RTOSDemo Debug Renode.launch (#1261)
SoftConsole failed to execute MI command to load the RTOSDebug.elf built in this project. Since the debugger couldn't find  address `0xe000ed00` defined in ARM processor. 

We need to set `$target_riscv` to 1 so that the gdb can be initialized correctly.
2024-09-03 11:41:27 +05:30
joejoseph08
3b34f8028d
Add cygwin option for compilation (#1230)
Add Cygwin option for compilation
2024-08-23 15:36:40 +05:30
Gaurav-Aggarwal-AWS
059165fbf1
Fix crash on Ubuntu 24.04 ARM64 (#1253)
On Ubuntu 24.04 ARM64, PTHREAD_STACK_MIN is 0x20000 which does not fit
in unsigned short, size of which is 2 bytes. Casting PTHREAD_STACK_MIN
to unsigned short in FreeRTOSConfig.h results in
configMINIMAL_STACK_SIZE getting defined to 0 which leads to SIGSEV.

This change removes the not needed casting of PTHREAD_STACK_MIN to
unsigned short.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-08-23 12:47:47 +05:30
Monika Singh
c304913b64
Remove redundant TCP includes in FreeRTOS CBMC proofs (#1254)
* Remove unnecessary TCP includes

* Update comment
2024-08-23 12:18:51 +05:30
chinglee-iot
9febcedd91
Add async core yield test for SMP (#1247)
Add async core yield test for SMP

Add async core yield test for SMP to verify set core affinity
  implementation
2024-08-21 16:02:18 +05:30
chinglee-iot
4b039b82e9
Remove no new core added coverage test for coreAffinitySet (#1248)
* Remove this unit test due to implementation change
2024-08-20 12:23:21 +08:00
chinglee-iot
520fc225eb
Add SMP task delete on target test (#1176)
Add SMP task delete on target test
2024-08-16 14:38:01 +05:30
chinglee-iot
6ed67f54bb
Add SMP one task enter critical on target test (#1180)
Add SMP one task enter critical on target test
2024-08-16 14:23:22 +05:30
chinglee-iot
98c2b04bbc
Add SMP interrupt wait critical secton on target test (#1181)
Add SMP interrupt wait critical secton on target test
2024-08-16 14:06:05 +05:30
Rahul Kar
8582188293
ARMv7-R No_GIC Port Demo (#1236)
Add ARM_CRx_No_GIC_Demo
2024-08-11 19:07:30 +05:30
Gaurav-Aggarwal-AWS
5f52d71cee
Update kernel submodule pointer (#1239)
* Update kernel submodule pointer

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

* Update manifest

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

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-08-06 22:12:13 +05:30
Gaurav-Aggarwal-AWS
a57ee50f67
Unit test updates for kernel PR #1111 (#1238)
* Unit test updates for kernel PR #1111

https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/1111

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

* Fix doxygen check

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

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-08-06 10:10:45 +05:30
Niklas
36b803e358
fix AbortDelay.c Test (#1237)
* fix AbortDelay.c Test

* Uncrustify: triggered by comment.

* Update comment

* Fix formatting

---------

Co-authored-by: Niklas Jenner <niklas.jenner@ifta.com>
Co-authored-by: GitHub Action <action@github.com>
Co-authored-by: Monika Singh <moninom@amazon.com>
2024-07-22 12:15:03 +05:30
Florian La Roche
82099c32a0
CORTEX_MPU_M3_MPS2_QEMU_GCC: remove unused defines (#1233)
From CORTEX_MPU_M3_MPS2_QEMU_GCC remove unused configNUM_TX_DESCRIPTORS
define and remove HEAP3 from as heap_4.c is used.

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-07-01 12:46:15 +05:30
Florian La Roche
29d3e527ec
Posix_GCC: use complete function declaration (#1234)
complete function declaration for Posix_GCC

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
2024-06-30 10:33:21 +05:30
chinglee-iot
b2b177aa59
Remove the configASSERT unit test for prvCheckForRunStateChange (#1231) 2024-06-19 17:30:18 +08:00
Gaurav-Aggarwal-AWS
bf046c15f7
Fix unit test for kernel PR #1082 (#1228)
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2024-06-10 08:30:21 -07:00
Florian La Roche
5f85f43c39
Posix_GCC: update compiler options (#1227)
Posix_GCC: update compiler options

1. Add to CFLAGS
   - add -O0 optimization for debug builds.
   - add -O3 optimization for release builds. 
2. Update signal handler `handle_sigint()` to use
  `_exit()` instead of `exit()`. Normal exit() is not allowed
  within a signal handler.

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
2024-06-10 11:32:23 +05:30
Florian La Roche
995a030a92
MPS2_AN385 improvements (#1225)
* MPS2_AN385 improvements

Sync various MPS2_AN385 CORTEX-M3 QEMU targets and improve their
Makefiles and cleanup gcc support:
- FreeRTOS-Plus/Demo/FreeRTOS_Plus_TCP_Echo_Qemu_mps2:
  - Makefile
    - output image size after linking
    - move -nostartfiles from compiler to linker flags
    - modernize compiler warning flags
    - add --gc-sections to linker flags
  - TCPEchoClient_SingleTasks.c: fix compiler warnings
  - main.c: fix compiler warnings (remove unused code)
  - main_networking.c
    - remove ipLOCAL_MAC_ADDRESS (unknown)
    - fix compiler warnings about unused params
  - startup.c: main(void), remove unused includes,
    silence  unused params
  - syscalls.c: remove unused defines, silence unused params,
    more compact _sbrk()
- FreeRTOS/Demo/CORTEX_MPS2_QEMU_IAR_GCC/build/gcc:
  - Makefile
    - CFLAGS/LDFLAGS in more readable lines
    - move -nostartfiles to linker flags
    - comment out -specs=rdimon.specs as it is not needed
  - startup_gcc.c: fix typo in comment, remove unused uart code
- FreeRTOS/Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC
  - Makefile
    - after compilation output size of image
    - remove -DQEMU_SOC_MPS2, not needed
    - update many CFLAGS/LDFLAGS settings to more modern gcc/source
    - -ffunction-sections -fdata-sections is moved to CFLAGS
  - startup.c: sync with other ports
  - syscall.c: _write(): param buf is not unused, silence unused params

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>

* remove ipLOCAL_MAC_ADDRESS completely and fix formatting errors

remove ipLOCAL_MAC_ADDRESS completely and fix formatting errors

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
2024-06-04 20:08:16 +05:30
Florian La Roche
49bbe71166
Demo/CORTEX_MPS2_QEMU_IAR_GCC add path to IMAGE and remove mapfile (#1223)
For Demo/CORTEX_MPS2_QEMU_IAR_GCC gcc Makefile:
- simplify IMAGE var to already include full path
- clean target also removes mapfile

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2024-05-24 12:56:03 +05:30
Florian La Roche
8e54579341
Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC/syscall.c: remove unused g_ulBase (#1224)
In FreeRTOS/Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC/syscall.c the
extern definition of g_ulBase ist not used, so remove it.
Also move _heap_bottom and _heap_top to where they are used
in syscall.c.

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
2024-05-24 11:57:01 +05:30
chinglee-iot
6518cb153d
Update cellular comm interface to generate interrupt from windows thread (#1221)
* Make use of vPortGenerateSimulatedInterruptFromWindowsThread to generate interrupt from windows thread
2024-05-20 16:15:02 +08:00
Florian La Roche
140ce29320
Demo/CORTEX_MPS2_QEMU_IAR_GCC cleanup (#1213)
Some small changes for Demo/CORTEX_MPS2_QEMU_IAR_GCC:
- FreeRTOSConfig.h: define configENABLE_BACKWARD_COMPATIBILITY to 0
- build/gcc/Makefile: remove unused SUB_MAKEFILE_DIR
- build/gcc/Makefile: no trailing slash(/) for FREERTOS_ROOT
- build/gcc/Makefile: commented out, but prepared:
   - CFLAGS += -Wpedantic -Wshadow -fanalyzer
   - CFLAGS += -flto
- build/gcc/startup_gcc.c:
   - "__attribute__( ( naked ) )" for Reset_Handler
   - "__attribute__( ( used ) )" for isr_vector and prvGetRegistersFromStack

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-04-22 15:00:13 +05:30
Florian La Roche
022447b855
Demo/CORTEX_MPU_M3_MPS2_QEMU_GCC: optimize _sbrk() (#1211)
Optimize _sbrk() from runtime to compiletime initialization.
Fix compiler warnings by adjusting (void *) and (char *) types.

Complete function declarations for uart_init() and _getpid().

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
Co-authored-by: Rahul Kar <118818625+kar-rahul-aws@users.noreply.github.com>
2024-04-18 16:56:06 -07:00
Florian La Roche
17eeb79698
Demo/Posix_GCC cleanup (#1212)
Demo/Posix_GCC cleanup

- Guard prvSaveTraceFile() function definition.
- Remove "cid" as it is unused.
- handle_sigint(): quiet compiler warning about unused param.
- main_full.c: prvCheckTask(): Remove unused var "xHeapStats".

Signed-off-by: Florian La Roche <Florian.LaRoche@gmail.com>
2024-04-18 19:07:34 +05:30
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