Commit Graph

3637 Commits (98c2b04bbc0eebcd9af22f991fa9f8b64de4b7e6)
 

Author SHA1 Message Date
Keith Packard 642c495fcb Demo/CORTEX_M3_MPS2_QEMU_GCC: Add TLS support to linker script
Allocate ROM for initialized thread local storage variables. Allocate
TLS offsets for all thread local storage variables.

Signed-off-by: Keith Packard <keithpac@amazon.com>
2 years ago
Keith Packard f807222c85 Demo/CORTEX_M3_MPS2_QEMU_GCC: Provide picolibc syscall implementation
Instead of a set of POSIX-compatible APIs as needed by newlib,
picolibc needs a FILE struct allocated that references a function to
output a single character. Picolibc also doesn't need sbrk as it has
its own version

Signed-off-by: Keith Packard <keithpac@amazon.com>
2 years ago
Keith Packard 0ecd0f5188 Demo/CORTEX_M3_MPS2_QEMU_GCC: Enable picolibc TLS when needed
When building with Picolibc that has TLS support, enable the relevant
FreeRTOS code.

Signed-off-by: Keith Packard <keithpac@amazon.com>
2 years ago
Keith Packard 0a1db4b00c Demo/CORTEX_M3_MPS2_QEMU_GCC: Fix use of -ffunction-sections -fdata-sections
For these options to be of any use, they must be passed to the
compiler when building object files and then the --gc-sections flag
must be passed to the linker.

Add -ffunction-sections -fdata-sections to CFLAGS and then add
-Wl,--gc-sections to LDFLAGS.

Signed-off-by: Keith Packard <keithpac@amazon.com>
2 years ago
Keith Packard 68ef270215 Demo/CORTEX_M3_MPS2_QEMU_GCC: Prepare startup.c for use with --gc-sections
Ensure that the handler2_address_const location will be correctly
aligned when compiled to a separate section.

Add the 'used' attribute to isr_vector to ensure it will not be elided
from the output.

Signed-off-by: Keith Packard <keithpac@amazon.com>
2 years ago
Gaurav-Aggarwal-AWS 89ccc1da50
Update multiple submodules (#981)
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2 years ago
Darian e7d31258f6
Add unit tests for GetStaticBuffer functions (#964)
Add unit tests for the various ...GetStaticBuffer() functions added in
https://github.com/FreeRTOS/FreeRTOS-Kernel/pull/641.
---------

Co-authored-by: Paul Bartell <pbartell@amazon.com>
2 years ago
Gaurav-Aggarwal-AWS c8c1c12765
Remove cast from configMINIMAL_STACK_SIZE (#971)
The configMINIMAL_STACK_SIZE was defined to PTHREAD_STACK_MIN with cast
to unsigned short. This cast cab be too restrictive and result in
truncation on some platforms. This commit removes this unnecessary cast.

Related issue - https://github.com/FreeRTOS/FreeRTOS/issues/967

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2 years ago
kar-rahul-aws 69904a7537
Update TCPEchoClient_SingleTasks.c (#968)
Bug fix for https://github.com/FreeRTOS/FreeRTOS/issues/967
2 years ago
kar-rahul-aws 4483c16bd5
Update Readme for the FreeRTOS_PLUS_TCP_ECHO_QEMU_msp2 (#939)
Update Readme for the FreeRTOS_PLUS_TCP_ECHO_QEMU_msp2

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2 years ago
kar-rahul-aws 25d9826eaf
Fix issues in TCP QEMU Demo (#948)
* Fix issues in TCP QEMU Demo

* set the Ethernet interrupt priority

* Include CMSIS header files to fix build issues

* 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>
2 years ago
Aniruddha Kanhere b06d170861
Make static IP address configurable (#947) 2 years ago
Gaurav-Aggarwal-AWS 3c09383fab
Fix CBMC proof failures (#946)
* Fix CBMC proof failures

These were introduced in PR #620.

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>
2 years ago
ActoryOu 67911f83a6
Create SMP on target test framework. (#911)
* Framework initialization.

* Move testRunner.c to test case subfolder.

* Update README doc and formatting.

* Add default configurations in test_config.h.

* Fix License & formatting check.

* Fix typo.

* Move setup/teardown functions to main.c file.

* Move setup/teardown functions back.

* Update README doc.

* Patch for comments.

* Correct test runner file name.

* Move test_config.h to the end of FreeRTOSConfig.h.

* Add undef in test_config.h and description in README doc.

* Correct the file format.

* Fix chinglee-iot comments.

* Code review suggestions

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>
2 years ago
Soren Ptak 93a35f87d2
Added two config options to the FreeRTOSConfig file to get the demo running again. Fixed a typo in a file. Added a section to the link file (#940)
Co-authored-by: Soren Ptak <skptak@amazon.com>
2 years ago
Kareem Khazem 408c3841ea
Add CBMC proof-running GitHub Action (#924)
This commit adds a GitHub Action that runs the CBMC proofs upon every
push and pull request. This is intended to replace the current CBMC CI.
2 years ago
Tony Josi 9fa0fb7f0d
update the freertos + TCP demos to use the neew API for getting the UDP pyaload buffer [FreeRTOS_GetUDPPayloadBuffer_ByIPType] (#938) 2 years ago
kar-rahul-aws 38d5e421eb
Changes in FreeRTOS+TCP demo application files to add compatibility for running EndPoint changes in the IPv4 stack. (#907)
* Update main.c

* Update main.c

* Update main.c

* Update main.c

* TCP/IP Demo Changes for Sock Addr Changes

* Update SimpleClientAndServer.c

* Update TwoEchoClients.c

* Update SimpleUDPClientAndServer.c

* Update main.c

* Update main_networking.c

* Update TwoEchoClients.c

* Update SimpleClientAndServer.c

* Update TwoEchoClients.c

* Update SimpleUDPClientAndServer.c

* Update main_networking.c

* Update main_networking.c

* Update main_networking.c

* Update main.c

* Update main_networking.c

* Update main_networking.c

* Update main.c

* Update main.c

* Update main.c

* Update main_networking.c

* Update main_networking.c

* Update plus_tcp_hooks_winsim.c

* Update plus_tcp_hooks_winsim.c

* Update main.c

* Update main.c

* Update main_networking.c

* Update main_networking.c

* Update plus_tcp_hooks_winsim.c

* Update lexicon.txt

* Update lexicon.txt

* Update lexicon.txt

* Fix core header check

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

* Update main_networking.c

* Update CLI-commands.c

* Update plus_tcp_hooks_winsim.c

* Code review suggestions

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

* Remove incorrect spelling from lexicon

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

* Fix Build issues in QEMU and UDP demo

* Lexicon spell check issue fix

* WinPcap Network Interface update

* Update Network_winPCap.c

* Adding declaration for pxMyInterface for EndPoint changed function in WinPCap.c

* Revert changes for WinPCap.c

* Update NetworkInterface_WinPCap.c

* Minor 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>
2 years ago
Aniruddha Kanhere cf603c60fa
Update PR template to include checkbox for Unit Test related changes (#925) 2 years ago
chinglee-iot c040a8d7e3
Cellular transport return socket closed when remote disconnected (#922)
* Update the return value if socket is closed by remote
2 years ago
Kody Stribrny 2f3e5235aa
Expand RV32E demo support, prevent 'ebreak' looping (#883)
* Expand RV32E demo support, prevent 'ebreak' looping

The RegTest tests are modified in the Qemu and HiFive demos
to support RV32E and its limited set of registers.

'ebreak' call looping is removed in RegTest. This produces
a lot of noise when debugging.

* Correct whitespace

* Remove 'ebreak' instruction calls

The ebreak instruction sets and exception
which leads to jumping around the binary. This
can make debugging difficult.

* Fix whitespace formatting
2 years ago
Kody Stribrny fe9322ca23
Remove commented signing cert constant (#917)
Removes the commented signing cert constant
variable from the PAL header file. The
correct location for this constant is the
aws_ota_codesigner_certificate.h file.
2 years ago
dependabot[bot] f2796758e8
Bump gitpython from 3.1.11 to 3.1.30 in /.github/scripts/common (#915)
Bumps [gitpython](https://github.com/gitpython-developers/GitPython) from 3.1.11 to 3.1.30.
- [Release notes](https://github.com/gitpython-developers/GitPython/releases)
- [Changelog](https://github.com/gitpython-developers/GitPython/blob/main/CHANGES)
- [Commits](https://github.com/gitpython-developers/GitPython/compare/3.1.11...3.1.30)

---
updated-dependencies:
- dependency-name: gitpython
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
Kareem Khazem c7b3124565
Use CBMC XML output to enable VSCode debugger (#912)
Prior to this commit, CBMC would emit logging information in plain text
format, which does not contain information required for the CBMC VSCode
debugger. This commit makes CBMC use XML instead of plain text.

Co-authored-by: Mark Tuttle <tuttle@acm.org>
2 years ago
chinglee-iot 2ec3cb5a0f
Update kernel submodule pointer for equal priority test cases (#909) 2 years ago
chinglee-iot 77712c6e53
Update unit test for equal priority task (#903)
Update the unit test for the following functions to verify that equal priority task won't be preempted
* vTaskResume
* xTaskResumeFromISR
* vTaskPrioritySet
* xTaskResumeAll

4 test cases are added to verify this scenario
* test_xTaskResumeAll_success_2_tasks_eq_prio_running_no_yield
* test_vTaskPrioritySet_success_eq_curr_prio_curr_tcb
* test_vTaskResume_success_eq_curr_prio_not_yield
* test_xTaskResumeFromISR_success_eq_curr_prio_suspended_task

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

Co-authored-by: Gaurav-Aggarwal-AWS <33462878+aggarg@users.noreply.github.com>
2 years ago
Paul Bartell 61fed35107 CI: add win32-mingw demo to GithubActions workflow 2 years ago
Paul Bartell c2cdc3cb36 Move FreeRTOS Demo build checks to their own workflow file 2 years ago
Paul Bartell 32a3f4e8a1 msp430_GCC: Update makefile for most recent mspgcc 2 years ago
Kody Stribrny e28f953025
Update AVR_Dx Atmel Demo (#902)
Updates the demo .cproj file to account for new
paths since 3P restructure. Also enables the xTaskGetCurrentTaskHandle
include which is needed for building.

Inspired by - https://forums.freertos.org/t/avr-gcc-warning-extra-tokens-at-end-of-undef-in-porthardware-h/16365/3
2 years ago
Gaurav-Aggarwal-AWS 1e8d541ed4
Fix stack smashing in POSIX Demo (#901)
The tracelyzer code was declaring a local stack variable of type
`uint32_t` and passing it as output parameter to a function which
expected `uint64_t` on a 64-bit platform. This resulted in 4 byte memory
corruption. The problem was that the function signature uses
`TraceUnsignedBaseType_t` type for the output parameter which gets
defined to `uint32_t` on a 32-bit platform and to `uint64_t` on a 64-bit
platform, while the local stack variable was declared as `uint32_t`.
This commit changes the type of local stack variable to
`TraceUnsignedBaseType_t` to match the function parameter type.

Tracelyzer creates a task internally stack size of which is controlled
using TRC_CFG_CTRL_TASK_STACK_SIZE. It was earlier defined to 1024.
The POSIX port requires the stack size to be minimum PTHREAD_STACK_MIN.
The commit updates the TRC_CFG_CTRL_TASK_STACK_SIZE to
PTHREAD_STACK_MIN.

The demo directory contained one extra trcConfig.h and
trcKernelPortConfig.h. This commit deletes those files.

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

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
2 years ago
jasonpcarroll 391c79958f [AUTO][RELEASE]: Bump submodules per manifest.yml for V202212.00 2 years ago
jasonpcarroll 6f7f9fd9ed [AUTO][RELEASE]: Bump file header version to "202212.00" 2 years ago
dependabot[bot] c9947d3adc
Bump certifi from 2020.12.5 to 2022.12.7 in /.github/scripts/common (#898)
Bumps [certifi](https://github.com/certifi/python-certifi) from 2020.12.5 to 2022.12.7.
- [Release notes](https://github.com/certifi/python-certifi/releases)
- [Commits](https://github.com/certifi/python-certifi/compare/2020.12.05...2022.12.07)

---
updated-dependencies:
- dependency-name: certifi
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2 years ago
jasonpcarroll a545cb2aee
Fix MingW RTOS demo. (#897)
* Fix MingW RTOS demo.

* Remove unnused variable.

* Fix header check.

* Remove tabs from source files.

* Fix spelling.

* Remove unneeded call to vTraceStop.

* Fix function.

* Fix code coverage project.

* Add Makefile to MinGW demo.

Co-authored-by: Jason Carroll <czjaso@amazon.com>
2 years ago
Soren Ptak 628f4216e5
Swapping from 202211.00 to 202212.00 (#900) 2 years ago
jasonpcarroll c8ac06424f
WIN32-MSVC Demo Re-work interrupt handling. (#899)
* Updated Cellular Interface to mainline.

* Re-work keyboard interrupt handling, cleanup deprecated calls to trace library.

* Update lexicon.txt

Co-authored-by: Jason Carroll <czjaso@amazon.com>
2 years ago
Paul Bartell b66a75936f mbedtls-pkcs11: Separate mbedtls rng pkcs11 callback into separate file 2 years ago
Paul Bartell 0ca1ec8861 Fix memory leak in transport_mbedtls_pkcs11.c 2 years ago
Soren Ptak 1fc1e01fb6
FreeRTOS Trace Fixes (#888)
* Updating the FreeRTOS/Demo/Posix_GCC Demo's Trace.dump file Creation
* Updating the FreeRTOS-Plus/Demo/FreeRTOS_Plus_TCP_Echo_Posix Demo's Trace.dump file Creation

Co-authored-by: Soren Ptak <skptak@amazon.com>
2 years ago
jasonpcarroll 228f76cbe3
Fix and improve WIN32-MSVC demo in FreeRTOS/Demo. (#891)
* Fix WIN32-MSVC demo in FreeRTOS/Demo.

* Add comments.

* Fix corechecks

* Re-work trace and keyboard input.

* Remove unneeded line from trcConfig.h

* Fix formatting in trcConfig.h

* Fix heap issues, add FreeRTOS task to simulate keyboard interrupts.

* Update comment on main_blinky.

* Fix spelling.

* Make keyboard input thread block on input.

* Set thread affinity of keyboard input thread to not run on the same core as FreeRTOS.

* Adjust heap regions and total heap size.

* Fix spelling.

Co-authored-by: Jason Carroll <czjaso@amazon.com>
2 years ago
alfred gedeon db1ac5f63f
Fix IAR GCC buid not to use trace (#895)
* Fix IAR GCC build for Qemu MPS2

* Add removed file

* set trace facility to none
2 years ago
alfred gedeon 101c263371
Fix: Build enable trace facility (#890)
* Fix IAR GCC build for Qemu MPS2

* Add removed file

* Add timer function for runtime stats

* Add lexicon entry
2 years ago
ActoryOu e85b49ad18
Add error handling on Socket_t in transport layer. (#887)
* Set tcpSocket to SOCKETS_INVALID_SOCKET when any error occurred in TLS_FreeRTOS_Connect.

* Initialize Socket_t to NULL.
2 years ago
jasonpcarroll e9bfcb8a08 [AUTO][RELEASE]: Bump submodules per manifest.yml for V202211.00 2 years ago
jasonpcarroll b9f2248c5b [AUTO][RELEASE]: Bump file header version to "202211.00" 2 years ago
jasonpcarroll b9acda9c91
Update manifest.yml (#886) 2 years ago
jasonpcarroll abd4107464 Add doxygen dependencies to github workflow for doxygen 1.9.2 2 years ago
jasonpcarroll 18a9410300 Update doxygen workflow to use doxygen 1.9.2 2 years ago
jasonpcarroll 1417eaecf9
Update documentation for 202211.00 release. (#881)
* Update documentation for 202211.00 release.

* Change link for LTS libraries.

Co-authored-by: Jason Carroll <czjaso@amazon.com>
2 years ago