mirror of
https://github.com/FreeRTOS/FreeRTOS.git
synced 2025-08-06 09:39:44 +08:00

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>
Trace Recorder source code for use with Percepio's Tracealyzer.
Read more at https://percepio.com/tracealyzer/ and https://percepio.com/gettingstarted.
Repository at https://github.com/percepio/TraceRecorderSource