chore: migrate project into clean repository

This commit is contained in:
yuuux
2026-08-13 16:50:52 +08:00
commit d1d25a09e7
27405 changed files with 9422808 additions and 0 deletions

View File

@@ -0,0 +1,76 @@
/**
****************************************************************************************
*
* @file rtos_trace.h
*
* @brief Declaration of FreeRTOS trace function.
*
* Copyright (C) ListenAI 2024-2025
*
****************************************************************************************
*/
#ifndef RTOS_TRACE_H_
#define RTOS_TRACE_H_
//#include "rwnx_config.h"
//#include "dbg.h"
#define NX_FULLY_HOSTED 1
#ifdef SYS_TRACE
#define NX_TRACE 1
#endif
//#define RTOS_TASK_DEF
#if NX_FULLY_HOSTED
enum {
RTOS_TRACE_SWITCH_IN = 1,
RTOS_TRACE_SWITCH_OUT,
RTOS_TRACE_CREATE,
RTOS_TRACE_DELETE,
RTOS_TRACE_SUSPEND,
RTOS_TRACE_RESUME,
RTOS_TRACE_RESUME_FROM_ISR,
RTOS_TRACE_ALLOC,
RTOS_TRACE_FREE,
};
#ifndef CFG_BUILD_FW
#ifdef RTOS_TASK_DEF
#define PROF_RTOS_TASK_SET(taskid) \
{ \
uint32_t prof = nxmac_sw_profiling_get() & ~(0xF << RTOS_TASK); \
nxmac_sw_profiling_set(prof | (((taskid) & 0xF) << RTOS_TASK)); \
}
#else
#define PROF_RTOS_TASK_SET(taskid)
#endif
#endif
#if ( configUSE_TRACE_FACILITY == 1 )
#define traceTASK_SWITCHED_IN() \
{ \
PROF_RTOS_TASK_SET(uxTaskGetTaskNumber(xTaskGetCurrentTaskHandle())); \
rtos_trace_task(RTOS_TRACE_SWITCH_IN, xTaskGetCurrentTaskHandle()); \
}
#else
#define traceTASK_SWITCHED_IN() rtos_trace_task(RTOS_TRACE_SWITCH_IN, xTaskGetCurrentTaskHandle())
#endif // ( configUSE_TRACE_FACILITY == 1 )
#define traceTASK_SWITCHED_OUT() rtos_trace_task(RTOS_TRACE_SWITCH_OUT, xTaskGetCurrentTaskHandle())
#define traceTASK_DELETE(pxTask) rtos_trace_task(RTOS_TRACE_DELETE, pxTask)
#define traceTASK_SUSPEND(pxTask) rtos_trace_task(RTOS_TRACE_SUSPEND, pxTask)
#define traceTASK_RESUME(pxTask) rtos_trace_task(RTOS_TRACE_RESUME, pxTask)
#define traceTASK_RESUME_FROM_ISR(pxTask) rtos_trace_task(RTOS_TRACE_RESUME_FROM_ISR, pxTask)
#define traceTASK_CREATE(pxTask) rtos_trace_task(RTOS_TRACE_CREATE, pxTask)
// Set to 1 to trace all alloc
// Set to 0 to only trace failed allocation
#define RTOS_MALLOC_TRACE_LEVEL 1
#define traceMALLOC(ptr, size) rtos_trace_mem(RTOS_TRACE_ALLOC, ptr, size, xPortGetFreeHeapSize())
#define traceFREE(ptr, size) rtos_trace_mem(RTOS_TRACE_FREE, ptr, size, xPortGetFreeHeapSize())
void rtos_trace_task(int id, void *task);
void rtos_trace_mem(int id, void *ptr, int size, int free_size);
#endif /* NX_FULLY_HOSTED */
#endif /* RTOS_TRACE_H_*/