bleSDK_expansion_board/modules/src/debug.c

77 lines
1.7 KiB
C
Raw Normal View History

/**
****************************************************************************************
*
* @file debug.c
*
* @brief Debug Interface of Application
*
****************************************************************************************
*/
#include "dbg.h"
#if (DBG_MODE == DBG_VIA_UART)
#include "uart.h"
#if !defined(DBG_UART_BAUD)
#if (SYS_CLK == 1)
#define DBG_UART_BAUD BRR_DIV(115200, 32M)
#elif (SYS_CLK == 2)
#define DBG_UART_BAUD BRR_DIV(115200, 48M)
#elif (SYS_CLK == 3)
#define DBG_UART_BAUD BRR_DIV(115200, 64M)
#else
#define DBG_UART_BAUD (BRR_115200)
#endif //SYS_CLK
#endif
#if !defined(DBG_UART_PORT)
#define DBG_UART_PORT (0) //UART1
#endif
#if !defined(DBG_UART_TXD)
#define DBG_UART_TXD (6) //PA06
#endif
#if !defined(DBG_UART_RXD)
#define DBG_UART_RXD (7) //PA07
#endif
#if !defined(DBG_HARDFAULT)
#define DBG_HARDFAULT (0)
#endif
// mdk(__CC_ARM) & iar(__ICCARM__)
#if defined ( __CC_ARM ) || defined ( __ICCARM__ )
int fputc(int ch, FILE *f) {
// Remap printf(...) to UART
uart_putc(DBG_UART_PORT, ch);
return ch;
}
#else
// gcc(__GNUC__)
int _write (int fd, char *ptr, int len)
{
for( int i = 0; i < len; i++)
{
uart_putc(DBG_UART_PORT, ptr[i]);
}
return len;
}
#endif
void dbgInit(void)
{
uart_init(DBG_UART_PORT, DBG_UART_TXD, DBG_UART_RXD);
uart_conf(DBG_UART_PORT, DBG_UART_BAUD, LCR_BITS_DFLT);
#if (DBG_UART_RXEN)
uart_fctl(DBG_UART_PORT, FCR_FIFOEN_BIT | FCR_RXTL_8BYTE, 20, UART_IR_RXRD_BIT | UART_IR_RTO_BIT);
#endif
#if (DBG_HARDFAULT)
trace_init();
#endif
}
#endif // (DBG_VIA_UART)