1 unstable release

0.1.0 Oct 20, 2022

#1328 in Hardware support


Used in klogger

Apache-2.0

16KB
276 lines

Embedded Hal driver for QEMU serial ports

This crate provides basic drivers for the UARTS exposed by QEMU. You can see the implementation of these uarts here

The QEMU target actually exposes 4 different UARTS, that can each be redirected to arbitary character devices or files. This crate allows those UARTS to be accessed in order to support more complicated use cases than can be provided by cortex_m_semihosting.

EXAMPLES

To run the examples, you will need an arm QEMU. An example can be seen below:

In order to run these examples, your cargo runner should be set to something like: qemu-system-arm -cpu cortex-m3 -machine lm3s6965evb -nographic -semihosting -serial mon:stdio -kernel

The classic example

$ cargo run --example hello
Hello, World!

Another example, this time tee-ing the input to a file:

$ cargo run --example tee -- -serial file:test.txt
testing 123
^D
$ cat test.txt
testing 123

Dependencies

~1MB
~12K SLoC