
The Espressif fork of LLVM now has Xtensa support in the linker LLD. (This support was written mosly by me). This means we don't have to use the Espressif GNU toolchain anymore and makes installing TinyGo simpler. In the future, this also paves the way for ThinLTO support. Right now it is mostly just a way to simplify TinyGo installation and speed up CI slightly.
18 строки
595 Б
JSON
18 строки
595 Б
JSON
{
|
|
"inherits": ["xtensa"],
|
|
"cpu": "esp8266",
|
|
"features": "+debug,+density,+exception,+extendedl32r,+highpriinterrupts,+interrupt,+mul32,+nsa,+prid,+regprotect,+rvector,+timerint",
|
|
"build-tags": ["esp8266", "esp"],
|
|
"scheduler": "tasks",
|
|
"linker": "ld.lld",
|
|
"default-stack-size": 2048,
|
|
"rtlib": "compiler-rt",
|
|
"libc": "picolibc",
|
|
"linkerscript": "targets/esp8266.ld",
|
|
"extra-files": [
|
|
"src/device/esp/esp8266.S",
|
|
"src/internal/task/task_stack_esp8266.S"
|
|
],
|
|
"binary-format": "esp8266",
|
|
"flash-command": "esptool.py --chip=esp8266 --port {port} write_flash 0x00000 {bin} -fm qio"
|
|
}
|