ESP32 PSRAM support

User avatar
rudi ;-)
Posts: 1729
Joined: Fri Nov 13, 2015 3:25 pm

Re: ESP32 PSRAM support

Postby rudi ;-) » Mon Jul 10, 2017 9:58 am

ESP_Sprite wrote:Good to hear you found the problem. So you have the Lyontek chip working as well now?
will get this lyontek wild horse this week,
btw please check jeroen ( FYI )
aNote.png
aNote.png (27.29 KiB) Viewed 17102 times
txs!
;-)
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

User avatar
rudi ;-)
Posts: 1729
Joined: Fri Nov 13, 2015 3:25 pm

Re: ESP32 PSRAM support

Postby rudi ;-) » Wed Jul 12, 2017 12:06 am

interesting, PSRAM & FLASH same QIO CLK time + frequency, why not share on 40MHz?
Because of SPI Read ID function only with 4 / 8 MHz ?

I think we can on custom mode the Read ID save and share the CLK in 40 MHz - would save a GPIO ( IO17 )
CLK_PSRAM_FLASH_same_time.png
CLK_PSRAM_FLASH_same_time.png (32.87 KiB) Viewed 17056 times
best wishes
rudi ;-)
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

User avatar
rudi ;-)
Posts: 1729
Joined: Fri Nov 13, 2015 3:25 pm

Re: ESP32 PSRAM support

Postby rudi ;-) » Wed Jul 12, 2017 1:06 am

flash clk comes 2 clks earlier -
_ psram clk need a cycl after #CE goes high for terminated_
det1.jpg
det1.jpg (83.16 KiB) Viewed 17052 times
det2.jpg
det2.jpg (75.79 KiB) Viewed 17052 times
det3.jpg
det3.jpg (76.79 KiB) Viewed 17052 times

best wishes
rudi ;-)
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

User avatar
rudi ;-)
Posts: 1729
Joined: Fri Nov 13, 2015 3:25 pm

Re: ESP32 PSRAM support

Postby rudi ;-) » Mon Jul 17, 2017 7:08 pm

Hi

few weeks ago i got an email, that there is a guy, that have request samples
from a PSRAM manufacturer and if there comes samples, then he will share
if they send more as one :)

it was a long time cause one time the trader has shipped on wrong address and not to the guy.
so the manufacturer must send again to the trader for forwarding to the guy.

after this was done the guy send me again an email, that he get samples 3 peaces
and he will share to me one peaces ( how cool is that ? he got only 3 and he share to me from this one peaces - )

Today i got a parcel from switzerland and the guy did what he promissed.
i got today the long long waiting PSRAM in 3.3V and 64Mbit from Lyontek

it is the 64er L ( 3.3 ) version not S ( 1.8 ) version

so now, what i can do for the guy and you folks and me :)
i can test this on a Rev0 and Rev1 Silicon SoC ESP32.

First start was simple, does the 3.3V Version passes the ID Check.
This was done - and the ID Check passed successful

Then the next step was, to test this on a Rev1 and ... why not - i taked the Wrover-Kit where DOOM was run with 1.8V Flash and 1.8V ESP-PSRAM32 .

So i remove first the Case of wrover and saw, that the SoC was 112017 ( mmh ) and is still Rev1 ( mmh )
the next i remove the 1.8V ESP-PSRAM32 and the 1.8V Flash.
Then i solder the 3.3V PSRAM 64Mbit Version and a 3.3V Flash from a Wroom32 :)

the MTDI ( IO12 ) was then pulled down ( GND )
cause there is 10K Ohm in the pulled up bootstrap line ( R9 )

checked then the fine 3.3V that comes from VDD_SDIO intern regulator

After this steps i flashed the DOOM Firmware and....


... it work's!


best wishes
rudi ;-)


sum:
Wrover_3_3V_64Mbit_PSRAM_Mod.jpg
Wrover_3_3V_64Mbit_PSRAM_Mod.jpg (466.73 KiB) Viewed 16984 times
Last edited by rudi ;-) on Mon Jul 17, 2017 7:42 pm, edited 1 time in total.
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

q2222ch
Posts: 20
Joined: Mon Feb 27, 2017 8:30 pm

Re: ESP32 PSRAM support

Postby q2222ch » Mon Jul 17, 2017 7:38 pm

@rudi;-)
;)

WiFive
Posts: 3529
Joined: Tue Dec 01, 2015 7:35 am

Re: ESP32 PSRAM support

Postby WiFive » Mon Jul 17, 2017 10:17 pm

Stable, no crash? Try for 80mhz?

You have another wrover-kit to measure difference in power consumption?

User avatar
rudi ;-)
Posts: 1729
Joined: Fri Nov 13, 2015 3:25 pm

Re: ESP32 PSRAM support

Postby rudi ;-) » Mon Jul 17, 2017 10:31 pm

WiFive wrote:Stable, no crash? Try for 80mhz?

You have another wrover-kit to measure difference in power consumption?
is the KIT/esp-idf up2date for 80 Mhz and psram combine?

:)
#yes will do a patch and test#
but earliest after wednesday :)


edit: forget to answere the top question:
yes - i think it is stable - but have to test more with it.
btw 1.8V
32, 64 ( 128 comes in August )
now MP also 256Mbit
256MBitPsrAM1.8.png
256MBitPsrAM1.8.png (17 KiB) Viewed 16944 times
yes can compare few things here now.
love express DHL :lol:

best wishes
rudi ;-)
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

temp4eb
Posts: 35
Joined: Tue Jun 06, 2017 8:59 am

Re: ESP32 PSRAM support

Postby temp4eb » Sun Jul 23, 2017 2:26 am

rudi ;-) wrote:
ESP_Sprite wrote:

..
You can download the beta esp-idf and the toolchain from the usual spots (https://github.com/espressif/esp-idf and https://github.com/espressif/crosstool-NG) but be sure to switch to the psram-compatible branches. For esp-idf, the branch is called 'feature/psram_malloc', for the toolchain it is called 'xtensa-1.22.x-ext_ram_patch'. Note that there are no binaries available for the toolchain, you will need to build it from source. For the different OSses, this is documented here: Linux Mac (Sorry, no Windows support for this yet.). Note: In order to get the psram version, in the instructions at the 'git clone' command, replace 'xtensa-1.22.x' with 'xtensa-1.22.x-ext_ram_patch'. For esp-idf, just clone esp-idf as usual, then do 'git checkout feature/psram_malloc'.
after you have do 'git checkout feature/psram_malloc'
be sure you do this step then :
git submodul update --init

-> toolchain successful

esp8266@esp8266-VirtualBox:~/esp32psram/xtensa-esp32-elf/bin$ xtensa-esp32-elf-gcc --version
xtensa-esp32-elf-gcc (crosstool-NG crosstool-ng-1.22.0-64-g47d56eb) 5.2.0
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


-> esp-idf successful
-> hello_world successful

wrover modul still revision 0
pSRAM_REV0.jpg
can we check on Rev0 wrover the pSRAM?

edit:

tested -
--- ok - no pointer --

Code: Select all

/*spiram*/
#include "esp_heap_alloc_caps.h"
// #include "../spiram.h" /*** void enable_spi_sram(); ***/

...
uint32_t* buffer = pvPortMallocCaps(4*1024*1024, MALLOC_CAP_SPISRAM);
    if (buffer==NULL) {
       printf("could not create SPIRAM Pointer\n");
    } else {
      printf("RAM init done\n");
    }
    

Code: Select all

void enable_spi_sram();

best wishes
rudi ;-)
Hi Rudi,
I got a piece of ESP32 WROVER KIT V3 board which had the ESP-WROVER with 4MB of psRAM.And I had git clone the feature/psram_malloc branch esf-idf code.The build failed when I open the ext PSRAM features.It seems need special xtensa-esp32-elf files .Since I use the Win7 64bit ,so I take the Msys2 as the IDE,which need xtensa-esp32-elf-XX.exe to build the firmware.I tried to make and build xtensa-1.22.x-ext_ram_patch version crosstool-ng but failed.I noticed you were using the win7 too.Could you please send me the xtensa-esp32-elf-XX.exe which could build the psram ESP32 code?Or Could you please tell me how to get the xtensa-esp32-elf-XX.exe which could build the psram ESP32 code?Thanx!

User avatar
rudi ;-)
Posts: 1729
Joined: Fri Nov 13, 2015 3:25 pm

Re: ESP32 PSRAM support

Postby rudi ;-) » Sun Jul 23, 2017 2:57 am

temp4eb wrote: Hi Rudi,
I got a piece of ESP32 WROVER KIT V3 board which had the ESP-WROVER with 4MB of psRAM.
And I had git clone the feature/psram_malloc branch esf-idf code.
The build failed when I open the ext PSRAM features.
It seems need special xtensa-esp32-elf files .
Since I use the Win7 64bit ,so I take the Msys2 as the IDE,which need xtensa-esp32-elf-XX.exe to build the firmware.
I tried to make and build xtensa-1.22.x-ext_ram_patch version crosstool-ng but failed.
I noticed you were using the win7 too.
Could you please send me the xtensa-esp32-elf-XX.exe which could build the psram ESP32 code?
Or Could you please tell me how to get the xtensa-esp32-elf-XX.exe which could build the psram ESP32 code?
Thanx!
hi temp4eb

there is just in time officially no windows (*.exe) support for the feature/psram_malloc

you need to build the toolchain under linux and there you can then compile the code.

an other way is, you build the toolchain with posix and cygwin under windows
then you get the *.exe like you wrote.

see my attached log, this runs pretty fine - until last steps - debuger tools, then there is missing something
( have not look deeper just in time - but the next days i will try again )
perhabs ivan/jeroen can look into too - perhabs they see what is missing in the last steps.
its really the final step :) -- 99.99 prozent was done :) but i think there is a missing step ..
it was a fast try - but will try again slower next days
build.log
cygwin posix try build
(14.91 MiB) Downloaded 1348 times

edit:
shortly last steps:

[ALL ] Making init.c
[ALL ] i686-build_pc-cygwin-gcc -g -O2 -I. -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/common -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/config -DLOCALEDIR=""/home/esp-psram/crosstool-NG/builds/xtensa-esp32-elf/share/locale"" -DHAVE_CONFIG_H -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/../include/opcode -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/../opcodes/.. -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/../readline/.. -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/../zlib -I../bfd -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/../bfd -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/../include -I../libdecnumber -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/../libdecnumber -I/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/gnulib/import -Ibuild-gnulib/import -DTUI=1 -I/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools/include -I/usr/include/python2.7 -I/usr/include/python2.7 -Wall -Wpointer-arith -Wno-unused -Wunused-value -Wunused-function -Wno-switch -Wno-char-subscripts -Wempty-body -Wpointer-sign -Wmissing-prototypes -Wdeclaration-after-statement -Wmissing-parameter-type -Wold-style-declaration -Wold-style-definition -Wformat-nonliteral -c -o init.o -MT init.o -MMD -MP -MF .deps/init.Tpo init.c
[ALL ] rm -f gdb.exe
[ALL ] i686-build_pc-cygwin-gcc -g -O2 -static-libstdc++ -static-libgcc -Wl,--stack,12582912 -o gdb.exe gdb.o xtensa-tdep.o xtensa-config.o solib-svr4.o ser-base.o ser-unix.o ser-pipe.o ser-tcp.o remote.o dcache.o tracepoint.o ax-general.o ax-gdb.o remote-fileio.o remote-notif.o ctf.o tracefile.o tracefile-tfile.o cli-dump.o cli-decode.o cli-script.o cli-cmds.o cli-setshow.o cli-logging.o cli-interp.o cli-utils.o mi-out.o mi-console.o mi-cmds.o mi-cmd-catch.o mi-cmd-env.o mi-cmd-var.o mi-cmd-break.o mi-cmd-stack.o mi-cmd-file.o mi-cmd-disas.o mi-symbol-cmds.o mi-cmd-target.o mi-cmd-info.o mi-interp.o mi-main.o mi-parse.o mi-getopt.o tui-command.o tui-data.o tui-disasm.o tui-file.o tui-hooks.o tui-interp.o tui-io.o tui-layout.o tui-out.o tui-regs.o tui-source.o tui-stack.o tui-win.o tui-windata.o tui-wingeneral.o tui-winsource.o tui.o python.o py-arch.o py-auto-load.o py-block.o py-bpevent.o py-breakpoint.o py-cmd.o py-continueevent.o py-xmethods.o py-event.o py-evtregistry.o py-evts.o py-exitedevent.o py-finishbreakpoint.o py-frame.o py-framefilter.o py-function.o py-gdb-readline.o py-inferior.o py-infevents.o py-infthread.o py-lazy-string.o py-linetable.o py-newobjfileevent.o py-objfile.o py-param.o py-prettyprint.o py-progspace.o py-signalevent.o py-stopevent.o py-symbol.o py-symtab.o py-threadevent.o py-type.o py-unwind.o py-utils.o py-value.o py-varobj.o guile.o elfread.o stap-probe.o dtrace-probe.o posix-hdep.o posix-strerror.o c-exp.o cp-name-parser.o ada-exp.o jv-exp.o d-exp.o f-exp.o go-exp.o m2-exp.o p-exp.o version.o annotate.o addrmap.o auto-load.o auxv.o agent.o bfd-target.o blockframe.o breakpoint.o break-catch-sig.o break-catch-throw.o break-catch-syscall.o findvar.o regcache.o cleanups.o charset.o continuations.o corelow.o disasm.o dummy-frame.o dfp.o source.o value.o eval.o valops.o valarith.o valprint.o printcmd.o block.o symtab.o psymtab.o symfile.o symfile-debug.o symmisc.o linespec.o dictionary.o infcall.o infcmd.o infrun.o expprint.o environ.o stack.o thread.o exceptions.o extension.o filesystem.o filestuff.o inf-child.o interps.o minidebug.o main.o macrotab.o macrocmd.o macroexp.o macroscope.o mi-common.o event-loop.o event-top.o inf-loop.o completer.o gdbarch.o arch-utils.o gdbtypes.o gdb_bfd.o gdb_obstack.o osabi.o copying.o memattr.o mem-break.o target.o target-dcache.o parse.o language.o build-id.o buildsym.o findcmd.o std-regs.o signals.o exec.o reverse.o bcache.o objfiles.o observer.o minsyms.o maint.o demangle.o dbxread.o coffread.o coff-pe-read.o dwarf2read.o mipsread.o stabsread.o corefile.o dwarf2expr.o dwarf2loc.o dwarf2-frame.o dwarf2-frame-tailcall.o ada-lang.o c-lang.o d-lang.o f-lang.o objc-lang.o ada-tasks.o ada-varobj.o c-varobj.o ui-out.o cli-out.o varobj.o vec.o go-lang.o go-valprint.o go-typeprint.o jv-lang.o jv-valprint.o jv-typeprint.o jv-varobj.o m2-lang.o opencl-lang.o p-lang.o p-typeprint.o p-valprint.o sentinel-frame.o complaints.o typeprint.o ada-typeprint.o c-typeprint.o f-typeprint.o m2-typeprint.o ada-valprint.o c-valprint.o cp-valprint.o d-valprint.o f-valprint.o m2-valprint.o serial.o mdebugread.o top.o utils.o ui-file.o user-regs.o frame.o frame-unwind.o doublest.o frame-base.o inline-frame.o gnu-v2-abi.o gnu-v3-abi.o cp-abi.o cp-support.o cp-namespace.o reggroups.o trad-frame.o tramp-frame.o solib.o solib-target.o prologue-value.o memory-map.o memrange.o xml-support.o xml-syscall.o xml-utils.o target-descriptions.o target-memory.o xml-tdesc.o xml-builtin.o inferior.o osdata.o gdb_usleep.o record.o record-full.o gcore.o gdb_vecs.o jit.o progspace.o skip.o probe.o common-utils.o buffer.o ptid.o gdb-dlfcn.o common-agent.o format.o registry.o btrace.o record-btrace.o waitstatus.o print-utils.o rsp-low.o errors.o common-debug.o debug.o common-exceptions.o btrace-common.o fileio.o compile.o compile-c-symbols.o compile-c-types.o compile-object-load.o compile-object-run.o compile-loc2c.o compile-c-support.o inflow.o init.o ../readline/libreadline.a ../opcodes/libopcodes.a ../bfd/libbfd.a -L./../zlib -lz ../libiberty/libiberty.a ../libdecnumber/libdecnumber.a -lncurses -lm -liconv -ldl -lpython2.7 /home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools/lib/libexpat.a ../libiberty/libiberty.a -luser32 build-gnulib/import/libgnu.a
[ALL ] tui-win.o: In function `tui_update_variables':
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui-win.c:301: undefined reference to `acs_map'
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui-win.c:310: undefined reference to `acs_map'
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui-win.c:307: undefined reference to `acs_map'
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui-win.c:304: undefined reference to `acs_map'
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui-win.c:297: undefined reference to `acs_map'
[ALL ] tui-win.o:/home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui-win.c:313: more undefined references to `acs_map' follow
[ALL ] tui-win.o: In function `tui_refresh_all_win':
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui-win.c:698: undefined reference to `curscr'
[ALL ] tui-win.o: In function `tui_resize_all':
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui-win.c:780: undefined reference to `stdscr'
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui-win.c:781: undefined reference to `curscr'
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui-win.c:782: undefined reference to `stdscr'
[ALL ] tui.o: In function `tui_enable':
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui.c:437: undefined reference to `stdscr'
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui.c:460: undefined reference to `LINES'
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui.c:461: undefined reference to `COLS'
[ALL ] /home/esp-psram/crosstool-NG/.build/src/gdb-7.10/gdb/tui/tui.c:476: undefined reference to `stdscr'
[ERROR] collect2: error: ld returned 1 exit status
[ALL ] Makefile:1390: recipe for target 'gdb.exe' failed
[ERROR] make[3]: *** [gdb.exe] Error 1
[ALL ] make[3]: Leaving directory '/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/build/build-gdb-cross/gdb'
[ALL ] Makefile:8758: recipe for target 'all-gdb' failed
[ERROR] make[2]: *** [all-gdb] Error 2
[ALL ] make[2]: Leaving directory '/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/build/build-gdb-cross'
[ALL ] Makefile:848: recipe for target 'all' failed
[ERROR] make[1]: *** [all] Error 2
[ALL ] make[1]: Leaving directory '/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/build/build-gdb-cross'
[ERROR]
[ERROR] >>
[ERROR] >> Build failed in step 'Installing cross-gdb'
[ERROR] >> called in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR] >> called from: do_debug_gdb_build[scripts/build/debug/300-gdb.sh@120]
[ERROR] >> called from: do_debug[scripts/build/debug.sh@35]
[ERROR] >> called from: main[scripts/crosstool-NG.sh@646]
[ERROR] >>
[ERROR] >> For more info on this error, look at the file: 'build.log'
[ERROR] >> There is a list of known issues, some with workarounds, in:
[ERROR] >> 'docs/B - Known issues.txt'
[ERROR]
[ERROR] (elapsed: 133:44.83)

$ ./xtensa-esp32-elf-gcc.exe -v
Using built-in specs.
COLLECT_GCC=./xtensa-esp32-elf-gcc
COLLECT_LTO_WRAPPER=/home/esp-psram/crosstool-NG/builds/xtensa-esp32-elf/libexec/gcc/xtensa-esp32-elf/5.2.0/lto-wrapper.exe
Target: xtensa-esp32-elf
Configured with: /home/esp-psram/crosstool-NG/.build/src/gcc-5.2.0/configure --build=i686-build_pc-cygwin --host=i686-build_pc-cygwin --target=xtensa-esp32-elf --prefix=/home/esp-psram/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/home/esp-psram/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot --with-sysroot=/home/esp-psram/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG crosstool-ng-1.22.0-64-g47d56eb' --disable-__cxa_atexit --enable-cxx-flags='-fno-exceptions -fno-rtti' --with-gmp=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-cloog=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-libelf=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-libgomp --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-nls --disable-multilib --enable-languages=c,c++ --disable-libstdcxx-verbose
Thread model: single
gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-64-g47d56eb)
total2.jpg
total2.jpg (211.5 KiB) Viewed 16820 times
total1.jpg
total1.jpg (91.4 KiB) Viewed 16820 times

it is not 100 prozent finished -
so just in time - you must build the toolchain under linux.

next days i will try again
(I am unfortunately for 1 1/2 weeks (summer flu)
Can not be as I would like.)

if the cygwin build is 100 prozent successful then i will upload the toolchain -
and write the steps in windows for build it with cygwin ( posix )

hope this helps?!

best wishes
rudi ;-)
Last edited by rudi ;-) on Sun Jul 23, 2017 3:36 pm, edited 1 time in total.
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

temp4eb
Posts: 35
Joined: Tue Jun 06, 2017 8:59 am

Re: ESP32 PSRAM support

Postby temp4eb » Sun Jul 23, 2017 3:34 am

rudi ;-) wrote:
temp4eb wrote: Hi Rudi,
I got a piece of ESP32 WROVER KIT V3 board which had the ESP-WROVER with 4MB of psRAM.
And I had git clone the feature/psram_malloc branch esf-idf code.
The build failed when I open the ext PSRAM features.
It seems need special xtensa-esp32-elf files .
Since I use the Win7 64bit ,so I take the Msys2 as the IDE,which need xtensa-esp32-elf-XX.exe to build the firmware.
I tried to make and build xtensa-1.22.x-ext_ram_patch version crosstool-ng but failed.
I noticed you were using the win7 too.
Could you please send me the xtensa-esp32-elf-XX.exe which could build the psram ESP32 code?
Or Could you please tell me how to get the xtensa-esp32-elf-XX.exe which could build the psram ESP32 code?
Thanx!
hi temp4eb

there is just in time officially no windows (*.exe) support for the feature/psram_malloc

you need to build the toolchain under linux and there you can then compile the code.

an other way is, you build the toolchain with posix and cygwin under windows
then you get the *.exe like you wrote.

see my attached log, this runs pretty fine - until last steps - debuger tools, then there is missing something
( have not look deeper just in time - but the next days i will try again )
perhabs ivan/jeroen can look into too - perhabs they see what is missing in the last steps.
its really the final step :) -- 99.99 prozent was done :) but i think there is a missing step ..
it was a fast try - but will try again slower next days
build.log
$ ./xtensa-esp32-elf-gcc.exe -v
Using built-in specs.
COLLECT_GCC=./xtensa-esp32-elf-gcc
COLLECT_LTO_WRAPPER=/home/esp-psram/crosstool-NG/builds/xtensa-esp32-elf/libexec/gcc/xtensa-esp32-elf/5.2.0/lto-wrapper.exe
Target: xtensa-esp32-elf
Configured with: /home/esp-psram/crosstool-NG/.build/src/gcc-5.2.0/configure --build=i686-build_pc-cygwin --host=i686-build_pc-cygwin --target=xtensa-esp32-elf --prefix=/home/esp-psram/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/home/esp-psram/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot --with-sysroot=/home/esp-psram/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot --with-newlib --enable-threads=no --disable-shared --with-pkgversion='crosstool-NG crosstool-ng-1.22.0-64-g47d56eb' --disable-__cxa_atexit --enable-cxx-flags='-fno-exceptions -fno-rtti' --with-gmp=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-cloog=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-libelf=/home/esp-psram/crosstool-NG/.build/xtensa-esp32-elf/buildtools --enable-lto --enable-target-optspace --without-long-double-128 --disable-libgomp --disable-libmudflap --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-nls --disable-multilib --enable-languages=c,c++ --disable-libstdcxx-verbose
Thread model: single
gcc version 5.2.0 (crosstool-NG crosstool-ng-1.22.0-64-g47d56eb)
total2.jpg
total1.jpg

it is not 100 prozent finished -
so just in time - you must build the toolchain under linux.

next days i will try again
(I am unfortunately for 1 1/2 weeks (summer flu)
Can not be as I would like.)

if the cygwin build is 100 prozent successful then i will upload the toolchain -
and write the steps in windows for build it with cygwin ( posix )

hope this helps?!

best wishes
rudi ;-)
Hi Rudi,
Thanx for your reply!Looking forward to your exe files when you are available and I will take another try according to your suggestion right now.Many thanx!

Who is online

Users browsing this forum: No registered users and 410 guests