Repository navigation
Conversation
- Decouple TX_SAFETY_CRITICAL into granular TX_SAFETY_CRITICAL_BUILD_CHECK and TX_SAFETY_CRITICAL_EXCEPTION_ENABLE, retaining TX_SAFETY_CRITICAL as a backward-compatible umbrella macro. - Remove prohibitions on TX_ENABLE_STACK_CHECKING, TX_DISABLE_NOTIFY_CALLBACKS, and TX_ENABLE_EVENT_TRACE to align with certified profiles and safety manual. - Add TX_PARAMETER_NOT_USED to default TX_SAFETY_CRITICAL_EXCEPTION_HANDLER to prevent -Werror=unused-parameter compilation failures. - Update runtime trap call sites across common, common_smp, and all module ports. - Add regression test cases for both single-core and SMP test suites. Fixes eclipse-threadx#795 Signed-off-by: Dev10-sys <kalpanagola9897@gmail.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR resolves #795 by decoupling build-time configuration checks from runtime exception handling.
TX_SAFETY_CRITICALhas been split intoTX_SAFETY_CRITICAL_BUILD_CHECKandTX_SAFETY_CRITICAL_EXCEPTION_ENABLE, while keepingTX_SAFETY_CRITICALas an umbrella macro so existing setups continue to work without changes.Previously, enabling safety-critical checks caused build failures with certified profiles because features like
TX_ENABLE_STACK_CHECKINGwere blocked by #error guards, even though stack checking is necessary in safety-critical applications. In addition, the default exception handler had unused parameters that failed on modern compilers with-Werror=unused-parameter.To fix this, I removed the restrictions on stack checking, notify callbacks, and event tracing from the build check, added
TX_PARAMETER_NOT_USEDto the default exception handler, and updated all exception trap sites across common, SMP, and module ports. I also added regression tests for both single-core and SMP to verify build-time checks, clean compilation, and exception dispatch.Fixes #795
Signed-off-by: Dev10-sys kalpanagola9897@gmail.com