all: add a flag to the command line to select the serial implementation

This can be very useful for some purposes:

  * It makes it possible to disable the UART in cases where it is not
    needed or needs to be disabled to conserve power.
  * It makes it possible to disable the serial output to reduce code
    size, which may be important for some chips. Sometimes, a few kB can
    be saved this way.
  * It makes it possible to override the default, for example you might
    want to use an actual UART to debug the USB-CDC implementation.

It also lowers the dependency on having machine.Serial defined, which is
often not defined when targeting a chip. Eventually, we might want to
make it possible to write `-target=nrf52` or `-target=atmega328p` for
example to target the chip itself with no board specific assumptions.

The defaults don't change. I checked this by running `make smoketest`
before and after and comparing the results.
This commit is contained in:
Ayke van Laethem
2021-06-01 13:27:58 +02:00
committed by Ron Evans
parent 75298bb84b
commit 96e863f0f3
114 changed files with 185 additions and 104 deletions
-6
View File
@@ -23,12 +23,6 @@ const (
ParityOdd UARTParity = 2
)
type UARTConfig struct {
BaudRate uint32
TX Pin
RX Pin
}
// To implement the UART interface for a board, you must declare a concrete type as follows:
//
// type UART struct {