Commit graph

1178 commits

Author SHA1 Message Date
arshi016
58e55e2588
Updated configMINIMAL_STACK_SIZE for POSIX demo (#856) 2022-10-10 14:35:45 -07:00
Gaurav-Aggarwal-AWS
3893cbdb12
Fix test failure in FreeRTOS-Kernel PR #568 (#852)
The test simulates the scenario when a task with priority equal to the
currently executing task is unblocked as a result of the
xTaskIncrementTick call.

Related PR - https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/568

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

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-09-29 12:03:36 +05:30
akshayutture
856d0e8363
Created a generic portmacro.h file in the CBMC include folder (#847)
* Created a generic portmacro.h file in the CBMC include folder instead of using the default MSVC-MingW one. This allows each proof to define the portmacro constants it needs and cover all code in the Task Scheduler

* Removed the license text from the portmacro file

* Fix CI checks

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

* Fix spell check

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>
2022-09-26 14:43:54 -07:00
Jeff Tenney
2e772110e3
Add test late timer start (retry #557) (#591)
* Add test for timer start delayed past expiration

This reverts commit 53af0ec62e, which
itself reverted 9c91199016.

* Add warning about vTimerDemoIncludeBacklogTests()

* uncrustify for CI check

* Remove unintentional changes to spacing in comments
2022-08-18 13:54:14 -07:00
RichardBarry
2808e48079
Fix compiler warning in MessageBufferDemo.c (#842)
* prvReceiverTask() in MessageBufferDemo.c declared a variable as a "MessageBufferHandle_t *" instead of just a "MessageBuffer_t".  This came to light when updating the kernel submodule pointer as the underlying datatype changed in the kernel from a void *.

* Remove additional line that was preventing automated uncrustify tests from passing.

Co-authored-by: none <>
2022-08-18 10:41:39 +05:30
alfred gedeon
1ac492d6aa
Kernel timers.c tasks.c Unit Test (#539)
* Test: add multi config ability to build system

* Remove Tests that are not implemented yet from the makefile

* Fix header check

* Test: Unit Test tasks.c

* UnitTest: tasks.c Save progress

* saving some work 70% coverage

* coverage 77%

* tasks.c coverage 90%

* tasks.c coverage 95%

* Cleanup and common header

* Cover some extra branches, no_mutex +stack growth

* Fix Makefile not to use modified version of c-preprocessor

* Remove c-preprocessor errros

* Rebase and add some tests

* Fortify_source=1 and O0 are mutually exclusive

* Style: Uncrustify code

* Style: Fix indent

* Fix Header checks

* Add prototypes

* Build: use unifdef instead of the c-preprocessor to generate different configurations

* Build: fix makefile cflags

* Fix UT after upgrading kernel version

* Resolve conflicts and test failures

* Comment fix version number

* Fix build error

* Update FreeRTOS/Test/CMock/Makefile

Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>

Co-authored-by: Aniruddha Kanhere <60444055+AniruddhaKanhere@users.noreply.github.com>
2022-08-16 14:38:26 -07:00
Ravishankar Bhagavandas
c00078e729
Upgrade kernel submodule version (#840) 2022-08-10 15:40:46 -07:00
e14002270
cee9d5c560
Fix qemu riscv build error and miss debug info in assembly code (#838)
1. add INCLUDE_xTaskGetCurrentTaskHandle for stream_buffer use
2. LDFLAGS add arch and abi info for linker
        for riscv64-unknown-elf multilib, if there is no arch and abi
        info, will link to default lib and have below error
        target emulation `elf32-littleriscv' does not match `elf64-littleriscv'
3. use CFLAGS to replace ASFLAGS when compile assembly code
        because DEBUG flag is added in CFLAGS, if we use ASFLAGS to compile
        assembly code, there is no debug info in assembly code objfile

Signed-off-by: Eric Chan <e14002270@gmail.com>
2022-08-10 15:04:36 +05:30
Paul Bartell
55d0ab4bfe Fix queue/static config for upstream changes 2022-08-09 15:47:46 -07:00
Gaurav-Aggarwal-AWS
5890286b30
Fix incorrect relative paths in Cmake files (#837)
This was reported here - https://github.com/FreeRTOS/FreeRTOS/issues/812

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-08-08 21:22:35 +05:30
Ravishankar Bhagavandas
9058c39aed
Add unit tests for stream buffer callback overrides (#832)
* Add tests for streambuffer callback

* Add concurrent readers writers test

* Update manifest
2022-07-29 13:16:52 -07:00
Angelo Nakos
8e881fe73c
Remove litani submodule and update README to include a section on CBMC (#829)
* Remove Litani submodule

* Update README to include section on CBMC

* Update litani references in Python run script
2022-07-25 13:52:10 -07:00
alfred gedeon
cfb32b4f62
Demo: CORTEX M3 MPU MPS2 with QEMU (#813)
* Demo: CORTEX M3 MPU MPS2 with QEMU

* Fix headers

* Update Makefile

Update makefile to point to current directory

* Update Makefile

* Update mps2_m3.ld

* Fix PR comments

* Fix PR Comments

* Fix config value
2022-06-23 11:04:51 -07:00
Gaurav-Aggarwal-AWS
c472c08d3d
Define INCLUDE_xTaskGetCurrentTaskHandle in FreeRTOSConfig.h (#822)
* Define INCLUDE_xTaskGetCurrentTaskHandle in FreeRTOSConfig.h

This is needed to fix build issues in https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/507

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

* Fix header check

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-06-21 22:45:26 +05:30
gilbefan
3a5a8e14fc
VSCode launch configurations (#820)
* CORTEX_MPS2_QEMU_IAR_GCC now has VSCode tasks and launch configurations to build, run, and debug in one button. This should work on all platforms (Linux, MacOS, Windows).

* Posix_GCC Demo now has VSCode task and launch configs to build, run, debug in one button for Linux/MacOS ("lldb Launch").

It also has configuration for Windows through Ubuntu ("gdb launch"), and this will also work for Linux if the user wants to use gdb instead of lldb.

* Integrated terminal settings for Ubuntu and MSYS2 ways to run Posix Demo on Windows.

This allows Posix port demo to be built on either WSL/Ubuntu or MSYS2 on Windows.

These are absolute paths so if the user has installed Ubuntu or MSYS2 elsewhere they will need to change them.

* Improved pattern matching in Run QEMU task. Replaced usage of deprecated ${workspaceRoot} with ${workspaceFolder}.

* Split MSYS2 and Ubuntu WSL configurations

MSYS2 works better with external console, and Ubuntu WSL works with internal console. This is reflected by having two different configurations.

* Delete RTOSDemo.map

Cleanup. (This is file is built but never deleted when make-ing)

* Delete null.d

* Cleanup extranneous vscode workspace

* Documentation for VSCode launch configs

Documentation for how to run this demo on VSCode using launch configs.

* Added documentation for VSCode launch configs

Added documentation for running demo through VSCode using launch configurations.

* Removed unneeded .log files and c_cpp_properties.json in CORTEX_MPS2_QEMU_IAR_GCC/.vscode/

* Deleted unnecessary .log files from POSIX_GCC/.vscode

* Set build task problem matcher to "gcc", deault problem matcher from VSCode.

* Removed unneeded "sh -c -l" command from the default build task in CORTEX_MPS2_QEMU_IAR_GCC.

* "Build QEMU" task problem matcher finds the correct paths to problem files.

* Moved steps to "Prerequisites" section.

* Update Readme.md

Fixed markdown typo.

* Moved items to prerequisites for Posix_GCC demo.

Co-authored-by: Fan <gilbefan@f84d899204e1.ant.amazon.com>
2022-06-07 21:21:52 -07:00
Gaurav-Aggarwal-AWS
f62d4ecd69
Fix build failures in Nuvoton M2351 projects (#818)
* Fix build failures in Nuvoton M2351 projects

These are needed because of recent changes in the port

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-06-02 22:32:59 +05:30
Gaurav-Aggarwal-AWS
ad88de61d0
Add a demo project for NUCLEO-L010RB board (#808)
* Add a demo project for NUCLEO-L010RB board

The board contains a Cortex-M0+ core.

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

* Fix header check

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

* Fix header check

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-04-08 11:14:17 -07:00
RichardBarry
da3a1371db
Fix mpu simulator demo (#805)
* All for the Demo/Cortex_MPU_Simulator_Keil_GCC GCC demo:
+ Update the linker script so the project builds now the heap is part of the privileged data.
+ Add simulator.ini to setup the simulator memory map when the debugger starts to prevent invalid access errors.
+ Set configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY to 1 in FreeRTOSConfig.h, then fix up resultant build errors.
+ Set configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS to 0 in FreeRTOSConfig.h, then fix up resultant build errors.

* Fix compiler warning in Arm startup file.

* Update comments in the file headers to pass the git checkin tests.

* Update header comments to pass git checkin tests.

* Second attempt to get file header comments correct for the check-in tests.

* Third attempt to get the header comments correct.

* Fix spelling.

* Fix manifest check

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

Co-authored-by: none <>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-04-05 10:09:56 +05:30
Felipe Torrezan
fc9396f576
Migrated RL78/IAR port to EWRL78v3+ (#799) 2022-03-24 09:59:45 -07:00
RichardBarry
1509e4f742
Add a hardware definition project for the MicroZed board (#607)
Add a hardware definition project for the MicroZed board to the existing Zynq ZC702 project.
Add a text file that describes how to switch the Zynq project form the ZC702 hardware to the MicroZed hardware.
2022-03-21 15:21:59 -07:00
RichardBarry
92b26dbf99
Update win32 demo to exercise configRUN_TIME_COUNTER_TYPE (#623)
* PR https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/350 introduced configRUN_TIME_COUNTER_TYPE and ulTaskGetIdleRunTimePercent().  This PR updates the Win32 demo to exercise both additions with configRUN_TIME_COUNTER_TYPE set to uint64_t.

* Add ultaskgetidleruntimepercent to lexicon.txt.

Co-authored-by: Cobus van Eeden <35851496+cobusve@users.noreply.github.com>
2022-03-18 10:31:59 -07:00
Gaurav-Aggarwal-AWS
c984275953
Update the SiFive HiFive IAR project (#804)
Update the SiFive HiFive IAR project

1. Update to the latest toolchain.
2. Add the prints needed by CI.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-03-11 16:26:31 -08:00
Aniruddha Kanhere
9b7911b046
Update readme file with latest instructions to run CBMC proofs (#801)
* Update readme

* Address comments

* Update instructions according to comments

* Remove windows based instructions

* Add details for CBMC-viewer
2022-03-03 11:50:35 -08:00
Gaurav-Aggarwal-AWS
19b2ed4bf6
Update submodule pointers of third party demos (#798)
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-02-22 10:39:53 -08:00
Ming Yue
eadf6d4919
Update spike project ReadMe (#793)
* Update README.

* Update README and fix RV64 toolchain config.
2022-02-18 00:50:40 -08:00
Ming Yue
13ece80ea4
Update vega project to use the latest RISC-V port (#788)
Update vega board project to support the new RISC-V port
2022-02-17 11:23:30 -08:00
林振凱
9abd84992b
Set the mtvec register in the Spike demonstraction (#794)
* Set the mtvec register to freertos_risc_v_trap_handler
2022-02-17 11:01:50 -08:00
Ming Yue
cc8c0266a8
Update polarfire project to latest RISC-V port with vector mode support (#791)
* Update PolarFire Project to support vector mode.l

* Update vector alignments.

* Update file headers.

* Code review changes

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

Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-02-17 11:00:31 -08:00
Gaurav-Aggarwal-AWS
449c7b29ca
Demo projects for nRF9160-DK (#784)
* Add demo projects for nRF9160-DK

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-02-09 13:43:26 -08:00
Gaurav-Aggarwal-AWS
4255ac5c28
Update SiFive FreedomStudio project (#785)
SiFive FreedomStudio project changes needed for refactored code

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-02-08 14:10:28 -08:00
Ming Yue
673d3d7eea
Update GCC RISC-V QEMU project to support new RISC-V port and vector mode (#780) 2022-02-08 13:58:34 -08:00
swaldhoer
2b956b97c7
Update uncrustify configuration and improve CI setup (see FreeRTOS/FreeRTOS-Kernel/pull/445) (#782)
* pin uncrustify version and update configuration file

* Update AbortDelay.c

* Update BlockQ.c

* Update MessageBufferDemo.c

* Update QPeek.c

* Update StaticAllocation.c

* Update integer.c

* Update recmutex.c

* Update create.c

* Update prvCopyDataToQueue.c

* Update prvUnlockQueue.c

* Update vQueueDelete.c

* Update xQueueGenericSend.c

* Update xQueueGenericSendFromISR.c

* Update xQueuePeek.c

* Update xQueueReceive.c

* Update IntSemTest.c

* Update dynamic.c

* Update lexicon.txt

Co-authored-by: alfred gedeon <28123637+alfred2g@users.noreply.github.com>
2022-02-04 13:37:42 -08:00
Ming Yue
fea193d03c
Update Kernel Pointer. (#779)
* Update Kernel Pointer.

* Update manifest.yml.
2022-02-01 11:33:29 -08:00
RichardBarry
4629138a42
Extend qemu virt riscv demo (#774)
* Simple blinky demo working.  Not tried full demo yet.

* Get the full demo running.

* Add Eclipse project to build the RISC-V_RV32_QEMU_VIRT_GCC gcc makefile.

* Add regtest tasks to the RISC-V_RV32_QEMU_VIRT_GCC demo.

* Update priority of the timer task.

* Adjust timer frequency and optimisation level before committing prior to rearranging the Eclipse project.

* Reorganise Eclipse project slightly.

* Add note to the RISC-V-Qemu-virt_GCC readme file about the updated version in RISC-V_RV32_QEMU_VIRT_GCC.

* Update headers in newly added source files so they pass the automated header check.

* Update lexicon to pass automated spell check.

Co-authored-by: none <>
2022-01-26 17:55:06 -08:00
Oscar Shiang
0744c28749
RISC-V-Qemu-virt: Add assert macros in FreeRTOSConfig (#777)
vAssertCalled() is already defined in main.c. We need to set the
related macros in FreeRTOSConfig header as well, or the boundary
checking through assert could not be executed
2022-01-18 11:28:57 -08:00
Ming Yue
778ba90b96
GCC/Rx100 Demo project files update to e2 Studio v8 (#776)
* Upgrade GCC project files for e2 studio v7.8.0 in Demo/RX100-RSK_GCC_e2studio folder

* Update Demo project file to e2 Studio v8 and remove the .bat file.

* Update the choice of toolchain version.

* Update the link in file header.

Co-authored-by: NoMaY (a user of Japan.RenesasRulz.com) <NoMaY-jp@outlook.com>
2022-01-13 10:30:34 -08:00
Gaurav-Aggarwal-AWS
d6a415da70
Update FreeRTOS-Kernel submodule pointer (#771)
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-01-06 17:53:35 -08:00
Gaurav-Aggarwal-AWS
2f5a633383
Add tests to increase queue code coverage (#770)
These tests cover the following portion in the queue code:

static void prvUnlockQueue( Queue_t * const pxQueue )
{
    ...

    if( prvNotifyQueueSetContainer( pxQueue ) != pdFALSE )
    {
        /* The queue is a member of a queue set, and posting to
            * the queue set caused a higher priority task to unblock.
            * A context switch is required. */
        vTaskMissedYield();
    }
    else
    {
        mtCOVERAGE_TEST_MARKER();
    }

    ...
}

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-01-05 21:05:11 -08:00
Gaurav-Aggarwal-AWS
89938537bc
Add tests to cover https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/435 (#768)
Add tests to cover https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/435

This ensures that the coverage does not go down with the PR
https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/435.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-01-05 11:53:53 -08:00
Gaurav-Aggarwal-AWS
26dcb22052
Fix tests needed for https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/435 (#766)
* Fix tests needed for https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/435

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2022-01-04 16:14:54 -08:00
Joseph Julicher
598508a10b
added configUSE_TICKLESS_IDLE (#764) 2022-01-04 15:55:12 -07:00
Joseph Julicher
626b54819b
fix minor spelling issue by removing contraction (#763) 2021-12-28 14:00:26 -07:00
RichardBarry
a7507b082e
Correct the version in the header comments. (#760)
Co-authored-by: none <>
2021-12-23 15:28:02 -08:00
RichardBarry
4d9755d00e
Create Zynq demo using the latest Vitis tools (#746)
* Add hello world project for Vitis.

* Working hello world program.

* Remove the call to ps7_init().

* Demo moved from the XSDK project to Vitis is now compiling - not tried running yet though.

* Blink is printing out in blinky demo.

* Adjust the priorities of the demo tasks to enable them to run at once.
Update blocktim.c so it stores the line on which an error was detected in the error occurred variable rather than just setting the variable to true.

* Add launch configuration file.
Remove unused definitions from FreeRTOSConfig.h.
Edit the comments that describe what the demo does.

* Revert changes to blocktim.c, which should have been in a separate PR.

* Correct header comments in new files.

* Update headers for core checks.

* Third attempt at getting headers through the commit checks - copy headers from other files is not enough.

* Still trying to get core checks to pass.

* Update lexicon.txt

* Correct spelling in Cortex-A9 QEMU main.c.

Co-authored-by: none <>
2021-12-23 14:43:41 -08:00
johnrhen
43defa566c
Apply release changes to main branch (#759)
* Update History.txt and README.md for December release (#744)

* Update History.txt and README.md for release

* Bump mbedtls submodule to v2.28.0 (#745)

* Patch project files for mbedtls (#751)

* Apply group 1 patches

* Apply patches for group 2

* Update project files for mbedTLS new version

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

* Fix warnings in projects

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

* Fix warnings in HTTP_S3_Download demo

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

Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>

* Update changelog and history for corePKCS11 update (#752)

* Update submodule pointer and manifest.yml for corePKCS11 (#754)

* Update readme and history.txt to show that Sigv4 is a newly added library (#756)

* Revert update to v143 of VS toolset (#757)

* [AUTO][RELEASE]: Bump file header version to "202112.00"

* Update file headers to satisfy core checks

Co-authored-by: Muneeb Ahmed <54290492+muneebahmed10@users.noreply.github.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: johnrhen <johnrhen@users.noreply.github.com>
2021-12-23 10:16:27 -08:00
RichardBarry
4f71a94a70
Correct include path in the MPS2 QEMU IAR project. (#748)
Co-authored-by: none <>
2021-12-19 20:27:29 -08:00
RichardBarry
dc263aa3a2
Add a GCC build to the QEMU/IAR project (#728)
* Rename the CORTEX_MPS2_QEMU_IAR directory to CORTEX_MPS2_QEMU_IAR_GCC

* Add makefile and startup.c.

* GCC build is working, but not yet running.

* Add eclipse project.

* Tidy up the linker file.
Add the debug launch file to the file system.

* Add printf-stdarg.c to the GCC build.

* Increase heap size for the GCC build.

* Copy IAR project files into a dedicated IAR build directory.

* Delete the IAR project from its original location now it is in its own build directory.

* Update headers to correct version number.

* Update lexicon.txt.

* Update core_checker.py.

* Change line endings in lexicon.txt.

* Increase the stack size of the task that prints out strings.

* Update linker script to build with older ld versions.

* Add links to the online documentation page for this demo.

* Fix line endings

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

* Remove linker and project files from header check

Eclipse project files have names .project and .cproject. Python splitext
will treat these as file names and not as extension and as a result, it
is not enough to just add these to ignored extension list. Instead, we
need to add them to ignored files list.

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

* Remove startup files from header check

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

Co-authored-by: RichardBarry <richardbarry.c@gmail.com>
Co-authored-by: none <>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2021-12-18 15:11:29 -08:00
Mark Tuttle
21f2799392
Always prepare source tree for cbmc proofs (#743)
Co-authored-by: Mark R. Tuttle <mrtuttle@amazon.com>
2021-12-17 10:59:10 -08:00
Joseph Julicher
1102a0df4e
Cortex M3 QEMU demo now builds with -Wall -Wextra (#727)
* Added -Wall -Wextra to the Coretex M3 QEMU demo

* Fixed warnings & errors in Cortex M3 QEMU demo

* Fixed the FULL demo to compile with full errors.

* Update FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC/init/startup.c

Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>

* Applied the ( void ) r0 pattern to prvGetRegisterFromStack

Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2021-12-08 14:27:48 -07:00
Mark Tuttle
eb9caf9d98
Advance litani submodule for CBMC proofs (#725)
Co-authored-by: Mark R. Tuttle <mrtuttle@amazon.com>
2021-12-06 17:42:13 -07:00