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.
20 строки
513 Б
JSON
20 строки
513 Б
JSON
{
|
|
"inherits": ["avr"],
|
|
"cpu": "atmega1284p",
|
|
"build-tags": ["atmega1284p", "atmega"],
|
|
"serial": "uart",
|
|
"cflags": [
|
|
"-mmcu=atmega1284p"
|
|
],
|
|
"ldflags": [
|
|
"-mmcu=avr51",
|
|
"-Wl,--defsym=_bootloader_size=0",
|
|
"-Wl,--defsym=_stack_size=512"
|
|
],
|
|
"linkerscript": "src/device/avr/atmega1284p.ld",
|
|
"extra-files": [
|
|
"targets/avr.S",
|
|
"src/device/avr/atmega1284p.s"
|
|
],
|
|
"emulator": ["simavr", "-m", "atmega1284p", "-f", "20000000"]
|
|
}
|