Xtensa [patch] ESP8266 support for target freertos
Original Reporter info from Mantis: ccrause @ccrause
-
Reporter name: Christo Crause
Original Reporter info from Mantis: ccrause @ccrause
- Reporter name: Christo Crause
Description:
Attached please find a patch for enabling esp8266 support for freertos. List of changes:
* Changed linking step so that esp32 and esp8266 SDKs can both be supported. Linker scripts have been copied into t_freertos.pas so that SDK make scripts are not required to compile all the linker fragments together. The only complication remaining is that esp8266 SDK requires an esptool.py which supports output version 3 which is not supported by the esp32 SDK tool yet. This is accommodated by requiring the existing ESP_IDF environmental variable pointing to the esp32 folder (as per usual) and a new ESP8266_IDF variable that points to the esp8266 SDK folder.
* Removed a8 and a15 from the register allocator list to avoid clobbering when in use for stack purposes.
* Provide prologue/epilogue for call0 in insert_init_final_table.
* Added esp8266 unit to rtl/freertos/xtensa. Note that the exitproc is not blocking, it will return to user_init_entry where the startup task will delete itself. Blocking with deep sleep similar to esp32 can cause difficult to reflash scenarios. Alternative could be a busy wait, but there is an OS to keep things going so this seem unnecessary.
* Updated freertos makefile to handle lx6 and lx106 subarch's.
* Fixed indentation for call0 code in cpupara.pas.
Mantis conversion info:
- Mantis ID: 37242
- Version: 3.3.1
- Fixed in version: 3.3.1