SimpleKernel 1.17.0
Loading...
Searching...
No Matches
early_console.cpp
Go to the documentation of this file.
1
6#include "pl011_singleton.h"
7
8namespace {
9
10pl011::Pl011Device* pl011_uart = nullptr;
11
16class EarlyConsole {
17 public:
20
22 EarlyConsole() {
23 Pl011Singleton::create(SIMPLEKERNEL_EARLY_CONSOLE_BASE);
24 pl011_uart = &Pl011Singleton::instance();
25 }
26
27 EarlyConsole(const EarlyConsole&) = delete;
28 EarlyConsole(EarlyConsole&&) = delete;
29 auto operator=(const EarlyConsole&) -> EarlyConsole& = delete;
30 auto operator=(EarlyConsole&&) -> EarlyConsole& = delete;
31 ~EarlyConsole() = default;
33};
34
35EarlyConsole early_console;
36
37} // namespace
38
43extern "C" auto etl_putchar(int c) -> void {
44 if (pl011_uart) {
45 pl011_uart->PutChar(c);
46 }
47}
auto etl_putchar(int c) -> void
早期控制台字符输出
PL011 串口驱动
Definition pl011.hpp:22
auto operator=(const PerCpu &) -> PerCpu &=default