debug.h 5.17 KB
#ifndef _DEBUG_H_
#define _DEBUG_H_

#include "app_gpio.h"
#include "hw_gpio.h"

#include "hw_uart.h"


#define DEBEG_PIN     GPIO0_09_INDEX
#define DEBEG_PIN2    GPIO_UNDEFINE_INDEX//GPIO0_10_INDEX//uart1 tx
#define DEBEG_PIN3    GPIO0_02_INDEX//GPIO0_11_INDEX//uart1 rx

//#define PC_DEBUG
#define _DEBUG


#ifdef PC_DEBUG

#ifdef _DEBUG

#define DBG_Assert(x)			debug_assert(x)
#define	DBG_assert(x)			//tools_debugAssert(x)
#define DBG_RMTAssert(x)		//debug_assert(x)
#define DBG_Printf				printf
#define DBG_ServoPrintf			printf
#define DBG_TPrintf				printf
#define DBG_NTCPrintf			//printf
#define DBG_USBHPrintf			printf
#define DBG_USBIRPPrintf		printf
#define DBG_OPTPrintf			//myprintf
#define DBG_KEYPrintf			printf
#define DBG_RMTPrintf			printf
#define DBG_TrayPrintf			printf
//#define HALT
//#define HALT2
#define	DBG_Puts                printf

#define DBG_Dev_Printf

#define	DBG_printf				//ramPrintf
#define	DBG_iprintf				//iramPrintf

#else

#define DBG_Assert(x)			//debug_assert(x)
#define	DBG_assert(x)			//tools_debugAssert(x)
#define DBG_RMTAssert(x)		//debug_assert(x)
#define DBG_Printf(...)			//myprintf
#define DBG_ServoPrintf(...)
#define DBG_TPrintf(...)
#define DBG_NTCPrintf(...)
#define DBG_USBHPrintf(...)
#define DBG_USBIRPPrintf(...)
#define DBG_OPTPrintf(...)
#define DBG_KEYPrintf(...)
#define DBG_RMTPrintf(...)
#define DBG_TrayPrintf(...)
//#define HALT
//#define HALT2
#define	DBG_Puts                //printf

#define	DBG_printf				//ramPrintf
#define	DBG_iprintf				//iramPrintf

#define DBG_Dev_Printf

#endif //_DEBUG

#else

int myprintf(const char *fmt1,...);
int myputs( const char *str );

int	myprintf_for_usbdev( const char *format, ... );

//jj+
int myiprintf(const char *fmt1,...);

#ifdef _DEBUG

#define DBG_Assert(x)           debug_assert(x)
#define	DBG_assert(x)           //tools_debugAssert(x)
#define DBG_RMTAssert(x)        //debug_assert(x)
#define DBG_FlashAssert(x)      debug_assert(x)
#define DBG_Printf              myprintf
#define BT_Printf               myprintf
#define	DBG_printf              myprintf
#define DBG_ServoPrintf         myprintf
#define DBG_FlashPrintf         myprintf
#define DBG_TPrintf             myprintf
#define DBG_NTCPrintf           //myprintf
#define DBG_USBHPrintf          myprintf
#define DBG_USBIRPPrintf        myprintf
#define DBG_OPTPrintf           //myprintf
#define DBG_KEYPrintf           myprintf
#define DBG_RMTPrintf           myprintf
#define DBG_TrayPrintf          myprintf
#define DBG_CodecPrintf         myprintf
#define DBG_NO_OS_Printf        myprintf//myprintf_no_os
#define DBG_ASFPrintf           DBG_Printf
#define	DBG_Puts                myputs
#define DBG_RMTPuts             myputs

#define DBG_USBDev_Printf  		myprintf_for_usbdev
#define DBG_iPrintf             myiprintf

#define	HALT
#define	HALT2

#define	DBG_iprintf             //iramPrintf

#define	DBG_PRINT_FATAL_ERR_LOCATION	myprintf("fatal error: %s(%d): %s\n\r", __FILE__, __LINE__, __FUNCTION__)

#else

#define DBG_Assert(x)           //debug_assert(x)
#define	DBG_assert(x)           //tools_debugAssert(x)
#define DBG_RMTAssert(x)        //debug_assert(x)
#define DBG_FlashAssert(x)
#define DBG_Printf(...)         //myprintf
#define DBG_ServoPrintf(...)
#define DBG_TPrintf(...)
#define DBG_NTCPrintf(...)
#define DBG_USBHPrintf(...)
#define DBG_USBIRPPrintf(...)
#define DBG_OPTPrintf(...)
#define DBG_KEYPrintf(...)
#define DBG_RMTPrintf(...)
#define DBG_TrayPrintf(...)
#define DBG_CodecPrintf(...)
#define DBG_ASFPrintf(...)
#define DBG_FlashPrintf(...)
#define	DBG_Puts

#define DBG_USBDev_Printf(...)

#define HALT
#define HALT2

#define	DBG_printf				//ramPrintf
#define	DBG_iprintf				//iramPrintf

#define	DBG_PRINT_FATAL_ERR_LOCATION		

#endif //_DEBUG

#endif //PC_DEBUG


#if 1
#define DBG_PIN_HIGH            app_gpio_output_level_set(DEBEG_PIN, GPIO_HIGH);
#define DBG_PIN_LOW           	app_gpio_output_level_set(DEBEG_PIN, GPIO_LOW);
#define DBG_PIN_HIGH2           app_gpio_output_level_set(DEBEG_PIN2, GPIO_HIGH);
#define DBG_PIN_LOW2           	app_gpio_output_level_set(DEBEG_PIN2, GPIO_LOW);
#define DBG_PIN_HIGH3           app_gpio_output_level_set(DEBEG_PIN3, GPIO_HIGH);
#define DBG_PIN_LOW3           	app_gpio_output_level_set(DEBEG_PIN3, GPIO_LOW);
#else

#if 0
#define DBG_PIN_HIGH            TX_DISABLE; \
								REG_GPIO1_DOUT |= (1<<10); \
								TX_RESTORE;

#define DBG_PIN_LOW           	TX_DISABLE; \
								REG_GPIO1_DOUT &= ~(1<<10); \
								TX_RESTORE;
#else
#define DBG_PIN_HIGH            REG_GPIO0_DOUT |= (1<<10)

#define DBG_PIN_LOW           	REG_GPIO0_DOUT &= ~(1<<10)
#endif

#endif


//#define timer_delayms(x)		delayms(x)
//#define timer_delayus(x)		delayus(x)
#define delayms(x)				timer_delayms(x)
#define delayus(x)				timer_delayus(x)

//#define ramPrintf_init()


//#define CFasm_memcpy    memcpy
//#define memcpy          CFasm_memcpy			


//#define EMBEDED_HW_I2C
#ifdef EMBEDED_HW_I2C
/*
#define I2C0_write				hw_i2c0_write
#define I2C0_write_sub			hw_i2c0_write_sub
#define I2C0_read				hw_i2c0_read
#define I2C0_read_sub			hw_i2c0_read_sub
*/
#endif


extern U32 SystemClock;

void debug_assert (BOOL cond);

void debug_pin_init(void);
void debug_pin(void);
void debug_pin_test(void);

void delay_loop(U32 count);

#endif //_DEBUG_H_