Hacker News new | ask | show | jobs
by aseipp 3434 days ago
The ESP32 also uses an Xtensa, the LX6, which should have the same basic instruction encoding, etc (and I think they both use FreeRTOS, as well, but I only have an ESP32). Probably shouldn't be too hard. You can also stuff more functionality into it, too.[1]

[1] Related: I can't actually even find the documentation on what's precisely changed between the LX6 (ESP32) and the LX106 (ESP8266), other than the basics on the datasheets - I don't know of any documentation on e.g. any different architectural details. Maybe you have to ask Espressif. Or Cadence. Anyone have any idea?

2 comments

Their datasheets only mention the PIN definitions and electrical characteristics of the microcontrollers. Try to get the information from the reference manual[0]. Also there are these books[1][2] by Neil Kolban.

[0] https://www.espressif.com/sites/default/files/documentation/...

[1] https://leanpub.com/ESP8266_ESP32

[2] https://leanpub.com/kolban-ESP32

edit:

More information about the differences: http://www.cnx-software.com/2016/03/25/esp8266-and-esp32-dif...

The ESP32 datasheet is really woefully inadequate for this part; it mostly describes the chip, but I guess what I'm really looking for is things like "A description of the ISA itself", i.e. the "LX6 datasheet", so to speak. So I want something like the the actual instruction encoding, instruction listing, etc for the LX6 series and what it supports precisely.
Most importantly, the ESP32 has register windows.
Right, this is the kind of information I was looking for (maybe some actual ISA documentation; the instruction encoding method itself, etc).

But for this specific point -- I thought all of the Xtensa series used register windows? Or did they both have them but the ESP8266 never actually use them (somehow?)

The xtensa series is highly configurable, afaik the ESP8266 doesn't have them in hardware.

This is second hand knowledge though.