blob: 10c97b7e1ac0ab998c85f3224ad807cfe2e46261 [file] [log] [blame]
/*
* Copyright (c) 2020 Intel Corporation.
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/kernel.h>
#include <zephyr/drivers/uart.h>
#include <zephyr/sys/__assert.h>
static const struct device *uart_dev;
int z_gdb_backend_init(void)
{
int ret = 0;
static const struct uart_config uart_cfg = {
.baudrate = 115200,
.parity = UART_CFG_PARITY_NONE,
.stop_bits = UART_CFG_STOP_BITS_1,
.data_bits = UART_CFG_DATA_BITS_8,
.flow_ctrl = UART_CFG_FLOW_CTRL_NONE
};
if (uart_dev == NULL) {
uart_dev = device_get_binding(
CONFIG_GDBSTUB_SERIAL_BACKEND_NAME);
__ASSERT(uart_dev != NULL, "Could not get uart device");
ret = uart_configure(uart_dev, &uart_cfg);
__ASSERT(ret == 0, "Could not configure uart device");
}
return ret;
}
void z_gdb_putchar(unsigned char ch)
{
uart_poll_out(uart_dev, ch);
}
unsigned char z_gdb_getchar(void)
{
unsigned char ch;
while (uart_poll_in(uart_dev, &ch) < 0) {
}
return ch;
}