1 /* 2 * Copyright (c) 2021 HPMicro 3 * 4 * SPDX-License-Identifier: BSD-3-Clause 5 * 6 */ 7 8 #ifndef _HPM_DEBUG_CONSOLE_H 9 #define _HPM_DEBUG_CONSOLE_H 10 #include <stdio.h> 11 #include "hpm_common.h" 12 13 typedef enum console_type { 14 console_type_uart = 0, 15 } console_type_t; 16 17 typedef struct { 18 console_type_t type; 19 uint32_t base; 20 uint32_t src_freq_in_hz; 21 uint32_t baudrate; 22 } console_config_t; 23 24 25 #if defined(__cplusplus) 26 extern "C" { 27 #endif /* __cplusplus */ 28 29 hpm_stat_t console_init(console_config_t *cfg); 30 31 uint8_t console_receive_byte(void); 32 33 void console_send_byte(uint8_t c); 34 35 #if defined(__cplusplus) 36 } 37 #endif /* __cplusplus */ 38 39 #endif /* _HPM_CONSOLE_H */ 40