Більше трейтів
Ми вивели трейт Debug
. Також було б корисно реалізувати ще кілька трейтів.
use core::fmt::{self, Write}; impl Write for Uart { fn write_str(&mut self, s: &str) -> fmt::Result { for c in s.as_bytes() { self.write_byte(*c); } Ok(()) } } // БЕЗПЕКА: `Uart` містить лише покажчик на пам'ять пристрою, до якого // можна отримати доступ з будь-якого контексту. unsafe impl Send for Uart {}
- Реалізація
Write
дозволяє використовувати макросиwrite!
іwriteln!
з нашим типомUart
. - Запустіть приклад у QEMU за допомогою
make qemu_minimal
уsrc/bare-metal/aps/examples
.