ESP32 PSRAM support

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

Re: ESP32 PSRAM support

Postby rudi ;-) » Tue Jul 25, 2017 8:44 pm

hi folks
the unofficially windows future/psram_malloc toolchain is ready - on weekend i will upload it.
successful tested in
-> eclipse (see here the video sequenz )
-> npp
-> code::block
-> DevC++
-> Windows Shell
custom-psram_future-windows-toolchain.png
custom-psram_future-windows-toolchain.png (119.76 KiB) Viewed 15792 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 26, 2017 2:33 am

temp4eb wrote: Hi Rudi,
Thanx for your reply!Looking forward to your exe files when you are available....
pack it here
the thread becomes until weekend a finnish in all details.
hope this helps

how you get on in cygwin64?
i suggest you take cygwin32, same like msys32 is simpley mingw32 :o 8-)
and you are ready for old backed winXP for few reason too :mrgreen:

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 » Wed Jul 26, 2017 3:30 am

rudi ;-) wrote:
temp4eb wrote: Hi Rudi,
Thanx for your reply!Looking forward to your exe files when you are available....
pack it here
the thread becomes until weekend a finnish in all details.
hope this helps

how you get on in cygwin64?
i suggest you take cygwin32, same like msys32 is simpley mingw32 :o 8-)
and you are ready for old backed winXP for few reason too :mrgreen:

best wishes
rudi ;-)
Hi Rudi,
Thanx for you files and explain!I'm still working on cygwin64 to build the exe files according to your steps.I download the exe files and replace the original xtensa-esp32-elf dir in msys2 with them.And build failed:

Code: Select all

$ make
      3 [main] xtensa-esp32-elf-gcc (9896) D:\msys32\opt\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe: *** fatal error - cygheap base mismatch detected - 0x612E4408/0x61304400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.
      1 [main] xtensa-esp32-elf-gcc (9996) D:\msys32\opt\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe: *** fatal error - cygheap base mismatch detected - 0x612E4408/0x61304400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.
WARNING: Failed to find Xtensa toolchain, may need to alter PATH or set one in the configuration menu
      1 [main] xtensa-esp32-elf-gcc (7904) D:\msys32\opt\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe: *** fatal error - cygheap base mismatch detected - 0x612E4408/0x61304400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.
      1 [main] xtensa-esp32-elf-gcc (9476) D:\msys32\opt\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe: *** fatal error - cygheap base mismatch detected - 0x612E4408/0x61304400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.
WARNING: Failed to find Xtensa toolchain, may need to alter PATH or set one in the configuration menu
CC src/bootloader_random.o
      1 [main] xtensa-esp32-elf-gcc (9144) D:\msys32\opt\xtensa-esp32-elf\bin\xtensa-esp32-elf-gcc.exe: *** fatal error - cygheap base mismatch detected - 0x612E4408/0x61304400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.
make[2]: *** [/home/esp-idf/make/component_wrapper.mk:177: src/bootloader_random.o] Segmentation fault
make[1]: *** [/home/esp-idf/make/project.mk:395:bootloader_support-build] Error 2
make: *** [/home/esp-idf/components/bootloader/Makefile.projbuild:31:/home/esp-idf/examples/protocols/https_request/build/bootloader/bootloader.bin] Error 2
it seems these files which were built in Cygwin could not be used in Msys2?Since we are familier with Msys2 IDE for ESP32 development,I still want to get the Msys2 version xtensa-esp32-elf-gcc for ESP32 PSRAM modules.I will post a request for official help.Thanx!

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

Re: ESP32 PSRAM support

Postby rudi ;-) » Wed Jul 26, 2017 4:42 am

temp4eb wrote:
Hi Rudi,
Thanx for you files and explain!I'm still working on cygwin64 to build the exe files according to your steps.I download the exe files and replace the original xtensa-esp32-elf dir in msys2 with them.And build failed:
this is a very bad idea :)

look in the c:\msys32
folder, there is mingw32
no cygwin

msys2 = mingw32 with mix of cygwin tools on mingw32 base

cygwin = pure posix

for this reason you see 2 versions of cygwin1.dll in the bin folder
for reason for more time postings i will finnish my thread until weekend
then you will read all details - i thinked you know what you do with the cygwin exe :)

this step was not the ideal doing.

temp4eb wrote:

Code: Select all

$ make
*** fatal error - cygheap base mismatch detected - 0x612E4408/0x61304400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.

all infos why this so is stand in the log -
temp4eb wrote: it seems these files which were built in Cygwin could not be used in Msys2?
on this art you try - no way -
you try to mix now mingw32 with cygwin canadian cross build and possix cygwin
:D
Msys32 original Build was done in a Linux PC 64 bit, for the i686 windows 32 bit :

Code: Select all

[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = x86_64-pc-linux-gnu
[EXTRA]      host   = i686-pc-mingw32
[EXTRA]      target = xtensa-esp32-elf
mingw32 != cygwin
mingw32 = c:\ c:/
cygwin = /cygdrive/c/
cygwin32 != cygwin64
temp4eb wrote: Since we are familier with Msys2 IDE for ESP32 development,I still want to get the Msys2 version xtensa-esp32-elf-gcc for ESP32 PSRAM modules.I will post a request for official help.Thanx!
the official "mingw32" ? "cygwin32" toolchain will come on the master later time, ( which i think mingw32 )
psram comes then merged into later i think -

i am not sure you read the postings and warnings from the postings in detail?
i think it is better you wait for the officially -
Msys2 contains only the make tools like GNU make, python support, serial and so on
the same is possible with cygwin, and there is the reoson why you get cygheap error,
you try to combine difference versions...
a cygwin toolchain in a mingw32 make tool environment
( is possible - but you need to follow my unofficial thread cause i will only one time post the describe )

if you want use the unofficially toolchain exe ( cygwin build )
then you must build this by self with the same way for an

host = i686-pc-mingw32

if you want use your Msys2 mingw32 build for a toolchain build
further then you need the sourcen of all dll you have in msys-*.dll
...
and so on and on
...
not sure why we note this -
nobody read this :mrgreen:

RTFM*


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 » Wed Jul 26, 2017 6:11 am

rudi ;-) wrote:
temp4eb wrote:
Hi Rudi,
Thanx for you files and explain!I'm still working on cygwin64 to build the exe files according to your steps.I download the exe files and replace the original xtensa-esp32-elf dir in msys2 with them.And build failed:
this is a very bad idea :)

look in the c:\msys32
folder, there is mingw32
no cygwin

msys2 = mingw32 with mix of cygwin tools on mingw32 base

cygwin = pure posix

for this reason you see 2 versions of cygwin1.dll in the bin folder
for reason for more time postings i will finnish my thread until weekend
then you will read all details - i thinked you know what you do with the cygwin exe :)

this step was not the ideal doing.

temp4eb wrote:

Code: Select all

$ make
*** fatal error - cygheap base mismatch detected - 0x612E4408/0x61304400.
This problem is probably due to using incompatible versions of the cygwin DLL.
Search for cygwin1.dll using the Windows Start->Find/Search facility
and delete all but the most recent version.  The most recent version *should*
reside in x:\cygwin\bin, where 'x' is the drive on which you have
installed the cygwin distribution.  Rebooting is also suggested if you
are unable to find another cygwin DLL.

all infos why this so is stand in the log -
temp4eb wrote: it seems these files which were built in Cygwin could not be used in Msys2?
on this art you try - no way -
you try to mix now mingw32 with cygwin canadian cross build and possix cygwin
:D
Msys32 original Build was done in a Linux PC 64 bit, for the i686 windows 32 bit :

Code: Select all

[EXTRA]  Dumping internal crosstool-NG configuration
[EXTRA]    Building a toolchain for:
[EXTRA]      build  = x86_64-pc-linux-gnu
[EXTRA]      host   = i686-pc-mingw32
[EXTRA]      target = xtensa-esp32-elf
mingw32 != cygwin
mingw32 = c:\ c:/
cygwin = /cygdrive/c/
cygwin32 != cygwin64
temp4eb wrote: Since we are familier with Msys2 IDE for ESP32 development,I still want to get the Msys2 version xtensa-esp32-elf-gcc for ESP32 PSRAM modules.I will post a request for official help.Thanx!
the official "mingw32" ? "cygwin32" toolchain will come on the master later time, ( which i think mingw32 )
psram comes then merged into later i think -

i am not sure you read the postings and warnings from the postings in detail?
i think it is better you wait for the officially -
Msys2 contains only the make tools like GNU make, python support, serial and so on
the same is possible with cygwin, and there is the reoson why you get cygheap error,
you try to combine difference versions...
a cygwin toolchain in a mingw32 make tool environment
( is possible - but you need to follow my unofficial thread cause i will only one time post the describe )

if you want use the unofficially toolchain exe ( cygwin build )
then you must build this by self with the same way for an

host = i686-pc-mingw32

if you want use your Msys2 mingw32 build for a toolchain build
further then you need the sourcen of all dll you have in msys-*.dll
...
and so on and on
...
not sure why we note this -
nobody read this :mrgreen:

RTFM*


best wishes
rudi ;-)
Hi Rudi,
Thanx for your explain!And I will try it on Linux to generate the exe files for Msys2.By the way, the building on Cygwin64 had accomplished successful.

Code: Select all

./ct-ng build
[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20170726.130451
[INFO ]  Building environment variables
[INFO ]  =================================================================
[INFO ]  Retrieving needed toolchain components' tarballs
[INFO ]  Retrieving needed toolchain components' tarballs: done in 0.61s (at 00:26)
[INFO ]  =================================================================
[INFO ]  Extracting and patching toolchain components
[INFO ]  Extracting and patching toolchain components: done in 2.80s (at 00:29)
[INFO ]  =================================================================
[INFO ]  Installing ncurses for build
[INFO ]  Installing ncurses for build: done in 127.41s (at 02:36)
[INFO ]  =================================================================
[INFO ]  Installing GMP for host
[INFO ]  Installing GMP for host: done in 203.07s (at 05:59)
[INFO ]  =================================================================
[INFO ]  Installing MPFR for host
[INFO ]  Installing MPFR for host: done in 133.99s (at 08:14)
[INFO ]  =================================================================
[INFO ]  Installing ISL for host
[INFO ]  Installing ISL for host: done in 93.82s (at 09:47)
[INFO ]  =================================================================
[INFO ]  Installing MPC for host
[INFO ]  Installing MPC for host: done in 63.52s (at 10:51)
[INFO ]  =================================================================
[INFO ]  Installing expat for host
[INFO ]  Installing expat for host: done in 37.39s (at 11:29)
[INFO ]  =================================================================
[INFO ]  Installing binutils for host
[INFO ]  Installing binutils for host: done in 261.78s (at 15:50)
[INFO ]  =================================================================
[INFO ]  Installing C library headers & start files
[INFO ]  Installing C library headers & start files: done in 0.39s (at 15:51)
[INFO ]  =================================================================
[INFO ]  Installing pass-2 core C gcc compiler
[INFO ]  Installing pass-2 core C gcc compiler: done in 692.67s (at 27:24)
[INFO ]  =================================================================
[INFO ]  Installing C library
[INFO ]  Installing C library: done in 186.65s (at 30:30)
[INFO ]  =================================================================
[INFO ]  Installing final gcc compiler
[INFO ]  Installing final gcc compiler: done in 912.08s (at 45:43)
[INFO ]  =================================================================
[INFO ]  Installing cross-gdb
[INFO ]  Installing cross-gdb: done in 557.79s (at 55:01)
[INFO ]  =================================================================
[INFO ]  Cleaning-up the toolchain's directory
[INFO ]    Stripping all toolchain executables
[INFO ]  Cleaning-up the toolchain's directory: done in 14.46s (at 55:15)
[INFO ]  Build completed at 20170726.140004
[INFO ]  (elapsed: 55:13.04)
[INFO ]  Finishing installation (may take a few seconds)...
[55:15] /

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

Re: ESP32 PSRAM support

Postby rudi ;-) » Wed Jul 26, 2017 6:40 am

temp4eb wrote: Hi Rudi,
Thanx for your explain!And I will try it on Linux to generate the exe files for Msys2.By the way, the building on Cygwin64 had accomplished successful.

fine!

now go to your build folder
not sure where your home is
...crosstool-NG/builds/xtensa-esp32-elf/bin
and check the version of xtensa-esp32-elf-gcc-5.2.0 with -v
and post it.
-------------------------------------
love it, change it or leave it.
-------------------------------------
問候飛出去的朋友遍全球魯迪

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

Re: ESP32 PSRAM support

Postby temp4eb » Wed Jul 26, 2017 7:36 am

rudi ;-) wrote:
temp4eb wrote: Hi Rudi,
Thanx for your explain!And I will try it on Linux to generate the exe files for Msys2.By the way, the building on Cygwin64 had accomplished successful.

fine!

now go to your build folder
not sure where your home is
...crosstool-NG/builds/xtensa-esp32-elf/bin
and check the version of xtensa-esp32-elf-gcc-5.2.0 with -v
and post it.
Results:

Code: Select all

$ ./xtensa-esp32-elf-gcc-5.2.0 -v
Using built-in specs.
COLLECT_GCC=./xtensa-esp32-elf-gcc-5.2.0
COLLECT_LTO_WRAPPER=/cygdrive/g/Code/crosstool-NG/builds/xtensa-esp32-elf/libexec/gcc/xtensa-esp32-elf/5.2.0/lto-wrapper.exe
Target: xtensa-esp32-elf
Configured with: /cygdrive/g/Code/crosstool-NG/.build/src/gcc-5.2.0/configure --build=x86_64-build_unknown-cygwin --host=x86_64-build_unknown-cygwin --target=xtensa-esp32-elf --prefix=/cygdrive/g/Code/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/cygdrive/g/Code/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot --with-sysroot=/cygdrive/g/Code/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-g47d56ebd' --disable-__cxa_atexit --enable-cxx-flags='-fno-exceptions -fno-rtti' --with-gmp=/cygdrive/g/Code/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/cygdrive/g/Code/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/cygdrive/g/Code/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/cygdrive/g/Code/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-cloog=/cygdrive/g/Code/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-libelf=/cygdrive/g/Code/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-g47d56ebd)

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

Re: ESP32 PSRAM support

Postby rudi ;-) » Wed Jul 26, 2017 8:02 am

thank you

Code: Select all

-build=x86_64-build_unknown-cygwin --host=x86_64-build_unknown-cygwin --target=xtensa-esp32-elf
you build on x86_64Bit cygwin unknown machine
the toolchain for using it on the host on x86_64Bit cygwin unknown machine
and you build FW for the target xtensa-esp32-elf

have you seen the version of my posted cygwin32 toolchain?
it is for 32bit ( will run on win10/32bit too )

Code: Select all

 --build=i686-build_pc-cygwin --host=i686-build_pc-cygwin --target=xtensa-esp32-elf
cause this is an unofficially it becomes named toolchain from who is compiled, when and becomes also a bugurl
where you send bug message

https://esp32.com/viewtopic.php?f=18&t=2551


Total Result:

Code: Select all

$ ./xtensa-esp32-elf-gcc-5.2.0 -v
Using built-in specs.
COLLECT_GCC=./xtensa-esp32-elf-gcc-5.2.0
COLLECT_LTO_WRAPPER=/home/sysop/live/crosstool-NG/builds/xtensa-esp32-elf/libexec/gcc/xtensa-esp32-elf/5.2.0/lto-wrapper.exe
Target: xtensa-esp32-elf
Configured with: /home/sysop/live/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/sysop/live/crosstool-NG/builds/xtensa-esp32-elf --with-local-prefix=/home/sysop/live/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot --with-sysroot=/home/sysop/live/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 - unofficially win toolchain future/psram_malloc by rudi ;-) 26.July 2017' --with-bugurl='https://esp32.com/viewtopic.php?f=18&t=2551 or https://twitter.com/eMbeddedHome' --disable-__cxa_atexit --enable-cxx-flags='-fno-exceptions -fno-rtti' --with-gmp=/home/sysop/live/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpfr=/home/sysop/live/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-mpc=/home/sysop/live/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-isl=/home/sysop/live/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-cloog=/home/sysop/live/crosstool-NG/.build/xtensa-esp32-elf/buildtools --with-libelf=/home/sysop/live/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 - unofficially win toolchain future/psram_malloc by rudi ;-) 26.July 2017)

you can controll your gdb too:

Code: Select all

$ ./xtensa-esp32-elf-gdb -v
GNU gdb (crosstool-NG crosstool-ng-1.22.0-64-g47d56eb - unofficially win toolchain future/psram_malloc by rudi ;-) 26.July 2017) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-build_pc-cygwin --target=xtensa-esp32-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://esp32.com/viewtopic.php?f=18&t=2551 or https://twitter.com/eMbeddedHome>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
and you can test:

Code: Select all

$ ./xtensa-esp32-elf-gdb
GNU gdb (crosstool-NG crosstool-ng-1.22.0-64-g47d56eb - unofficially win toolchain future/psram_malloc by rudi ;-) 26.July 2017) 7.10
Copyright (C) 2015 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "--host=i686-build_pc-cygwin --target=xtensa-esp32-elf".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://esp32.com/viewtopic.php?f=18&t=2551 or https://twitter.com/eMbeddedHome>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word".
(gdb)
now put in show configuration
after the ourtput then at least then quit

Code: Select all

(gdb) show configuration
This GDB was configured as follows:
   configure --host=i686-build_pc-cygwin --target=xtensa-esp32-elf
             --with-auto-load-dir=$debugdir:$datadir/auto-load
             --with-auto-load-safe-path=$debugdir:$datadir/auto-load
             --with-expat
             --with-gdb-datadir=/home/sysop/live/crosstool-NG/builds/xtensa-esp32-elf/share/gdb (relocatable)
             --with-jit-reader-dir=/home/sysop/live/crosstool-NG/builds/xtensa-esp32-elf/lib/gdb (relocatable)
             --without-libunwind-ia64
             --without-lzma
             --with-python=/usr
             --without-guile
             --with-separate-debug-dir=/home/sysop/live/crosstool-NG/builds/xtensa-esp32-elf/lib/debug (relocatable)
             --with-sysroot=/home/sysop/live/crosstool-NG/builds/xtensa-esp32-elf/xtensa-esp32-elf/sysroot (relocatable)
             --without-babeltrace

("Relocatable" means the directory can be moved with the GDB installation
tree, and GDB will still find it.)
(gdb) quit
-------------------------------------
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 ;-) » Sat Jul 29, 2017 9:51 am

ESP_Sprite wrote:The heap allocator needs a few bytes for internal housekeeping, yes.
@jeroen
very well future!
honest!
very well!

i just discover the really nice difference from allocating and not allocating by ptr addr code ( full > 32Mbit.. )
and i must say - you did a very nice work on this pSRAM diver. @costaud you too :mrgreen:
this is realy your theme park - very well!

i only play with this theme for the last weeks
and have gained a lot of insight and makes a huge fun.
i hope you got an extra bonus for this great achievement!
your future is with me at the uppermost place.
too bad that this topic has started so stupid
a lot of strife could have been avoided.
( i like you :mrgreen: )

i just wanted to tell you: you did a great job for us all!

i try to put another(further) jewel on your crown,
i do not know if it will succeed, but I will let you know
that I am currently trying crazzy things just in time, cause got engineering pSRAM confident samples.

i think this can go further way as "reference thing" to use pSRAM in any of µControllers who support "SPI RAM"
and i will named it here "jro-N" tec and get in code the prefix "jro-N" in all functions.

you did nice work!

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 Aug 07, 2017 7:51 am

temp4eb wrote: Hi Rudi,
Thanx for your explain!And I will try it on Linux to generate the exe files for Msys2.By the way, the building on Cygwin64 had accomplished successful.

Code: Select all

./ct-ng build
[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20170726.130451
[INFO ]  Building environment variables
[INFO ]  =================================================================
[INFO ]  Retrieving needed toolchain components' tarballs
[INFO ]  Retrieving needed toolchain components' tarballs: done in 0.61s (at 00:26)
[INFO ]  =================================================================
[INFO ]  Extracting and patching toolchain components
[INFO ]  Extracting and patching toolchain components: done in 2.80s (at 00:29)
[INFO ]  =================================================================
[INFO ]  Installing ncurses for build
[INFO ]  Installing ncurses for build: done in 127.41s (at 02:36)
[INFO ]  =================================================================
[INFO ]  Installing GMP for host
[INFO ]  Installing GMP for host: done in 203.07s (at 05:59)
[INFO ]  =================================================================
[INFO ]  Installing MPFR for host
[INFO ]  Installing MPFR for host: done in 133.99s (at 08:14)
[INFO ]  =================================================================
[INFO ]  Installing ISL for host
[INFO ]  Installing ISL for host: done in 93.82s (at 09:47)
[INFO ]  =================================================================
[INFO ]  Installing MPC for host
[INFO ]  Installing MPC for host: done in 63.52s (at 10:51)
[INFO ]  =================================================================
[INFO ]  Installing expat for host
[INFO ]  Installing expat for host: done in 37.39s (at 11:29)
[INFO ]  =================================================================
[INFO ]  Installing binutils for host
[INFO ]  Installing binutils for host: done in 261.78s (at 15:50)
[INFO ]  =================================================================
[INFO ]  Installing C library headers & start files
[INFO ]  Installing C library headers & start files: done in 0.39s (at 15:51)
[INFO ]  =================================================================
[INFO ]  Installing pass-2 core C gcc compiler
[INFO ]  Installing pass-2 core C gcc compiler: done in 692.67s (at 27:24)
[INFO ]  =================================================================
[INFO ]  Installing C library
[INFO ]  Installing C library: done in 186.65s (at 30:30)
[INFO ]  =================================================================
[INFO ]  Installing final gcc compiler
[INFO ]  Installing final gcc compiler: done in 912.08s (at 45:43)
[INFO ]  =================================================================
[INFO ]  Installing cross-gdb
[INFO ]  Installing cross-gdb: done in 557.79s (at 55:01)
[INFO ]  =================================================================
[INFO ]  Cleaning-up the toolchain's directory
[INFO ]    Stripping all toolchain executables
[INFO ]  Cleaning-up the toolchain's directory: done in 14.46s (at 55:15)
[INFO ]  Build completed at 20170726.140004
[INFO ]  (elapsed: 55:13.04)
[INFO ]  Finishing installation (may take a few seconds)...
[55:15] /
i was little unhappy with time for build so
after i changed to my second Laptop i tested again a build
my build was now double faster ( 1/2 from your time )

;-)

Code: Select all

[INFO ]  Performing some trivial sanity checks
[INFO ]  Build started 20170806.224241
[INFO ]  Building environment variables
[INFO ]  =================================================================
[INFO ]  Retrieving needed toolchain components' tarballs
[INFO ]  Retrieving needed toolchain components' tarballs: done in 112.67s (at 01:54)
[INFO ]  =================================================================
[INFO ]  Extracting and patching toolchain components
[INFO ]  Extracting and patching toolchain components: done in 58.45s (at 02:52)
[INFO ]  =================================================================
[INFO ]  Installing ncurses for build
[INFO ]  Installing ncurses for build: done in 36.37s (at 03:29)
[INFO ]  =================================================================
[INFO ]  Installing GMP for host
[INFO ]  Installing GMP for host: done in 45.73s (at 04:14)
[INFO ]  =================================================================
[INFO ]  Installing MPFR for host
[INFO ]  Installing MPFR for host: done in 38.33s (at 04:53)
[INFO ]  =================================================================
[INFO ]  Installing ISL for host
[INFO ]  Installing ISL for host: done in 35.58s (at 05:28)
[INFO ]  =================================================================
[INFO ]  Installing MPC for host
[INFO ]  Installing MPC for host: done in 17.00s (at 05:45)
[INFO ]  =================================================================
[INFO ]  Installing expat for host
[INFO ]  Installing expat for host: done in 7.85s (at 05:53)
[INFO ]  =================================================================
[INFO ]  Installing binutils for host
[INFO ]  Installing binutils for host: done in 73.53s (at 07:07)
[INFO ]  =================================================================
[INFO ]  Installing C library headers & start files
[INFO ]  Installing C library headers & start files: done in 0.03s (at 07:07)
[INFO ]  =================================================================
[INFO ]  Installing pass-2 core C gcc compiler
[INFO ]  Installing pass-2 core C gcc compiler: done in 405.06s (at 13:52)
[INFO ]  =================================================================
[INFO ]  Installing C library
[INFO ]  Installing C library: done in 42.09s (at 14:34)
[INFO ]  =================================================================
[INFO ]  Installing final gcc compiler
[INFO ]  Installing final gcc compiler: done in 526.09s (at 23:20)
[INFO ]  =================================================================
[INFO ]  Installing cross-gdb
[INFO ]  Installing cross-gdb: done in 183.58s (at 26:24)
[INFO ]  =================================================================
[INFO ]  Cleaning-up the toolchain's directory
[INFO ]    Stripping all toolchain executables
[INFO ]  Cleaning-up the toolchain's directory: done in 1.39s (at 26:25)
[INFO ]  Build completed at 20170806.230906
[INFO ]  (elapsed: 26:25.28)
[INFO ]  Finishing installation (may take a few seconds)...
[26:25] / 


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

Who is online

Users browsing this forum: No registered users and 361 guests