trcDependency.c 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * Trace Recorder for Tracealyzer v4.9.2
  3. * Copyright 2023 Percepio AB
  4. * www.percepio.com
  5. *
  6. * SPDX-License-Identifier: Apache-2.0
  7. *
  8. * The implementation of dependencies.
  9. */
  10. #include <trcRecorder.h>
  11. #if (TRC_USE_TRACEALYZER_RECORDER == 1) && (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
  12. #define TRC_DEPENDENCY_STATE_INDEX_TYPE 0UL
  13. /*cstat !MISRAC2004-6.3 !MISRAC2012-Dir-4.6_a Suppress basic char type usage*/
  14. traceResult xTraceDependencyRegister(const char* szName, TraceUnsignedBaseType_t uxDependencyType)
  15. {
  16. TraceObjectHandle_t xObjectHandle;
  17. TraceUnsignedBaseType_t auxStates[TRC_ENTRY_TABLE_STATE_COUNT] = { 0UL };
  18. /* This should never fail */
  19. TRC_ASSERT(xTraceIsComponentInitialized(TRC_RECORDER_COMPONENT_CORE));
  20. /* This should never fail */
  21. TRC_ASSERT(szName != (void*)0);
  22. /* This should never fail */
  23. TRC_ASSERT(szName[0] != (char)0); /*cstat !MISRAC2004-17.4_b Checking first character*/ /*cstat !MISRAC2004-6.3 !MISRAC2012-Dir-4.6_a Suppress basic char type usage*/
  24. switch (uxDependencyType)
  25. {
  26. case TRC_DEPENDENCY_TYPE_ELF:
  27. auxStates[TRC_DEPENDENCY_STATE_INDEX_TYPE] = uxDependencyType;
  28. break;
  29. default:
  30. return TRC_FAIL;
  31. }
  32. return xTraceObjectRegisterInternal(PSF_EVENT_DEPENDENCY_REGISTER, (void*)0, szName, 1u, auxStates, TRC_ENTRY_OPTION_DEPENDENCY, &xObjectHandle);
  33. }
  34. #endif