-> I downloaded .zip crosstool-ng from
https://github.com/espressif/crosstool- ... _ram_patch
in windows PC.
-> Try to build it into linux PC with steps provided into doc.
-> Configured menuconfig same as given samples/xtensa-esp32-elf/crosstool.config
-> Followed steps given in docs.
-> With ./ct-ng build command I got following error at
Installing pass-2 core C gcc compiler
, all the steps before that successfully build,
ERROR LOGS :
Installing pass-2 core C gcc compiler
[ERROR] /data/rahul/crosstool-NG-xtensa-1.22.x-ext_ram_patch/.build/xtensa-esp32-elf/buildtools/xtensa-esp32-elf/include/machine/ieeefp.h:420:2: error: #error Endianess not declared!!
[ERROR] /data/rahul/crosstool-NG-xtensa-1.22.x-ext_ram_patch/.build/xtensa-esp32-elf/buildtools/xtensa-esp32-elf/include/machine/ieeefp.h:420:2: error: #error Endianess not declared!!
[ERROR] /data/rahul/crosstool-NG-xtensa-1.22.x-ext_ram_patch/.build/xtensa-esp32-elf/buildtools/xtensa-esp32-elf/include/machine/ieeefp.h:420:2: error: #error Endianess not declared!!
[ERROR] /data/rahul/crosstool-NG-xtensa-1.22.x-ext_ram_patch/.build/xtensa-esp32-elf/buildtools/xtensa-esp32-elf/include/machine/ieeefp.h:420:2: error: #error Endianess not declared!!
[ERROR] /data/rahul/crosstool-NG-xtensa-1.22.x-ext_ram_patch/.build/xtensa-esp32-elf/buildtools/xtensa-esp32-elf/include/machine/ieeefp.h:420:2: error: #error Endianess not declared!!
[ERROR] /data/rahul/crosstool-NG-xtensa-1.22.x-ext_ram_patch/.build/xtensa-esp32-elf/buildtools/xtensa-esp32-elf/include/machine/ieeefp.h:420:2: error: #error Endianess not declared!!
[ERROR] /data/rahul/crosstool-NG-xtensa-1.22.x-ext_ram_patch/.build/xtensa-esp32-elf/buildtools/xtensa-esp32-elf/include/machine/ieeefp.h:420:2: error: #error Endianess not declared!!
[ERROR] /data/rahul/crosstool-NG-xtensa-1.22.x-ext_ram_patch/.build/xtensa-esp32-elf/buildtools/xtensa-esp32-elf/include/machine/ieeefp.h:420:2: error: #error Endianess not declared!!
[ERROR] make[2]: *** [_muldi3.o] Error 1
[ERROR] make[2]: *** [_negdi2.o] Error 1
[ERROR] make[2]: *** [_ucmpdi2.o] Error 1
[ERROR] make[2]: *** [_cmpdi2.o] Error 1
[ERROR] /data/rahul/crosstool-NG-xtensa-1.22.x-ext_ram_patch/.build/xtensa-esp32-elf/buildtools/xtensa-esp32-elf/include/machine/ieeefp.h:420:2: error: #error Endianess not declared!!
[ERROR] /data/rahul/crosstool-NG-xtensa-1.22.x-ext_ram_patch/.build/xtensa-esp32-elf/buildtools/xtensa-esp32-elf/include/machine/ieeefp.h:420:2: error: #error Endianess not declared!!
[ERROR] make[2]: *** [_clear_cache.o] Error 1
[ERROR] make[1]: *** [all-target-libgcc] Error 2
[ERROR]
[ERROR] >>
[ERROR] >> Build failed in step 'Installing pass-2 core C gcc compiler'
[ERROR] >> called in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: CT_DoExecLog[scripts/functions@257]
[ERROR] >> called from: do_gcc_core_backend[scripts/build/cc/100-gcc.sh@545]
[ERROR] >> called from: do_gcc_core_pass_2[scripts/build/cc/100-gcc.sh@160]
[ERROR] >> called from: do_cc_core_pass_2[scripts/build/cc.sh@42]
[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] >> 'share/doc/crosstool-ng//B - Known issues.txt'
[ERROR]
[ERROR] (elapsed: 4:05.03)
[04:05] / ct-ng:152: recipe for target 'build' failed
-> I cloned toolchain in linux 64 bits pc.
->followed steps given in
http://esp-idf.readthedocs.io/en/latest ... ratch.html
-> With ./ct-ng build, I got error as below at first step in retrieving tarballs,
ERROR LOGS:
Building environment variables
[INFO ] =================================================================
[INFO ] Retrieving needed toolchain components' tarballs
[ERROR]
[ERROR] >>
[ERROR] >> Build failed in step 'Retrieving needed toolchain components' tarballs'
[ERROR] >> called in step '(top-level)'
[ERROR] >>
[ERROR] >> Error happened in: do_isl_get[scripts/build/companion_libs/121-isl.sh@741]
[ERROR] >> called from: do_companion_libs_get[scripts/build/companion_libs.sh@15]
[ERROR] >> called from: main[scripts/crosstool-NG.sh@591]
[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: 4:35.22)
[04:35] / ct-ng:152: recipe for target 'build' failed .
Little help will be appreciated.
Thanks
Hi Loboris or Espressif Systems SDK Developer,
I think you have already tried into Linux System to compile and access PSRAM on ESP32-WROVER Kit.
So, Would you please help us to compile PSRAM support patched tool-chain into Linux System in which we are facing some issues?
Let me know if need anything else from our side.
Regards,
Ritesh Prajapati
Some of the servers with needed toolchain components are not accessible at the moment (isl.gforge.inria.fr/).
You can download compiled (for Linux 64-bit) toolchain package from
my GitHub repository
.
Just unpack with:
You can download needed tarballs from
here
.
After cloning
crosstool-NG
, got to to the cloned directery and create
.build
directory.
Unpack the downloaded tarball archive to the .build subdirectory.
Now you can build following the instructions.
The whole procedure:
sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial
sudo apt-get install gawk gperf grep gettext python python-dev automake bison flex texinfo help2man libtool libtool-bin g++ libncursesw5-dev
cd ~/esp
git clone -b xtensa-1.22.x-ext_ram_patch https://github.com/espressif/crosstool-NG.git
cd crosstool-NG
mkdir .build
cd .build
wget http://loboris.eu/ESP32/crosstool-NG_psram_.build_tarballs.tar.xz
tar -xf crosstool-NG_psram_.build_tarballs.tar.xz
rm crosstool-NG_psram_.build_tarballs.tar.xz
cd ..
./bootstrap && ./configure --enable-local && make install
./ct-ng xtensa-esp32-elf
./ct-ng build
chmod -R u+w builds/xtensa-esp32-elf
loboris wrote:Some of the servers with needed toolchain components are not accessible at the moment (isl.gforge.inria.fr/).
You can download compiled (for Linux 64-bit) toolchain package from my GitHub repository.
Just unpack with:
You can download needed tarballs from here.
After cloning crosstool-NG, got to to the cloned directery and create .build directory.
Unpack the downloaded tarball archive to the .build subdirectory.
Now you can build following the instructions.
The whole procedure:
sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial
sudo apt-get install gawk gperf grep gettext python python-dev automake bison flex texinfo help2man libtool libtool-bin g++ libncursesw5-dev
cd ~/esp
git clone -b xtensa-1.22.x-ext_ram_patch https://github.com/espressif/crosstool-NG.git
cd crosstool-NG
mkdir .build
cd .build
wget http://loboris.eu/ESP32/crosstool-NG_psram_.build_tarballs.tar.xz
tar -xf crosstool-NG_psram_.build_tarballs.tar.xz
rm crosstool-NG_psram_.build_tarballs.tar.xz
cd ..
./bootstrap && ./configure --enable-local && make install
./ct-ng xtensa-esp32-elf
./ct-ng build
chmod -R u+w builds/xtensa-esp32-elf
Hi Loboris,
Thanks for valuable reply.
So, If I extract your 64 bit supported Toolchain then will it work directly into 64 bit supported Ubuntu 14.04 or 16.04 Linux System?
Also, I will try steps which you have provided to clone cross NG and will build into my system as well and will provide result as soon as possible.
Again thanks for your support.
Regards,
Ritesh Prajapati
Ritesh wrote:So, If I extract your 64 bit supported Toolchain then will it work directly into 64 bit supported Ubuntu 14.04 or 16.04 Linux System?
Yes. Tested on Ubuntu 16.04 & Ubuntu 17.04, but should work on any 64bit Linux system.
loboris wrote:
Ritesh wrote:So, If I extract your 64 bit supported Toolchain then will it work directly into 64 bit supported Ubuntu 14.04 or 16.04 Linux System?
Yes. Tested on Ubuntu 16.04 & Ubuntu 17.04, but should work on any 64bit Linux system.
Hi Loboris,
Thanks for quick response.
Tomorrow morning I will check it and get back to you if any issue while accessing it.
Regards,
Ritesh Prajapati
Hi Loboris,
Thanks for your help. Your provided toolchain for linux 64bits works fine. I tested dynamic memory allocation in PSRAM successfully.
Thanks.
Hi Loboris,
Thanks for quick support to resolve ESP32 Toolchain building issue for PSRAM support. We have checked sample example to malloc higher then 1 MB which works fine without any issue.
We have also checked data read/write on that buffer which is also works fine without any issue. SO, in short we can use up to 4 MB SPI PSRAM malloc for our application development purpose.
Hi Loboris / Espressif Systems Developer,
Right now, We have cloned psram_malloc branch to check PSRAM feature support which works fine but i think it has been included into master branch as well.
We have checked master branch as well but failed to malloc on PSRAM.
So, Do you have any idea that those PSRAM branch changes have been included into master branch or not? Espressif Systems Developer might have much idea for this.
Regards,
Ritesh Prajapati
Ritesh wrote:...We have checked master branch as well but failed to malloc on PSRAM.
So, Do you have any idea that those PSRAM branch changes have been included into master branch or not? Espressif Systems Developer might have much idea for this.
malloc is not yet supported, if spiram support is enabled, you can access psram region directly:
Ritesh wrote:...We have checked master branch as well but failed to malloc on PSRAM.
So, Do you have any idea that those PSRAM branch changes have been included into master branch or not? Espressif Systems Developer might have much idea for this.
malloc is not yet supported, if spiram support is enabled, you can access psram region directly:
Hi Loboris,
Yes of course simple malloc is not supported yet, but we tested it using pvPortMallocCaps(size, MALLOC_CAP_SPIRAM).
While using buffer = pvPortMallocCaps(10, MALLOC_CAP_SPIRAM), we got "buffer" address as 0x3f800008.
We tested it with 40MHz speed only. This works with feature/psram_malloc branch but not with current master branch.