Hi Alan & everyone,

(Replies inline but not in the original posted order!)

On Sun, Sep 04, 2016 at 12:03:22PM -0300, Alan Carvalho de Assis wrote:
> About 2 years ago people tried to port the OpenBSD WiFi stack to
> NuttX, but this effort was stalled (see here:
> https://github.com/nuttx/nuttx_ieee80211).
> 
> We don't have enough know about OpenBSD WiFi stack to validate the port.
>
> So, NuttX only supports WiFi modules with standalone stack (i.e.
> CC3000 and ESP8266), but all main features from native NuttX network
> stack are "lost".

This is all very interesting! I posted to the thread about ESP32 on the NuttX 
list also.

> > Are there any jtag/OCD related docs for Xtensa?
> 
> I'm not aware which document (if any) mr. Angus used to do the original port.

I used copies of the "Xtensa ISA Reference Manual" and "Tensilica On-Chip 
Debugging Guide". Copies of at least one of these used to be downloadable 
directly from Tensilica (now Cadence). I don't see them there now, but the ISA 
RM is still online. The on-chip debugging guide used to also be online, but I'm 
not sure where it can be found now.

> On 9/3/16, Oleksij Rempel <li...@rempel-privat.de> wrote:
> > How interesting,
> > would it work with atheros ar9271? I would then need to get ESP8266 for
> > comparison.
> >
> 
> Yes, since ar9271 is also based on Xtensa core, it could be possible.

Regarding AR9271: I agree this is possible, but there are some things to keep 
in mind.

Xtensa architecture is based around a wealth of processor "extension" Options. 
The designs are tweakable at almost every level you could tweak a CPU design. 
As a result, having all-in-one tooling support is complex. GCC's solution is to 
install "overlay" source files into the compiler source containing the specific 
set of Options that a particular core supports. Then you build a compiler with 
the overlay, and it gets named in the toolchain triplet (ie xtensa-lx106-elf 
for ESP8266 which has an LX106 core, xtensa-esp32-elf- for ESP32). This works 
pretty well, although the cost is that you need a separately compiled cross 
compiler for each xtensa core you're targeting.[*]

For openocd, I originally labelled the ESP8266 support as for "Xtensa, at least 
the subset in LX106/ESP8266". Since then Jeroen Domburg has also implemented 
ESP32 support (he works for Espressif, and as of quite recently I actually do 
as well):
https://github.com/espressif/openocd-esp32

Even though the ESP8266 and ESP32 CPU cores are related, turns out the 
differences were significant enough (both in the processor and in the debug 
port architecture) that openocd support is implemented as two separate targets 
without any shared source. There might be some small amount of refactoring 
possible but AFAIK most of the code is probably not shareable.

I don't know AR9271 but a google search suggest it's an older "LX2" generation 
core so probably a bit different again from ESP8266. You could base a port on 
the ESP8266 debug code but there will probably be some changes required. If you 
can get hold of the gcc overlay files for this core then you could probably 
those to the ESP8266 overlay to get some ideas as to what the specific 
differences are.

> There are people interested to port NuttX for ESP8266 and ESP32. Then
> getting ESPxx support on OpenOCD mainline is important to let more
> people to test it easily.

Both myself & Jeroen are keen to get ESP8266 & ESP32 support into openocd 
upstream. I still haven't had time to actually revisit the ESP8266 patchset on 
gerrit, but I plan to. One thing I'd suggest is relabelling it as esp8266 
support rather than xtensa support (for reasons noted above).

Cheers,


Angus

[*] This might not be strictly true for "bigger" Xtensa cores, ie the ones who 
run Linux. My Xtensa experience doesn't extend (apologies for pun) beyond 
Espressif SoCs.

------------------------------------------------------------------------------
_______________________________________________
OpenOCD-devel mailing list
OpenOCD-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openocd-devel

Reply via email to