📄 alt_log_printf.h
字号:
#define ALT_LOG_WRITE_ON_FLAG_SETTING 0x0
#else /* default setting */
#define ALT_LOG_WRITE_ON_FLAG_SETTING 0x0
#endif
#endif /* ALT_LOG_WRITE_ON_FLAG_SETTING */
#ifndef ALT_LOG_JTAG_UART_ALARM_ON_FLAG_SETTING
#ifndef __ALTERA_AVALON_JTAG_UART
#define ALT_LOG_JTAG_UART_ALARM_ON_FLAG_SETTING 0x0
#elif ALT_LOG_FLAGS == 1
#define ALT_LOG_JTAG_UART_ALARM_ON_FLAG_SETTING 0x0
#elif ALT_LOG_FLAGS == 2
#define ALT_LOG_JTAG_UART_ALARM_ON_FLAG_SETTING 0x1
#elif ALT_LOG_FLAGS == 3
#define ALT_LOG_JTAG_UART_ALARM_ON_FLAG_SETTING 0x1
#elif ALT_LOG_FLAGS == -1 /* silent mode */
#define ALT_LOG_JTAG_UART_ALARM_ON_FLAG_SETTING 0x0
#else /* default setting */
#define ALT_LOG_JTAG_UART_ALARM_ON_FLAG_SETTING 0x0
#endif
#endif /* ALT_LOG_JTAG_UART_ALARM_ON_FLAG_SETTING */
#ifndef ALT_LOG_JTAG_UART_STARTUP_INFO_ON_FLAG_SETTING
#ifndef __ALTERA_AVALON_JTAG_UART
#define ALT_LOG_JTAG_UART_STARTUP_INFO_ON_FLAG_SETTING 0x0
#elif ALT_LOG_FLAGS == 1
#define ALT_LOG_JTAG_UART_STARTUP_INFO_ON_FLAG_SETTING 0x1
#elif ALT_LOG_FLAGS == 2
#define ALT_LOG_JTAG_UART_STARTUP_INFO_ON_FLAG_SETTING 0x1
#elif ALT_LOG_FLAGS == 3
#define ALT_LOG_JTAG_UART_STARTUP_INFO_ON_FLAG_SETTING 0x1
#elif ALT_LOG_FLAGS == -1 /* silent mode */
#define ALT_LOG_JTAG_UART_STARTUP_INFO_ON_FLAG_SETTING 0x0
#else /* default setting */
#define ALT_LOG_JTAG_UART_STARTUP_INFO_ON_FLAG_SETTING 0x0
#endif
#endif /* ALT_LOG_JTAG_UART_STARTUP_INFO_FLAG_SETTING */
#ifndef ALT_LOG_JTAG_UART_ISR_ON_FLAG_SETTING
#ifndef __ALTERA_AVALON_JTAG_UART
#define ALT_LOG_JTAG_UART_ISR_ON_FLAG_SETTING 0x0
#elif ALT_LOG_FLAGS == 1
#define ALT_LOG_JTAG_UART_ISR_ON_FLAG_SETTING 0x0
#elif ALT_LOG_FLAGS == 2
#define ALT_LOG_JTAG_UART_ISR_ON_FLAG_SETTING 0x0
#elif ALT_LOG_FLAGS == 3
#define ALT_LOG_JTAG_UART_ISR_ON_FLAG_SETTING 0x1
#elif ALT_LOG_FLAGS == -1 /* silent mode */
#define ALT_LOG_JTAG_UART_ISR_ON_FLAG_SETTING 0x0
#else /* default setting */
#define ALT_LOG_JTAG_UART_ISR_ON_FLAG_SETTING 0x0
#endif
#endif /* ALT_LOG_JTAG_UART_ISR_ON_FLAG_SETTING */
#ifndef ALT_ASM_SRC
/* Function Prototypes */
void alt_log_txchar(int c,char *uartBase);
void alt_log_private_printf(const char *fmt,int base,va_list args);
void alt_log_repchar(char c,int r,int base);
int alt_log_printf_proc(const char *fmt, ... );
void alt_log_system_clock();
#ifdef __ALTERA_AVALON_JTAG_UART
alt_u32 altera_avalon_jtag_uart_report_log(void * context);
void alt_log_jtag_uart_startup_info(altera_avalon_jtag_uart_state* dev, int base);
void alt_log_jtag_uart_print_control_reg(altera_avalon_jtag_uart_state* dev, \
int base, const char* header);
void alt_log_jtag_uart_isr_proc(int base, altera_avalon_jtag_uart_state* dev);
#endif
void alt_log_write(const void *ptr, size_t len);
/* extern all global variables */
extern volatile alt_u8 alt_log_boot_on_flag;
extern volatile alt_u8 alt_log_write_on_flag;
extern volatile alt_u8 alt_log_sys_clk_on_flag;
extern volatile alt_u8 alt_log_jtag_uart_alarm_on_flag;
extern volatile alt_u8 alt_log_jtag_uart_isr_on_flag;
extern volatile alt_u8 alt_log_jtag_uart_startup_info_on_flag;
extern volatile int alt_log_sys_clk_count;
extern volatile int alt_system_clock_in_sec;
extern alt_alarm alt_log_jtag_uart_alarm_1;
#endif /* ALT_ASM_SRC */
/* Below are the MACRO defines used in various HAL files. They check
* if their specific flag is turned on; if it is, then it executes its
* code.
*
* To keep this file reasonable, most of these macros calls functions,
* which are defined in alt_log_printf.c. Look there for implementation
* details. */
/* Boot Messages Logging */
#define ALT_LOG_PRINT_BOOT(...) \
do { if (alt_log_boot_on_flag==1) {ALT_LOG_PRINTF(__VA_ARGS__);} \
} while (0)
/* JTAG UART Logging */
/* number of ticks before alarm runs logging function */
#ifndef ALT_LOG_JTAG_UART_TICKS_DIVISOR
#define ALT_LOG_JTAG_UART_TICKS_DIVISOR 10
#endif
#ifndef ALT_LOG_JTAG_UART_TICKS
#define ALT_LOG_JTAG_UART_TICKS \
(alt_ticks_per_second()/ALT_LOG_JTAG_UART_TICKS_DIVISOR)
#endif
/* if there's a JTAG UART defined, then enable these macros */
#ifdef __ALTERA_AVALON_JTAG_UART
/* Macro in altera_avalon_jtag_uart.c, to register the alarm function.
* Also, the startup register info is also printed here, as this is
* called within the device driver initialization. */
#define ALT_LOG_JTAG_UART_ALARM_REGISTER(dev, base) \
do { if (alt_log_jtag_uart_alarm_on_flag==1) { \
alt_alarm_start(&alt_log_jtag_uart_alarm_1, \
ALT_LOG_JTAG_UART_TICKS, &altera_avalon_jtag_uart_report_log,\
dev);} \
if (alt_log_jtag_uart_startup_info_on_flag==1) {\
alt_log_jtag_uart_startup_info(dev, base);} \
} while (0)
/* JTAG UART IRQ Logging (when buffer is empty)
* Inserted in the ISR in altera_avalon_jtag_uart.c */
#define ALT_LOG_JTAG_UART_ISR_FUNCTION(base, dev) \
do { alt_log_jtag_uart_isr_proc(base, dev); } while (0)
/* else, define macros to nothing. Or else the jtag_uart specific types
* will throw compiler errors */
#else
#define ALT_LOG_JTAG_UART_ALARM_REGISTER(dev, base)
#define ALT_LOG_JTAG_UART_ISR_FUNCTION(base, dev)
#endif
/* System clock logging
* How often (in seconds) the system clock logging prints.
* The default value is every 1 second */
#ifndef ALT_LOG_SYS_CLK_INTERVAL_MULTIPLIER
#define ALT_LOG_SYS_CLK_INTERVAL_MULTIPLIER 1
#endif
#ifndef ALT_LOG_SYS_CLK_INTERVAL
#define ALT_LOG_SYS_CLK_INTERVAL \
(alt_ticks_per_second()*ALT_LOG_SYS_CLK_INTERVAL_MULTIPLIER)
#endif
/* System clock logging - prints a message every interval (set above)
* to show that the system clock is alive.
* This macro is used in altera_avalon_timer_sc.c */
#define ALT_LOG_SYS_CLK_HEARTBEAT() \
do { alt_log_system_clock(); } while (0)
/* alt_write_logging - echos a message every time write() is called,
* displays the first ALT_LOG_WRITE_ECHO_LEN characters.
* This macro is used in alt_write.c */
#ifndef ALT_LOG_WRITE_ECHO_LEN
#define ALT_LOG_WRITE_ECHO_LEN 15
#endif
#define ALT_LOG_WRITE_FUNCTION(ptr,len) \
do { alt_log_write(ptr,len); } while (0)
#else /* ALT_LOG_ENABLE not defined */
/* logging is off, set all relevant macros to null */
#define ALT_LOG_PRINT_BOOT(...)
#define ALT_LOG_PRINTF(...)
#define ALT_LOG_JTAG_UART_ISR_FUNCTION(base, dev)
#define ALT_LOG_JTAG_UART_ALARM_REGISTER(dev, base)
#define ALT_LOG_SYS_CLK_HEARTBEAT()
#define ALT_LOG_PUTS(str)
#define ALT_LOG_WRITE_FUNCTION(ptr,len)
#endif /* ALT_LOG_ENABLE */
#endif /* __ALT_LOG_PRINTF_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -