embox

Форк
0
/
muart_uart_ttys0.c 
43 строки · 976.0 Байт
1
/**
2
 * @file
3
 *
4
 * @date Mar 11, 2023
5
 * @author Anton Bondarev
6
 */
7

8
#include <kernel/irq.h>
9

10
#include <util/macro.h>
11

12
#include <drivers/serial/uart_dev.h>
13
#include <drivers/ttys.h>
14

15
#include <drivers/common/memory.h>
16

17
#include <framework/mod/options.h>
18

19
#define UART_BASE      OPTION_GET(NUMBER, base_addr)
20
#define IRQ_NUM        OPTION_GET(NUMBER, irq_num)
21
#define BAUD_RATE      OPTION_GET(NUMBER,baud_rate)
22

23
#define TTY_NAME    ttyS0
24

25
extern irq_return_t uart_irq_handler(unsigned int irq_nr, void *data);
26

27
extern const struct uart_ops muart_uart_uart_ops;
28

29
static struct uart muart_uart_ttyS0 = {
30
		.uart_ops = &muart_uart_uart_ops,
31
		.irq_num = IRQ_NUM,
32
		.base_addr = UART_BASE,
33
		.params =  {
34
				.baud_rate = BAUD_RATE,
35
				.uart_param_flags = UART_PARAM_FLAGS_8BIT_WORD | UART_PARAM_FLAGS_USE_IRQ,
36
		},
37
};
38

39
PERIPH_MEMORY_DEFINE(muart_uart, UART_BASE, 0x1000);
40

41
STATIC_IRQ_ATTACH(IRQ_NUM, uart_irq_handler, &muart_uart_ttyS0);
42

43
TTYS_DEF(TTY_NAME, &muart_uart_ttyS0);
44

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.