134 lines
3.2 KiB
C
134 lines
3.2 KiB
C
/**
|
|
* @file wm_debug.h
|
|
*
|
|
* @brief debug Module APIs
|
|
*
|
|
* @author dave
|
|
*
|
|
* Copyright (c) 2014 Winner Microelectronics Co., Ltd.
|
|
*/
|
|
#ifndef WM_DEBUG_H
|
|
#define WM_DEBUG_H
|
|
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include "wm_config.h"
|
|
#include "wm_osal.h"
|
|
|
|
/* 0x00000000 - 0x80000000 */
|
|
/** Define the debugging switch: on */
|
|
#define TLS_DBG_ON 1
|
|
/** Define the debugging switch: off */
|
|
#define TLS_DBG_OFF 0
|
|
|
|
#define TLS_DBG_SIMPLE 1
|
|
|
|
/* 0x0000000F - 0x00000001 */
|
|
/** Define the debugging level: info */
|
|
#define TLS_DBG_LEVEL_INFO TLS_DBG_ON
|
|
/** Define the debugging level: warning */
|
|
#define TLS_DBG_LEVEL_WARNING TLS_DBG_ON
|
|
/** Define the debugging level: error */
|
|
#define TLS_DBG_LEVEL_ERR TLS_DBG_ON
|
|
/** Define the debugging level: dump */
|
|
#define TLS_DBG_LEVEL_DUMP TLS_DBG_ON
|
|
|
|
/** general debug info switch, default: off */
|
|
#define TLS_GENERAL_DBG TLS_DBG_ON
|
|
|
|
#if TLS_DBG_SIMPLE
|
|
#define __TLS_DBGPRT_INFO(fmt, ...) printf(fmt, ##__VA_ARGS__)
|
|
#define __TLS_DBGPRT_WARNING(fmt, ...) printf(fmt, ##__VA_ARGS__)
|
|
#define __TLS_DBGPRT_ERR(fmt, ...) printf(fmt, ##__VA_ARGS__)
|
|
#else
|
|
#define __TLS_DBGPRT_INFO(fmt, ...) \
|
|
do { \
|
|
u32 time = tls_os_get_time(); \
|
|
printf("[WM_I] <%d.%02d> %s : "fmt, (time/100), (time%100), __func__ , ##__VA_ARGS__); \
|
|
} while (0)
|
|
|
|
#define __TLS_DBGPRT_WARNING(fmt, ...) \
|
|
do { \
|
|
u32 time = tls_os_get_time(); \
|
|
printf("[WM_W] <%d.%02d> %s : "fmt, (time/100), (time%100), __func__ , ##__VA_ARGS__); \
|
|
} while (0)
|
|
|
|
#define __TLS_DBGPRT_ERR(fmt, ...) \
|
|
do { \
|
|
u32 time = tls_os_get_time(); \
|
|
printf("[WM_E] <%d.%02d> %s : "fmt, (time/100), (time%100), __func__ , ##__VA_ARGS__); \
|
|
} while (0)
|
|
#endif
|
|
|
|
/**
|
|
* @defgroup System_APIs System APIs
|
|
* @brief System APIs
|
|
*/
|
|
|
|
/**
|
|
* @addtogroup System_APIs
|
|
* @{
|
|
*/
|
|
|
|
/**
|
|
* @defgroup DEBUG_APIs DEBUG APIs
|
|
* @brief DEBUG APIs
|
|
*/
|
|
|
|
/**
|
|
* @addtogroup DEBUG_APIs
|
|
* @{
|
|
*/
|
|
|
|
#if (TLS_GENERAL_DBG && TLS_DBG_LEVEL_INFO)
|
|
/** Print information of the info level */
|
|
#define TLS_DBGPRT_INFO(f, a...) __TLS_DBGPRT_INFO(f, ##a)
|
|
#else
|
|
/** Print information of the info level */
|
|
#define TLS_DBGPRT_INFO(f, a...)
|
|
#endif
|
|
|
|
#if (TLS_GENERAL_DBG && TLS_DBG_LEVEL_WARNING)
|
|
/** Print information of the warning level */
|
|
#define TLS_DBGPRT_WARNING(f, a...) __TLS_DBGPRT_WARNING(f, ##a)
|
|
#else
|
|
/** Print information of the warning level */
|
|
#define TLS_DBGPRT_WARNING(f, a...)
|
|
#endif
|
|
|
|
#if (TLS_GENERAL_DBG && TLS_DBG_LEVEL_ERR)
|
|
/** Print information of the error level */
|
|
#define TLS_DBGPRT_ERR(f, a...) __TLS_DBGPRT_ERR(f, ##a)
|
|
#else
|
|
/** Print information of the error level */
|
|
#define TLS_DBGPRT_ERR(f, a...)
|
|
#endif
|
|
|
|
#if (TLS_GENERAL_DBG && TLS_DBG_LEVEL_DUMP)
|
|
/**
|
|
* @brief dump memory
|
|
*
|
|
* @param[in] *p pointer the memory
|
|
* @param[in] len length of memory
|
|
*
|
|
* @return None
|
|
*
|
|
* @note None
|
|
*/
|
|
void TLS_DBGPRT_DUMP(char *p, u32 len);
|
|
#else
|
|
/** Print information of the dump level */
|
|
#define TLS_DBGPRT_DUMP(p, len)
|
|
#endif
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
/**
|
|
* @}
|
|
*/
|
|
|
|
#endif /* end of WM_DEBUG_H */
|
|
|