Skip to content

cpu/esp*: Tracking refactoring of ESP MCU implementations #10658

@gschorcht

Description

@gschorcht

Description

There are already parts of MCU implementations for ESP8266 and ESP32 SoCs which are almost identical or at least very similar. Examples are the implementations of

  • context handling, context switching and low level interrupt handling (cpu/esp*/vendor/xtensa/*)
  • ESP-NOW netdev driver and interface (cpu/esp*/esp-now)

All other parts are completely different at the moment, since ESP32 and ESP8266 use SDKs with libraries which are completely different. However, with the ESP8266 RTOS SDK version under development, it seems that upcoming SDK versions for the ESP8266 will be at least partially compatible with the ESP-IDF for ESP32.

Therefore, it is very likely that both MCUs can use more and more the same code base. This issue is intended to track the modules that can be refactored designed to use the same code base and their progress.

Update With the reimplementation of the ESP8266 port based on the ESP8266 RTOS SDK in PR #11108 it became possible to deduplicate a lot. The code in PR #11108 was already prepared for this deduplication.

Refactored modules

Refactoring prerequisites / steps

PR dependencies

cpu/esp*/esp-now depends on #10581, #9917

Metadata

Metadata

Assignees

Labels

Area: cpuArea: CPU/MCU portsPlatform: ESPPlatform: This PR/issue effects ESP-based platformsType: trackingThe issue tracks and organizes the sub-tasks of a larger effort

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions