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>
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>
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>
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.
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)
This PR updates FreeRTOS-Plus-Trace to a submodule pointer and
updates the relevant project files. Percepio recommends to use
streaming to ring buffer on a 64-bit system instead of snapshot
and therefore, POSIX demo is updated to use streaming to ring
buffer.
Enable Werror for Posix Demo Coverage Test target
Werror cannot be enabled for the non coverage test because tracelyzer
code generates warnings in that target.
Also add "Build Posix_GCC Demo for Coverage Test" in the PR checks to
catch warnings from kernel code in PR checks.
Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
* test full demo
* Revert "test full demo"
This reverts commit 09efa00ec0a3f021f190112fa11bc0f4c6c058bb.
revert back to origin
* pre-define user demo to blinky demo
* pre-define user demo to blinky demo with -j
* test run win32-msvc demo
* test run win32-msvc demo
* test run win32-msvc demo
* update git workflow to run WIN32-MSVC demo
* update git workflow to run WIN32-MSVC demo
* update git workflow to run WIN32-MSVC demo
* update git workflow to run WIN32-MSVC demo
* update git workflow to run WIN32-MSVC demo
* update git workflow to run WIN32-MSVC demo
* update git workflow to run WIN32-MSVC demo
* update trigger action
* build and run WIN32-MSVC blinky demo
* build and run WIN32-MSVC blinky demo
* build and run WIN32-MSVC blinky demo
* update WIN32-MSVC workflow
* update WIN32-MSVC Demo main.c file to remove buffer
* Update main.c files to remove buffer when running executable_monitor file for Git Action
* update formatting for WIN32-MSVC demos
* update formatting for Posix demo
* update comment for setvbuf function used in main.c
* add git build and run action for WIN32-MingW Full and Blinky demos; update main.c file to set buffer size as 0
* add git build and run action for WIN32-MingW Full and Blinky demos; update main.c file to set buffer size as 0
* remove whitespace for freertos_demos.yml file
* add function to Force stdout to write immediately by setting the buffer size for it to 0 in demo main.c file when running git Run Action; Correct formatting error for WIN32-MingW main.c file
* add function to Force stdout to write immediately by setting the buffer size for it to 0 in demo main.c file when running git Run Action
* update git run action commands for Posix_GCC demo
* update git run action commands for Posix_GCC demo
* update git run action commands for Posix_GCC demo
* reduce timeout and correct formatting issue
* reduce timeout
---------
Co-authored-by: Xiaodong Li <xiaodonn@amazon.com>
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>
* 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>
* 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>
* Added spell check
* All words
* Add a missing word
* Fix header checks
* Fix header checks v1
* Fix header check v2
* Updated freertos link in header
* Fixed afr link in the header
* Fix last of header checks
* Update the spell check script to check amazon licensed files only
* Fixed paths and added comments
* Try with modified repo
* Add inplace substitute option to sed
* Use official repo as the spell checker source
* Add vendor file to the ignored list
Co-authored-by: root <root@ip-172-31-5-28.us-west-2.compute.internal>
* Add Posix build checker to git actions
* fix checker path
* Fix script, checkout recursively
* fix build check script return value
* clone submodules as well with posix checker
* Add quotes to true for submodules
* Fix Submodules
* Remove pcap dependency from Makefile
* install libpcap for build check
* Add networking build to posix
* Separate network build from normal build
* add libpcap after building normal posix
As suggested, because logging_stack.h and logging_levels.h are used not only by demos but also by platform-specific transport code, it would make sense to move FreeRTOS-Plus/Demos/Common/Logging to FreeRTOS-Plus/Source/Logging. The same is done for demo_logging.c and demo_logging.h, which are duplicated by several demos. Win32.vcxproj project files are also updated to follow suite.