Page 1 of 1
Build/Make problem with ESP32 compile
Posted: Sat Feb 29, 2020 10:01 am
by superace
Having fighting with this problem for days now I am stuck but I need this to work.
Ubuntu LTS 64bit, plenty of RAM plenty of CPU. I am trying to follow this guide
https://www.microdev.it/wp/en/2018/08/0 ... for-esp32/ but obviously I get it wrong somewhere.
I have created the example Makefile
Code: Select all
ESPIDF = /home/myuser/Micropython/esp32/esp-idf
#PORT = /dev/ttyUSB0
#FLASH_MODE = qio
#FLASH_SIZE = 4MB
#CROSS_COMPILE = xtensa-esp32-elf-
include Makefile
Followed the steps after and then
make crashes and "Too many open files" is the reason reference to Line 7 (if I understand correctly)
Line 7 being include Makefile.
Anyone seen this before? Hints?
I am using ESP32 with micropython already from pre-compiled files from the Micropython Download area. Great stuff! But I am now in need of Double precision and all the ESP32 files are single precision so I am forced to set up a local development environment.
Obviously it can be done, obviously I need help
Re: Build/Make problem with ESP32 compile
Posted: Sat Feb 29, 2020 10:57 am
by jimmo
hi,
The makefile that you create needs to be lower case "makefile", distinct from the upper case "Makefile" already in the repo.
When you run "make" it uses either a makefile or Makefile (in that order) from the current directory, so the idea here is that the makefile is used instead (which sets some things, then includes the real Makefile).
Re: Build/Make problem with ESP32 compile
Posted: Sat Feb 29, 2020 11:25 am
by superace
But of course, that makes sense
I was wondering how the include file could be including itself. Will test this tomorrow. Thank you.
Re: Build/Make problem with ESP32 compile
Posted: Sun Mar 01, 2020 4:27 am
by superace
Great advice! I have gotten my PC to create a usable software with double precision.
I still don't understand why the build size is 1.5Mb for the firware.bin file, aprox 3 times the file size found on the download page and I don't really get how to make sure I get the last stable version of 1.12 but that's something I can live with for the moment.
Thank you!
Re: Build/Make problem with ESP32 compile
Posted: Sun Mar 01, 2020 5:04 am
by jimmo
superace wrote: ↑Sun Mar 01, 2020 4:27 am
I still don't understand why the build size is 1.5Mb for the firware.bin file, aprox 3 times the file size found on the download page...
If you compile with single precision does it go back to the original size?
Because the ESP32 doesn't have hardware double-precision floating point, it needs to generate a lot of code to emulate double-precision. I'm surprised it's 3x though.
superace wrote: ↑Sun Mar 01, 2020 4:27 am
get the last stable version of 1.12 but that's something I can live with for the moment.
git checkout v1.12
Re: Build/Make problem with ESP32 compile
Posted: Sun Mar 01, 2020 6:09 am
by tve
superace wrote: ↑Sun Mar 01, 2020 4:27 am
I still don't understand why the build size is 1.5Mb for the firware.bin file, aprox 3 times the file size found on the download page and I don't really get how to make sure I get the last stable version of 1.12 but that's something I can live with for the moment.
Where do you get your sizes from? This is how the build of v1.12 ends for me:
Code: Select all
LINK build-GENERIC/application.elf
text data bss dec hex filename
1073163 266012 46364 1385539 152443 build-GENERIC/application.elf
Create build-GENERIC/application.bin
esptool.py v2.8-dev
Create build-GENERIC/firmware.bin
bootloader 21200
partitions 3072
application 1339312
total 1404848
Fortunately we can also look-up travis to see how the official release download was generated (
https://travis-ci.org/micropython/micro ... /627577916), here is how it ended:
Code: Select all
LINK build-GENERIC/application.elf
text data bss dec hex filename
1073755 267684 46356 1387795 152d13 build-GENERIC/application.elf
Create build-GENERIC/application.bin
esptool.py v2.8-dev
Create build-GENERIC/firmware.bin
bootloader 21280
partitions 3072
application 1341568
total 1407104
Not that different... (I used `DEBUG=1` which probably accounts for the difference...)
Here's a build of master:
Code: Select all
LINK build-GENERIC/application.elf
text data bss dec hex filename
1082073 268168 46444 1396685 154fcd build-GENERIC/application.elf
Create build-GENERIC/application.bin
esptool.py v2.8
Create build-GENERIC/firmware.bin
bootloader 21648
partitions 3072
application 1350368
total 1415904
Not that much bigger at all...