esp8266: implement task based scheduler

I have chosed to call this implementation `esp8266` instead of `xtensa`
as it has been written specifically for the ESP8266 and there are no
other Xtensa chips with the CALL0 ABI (no windowing) that I know of. The
only other related chip is the ESP32, which does implement register
windowing and thus needs a very different implementation.
This commit is contained in:
Ayke van Laethem
2020-11-08 21:59:47 +01:00
committed by Ron Evans
parent caf35cfc41
commit 098f900363
3 changed files with 128 additions and 1 deletions
+4 -1
View File
@@ -2,13 +2,16 @@
"inherits": ["xtensa"],
"cpu": "esp8266",
"build-tags": ["esp8266", "esp"],
"scheduler": "tasks",
"linker": "xtensa-esp32-elf-ld",
"default-stack-size": 2048,
"cflags": [
"-mcpu=esp8266"
],
"linkerscript": "targets/esp8266.ld",
"extra-files": [
"src/device/esp/esp8266.S"
"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"