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