Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
esp32/README: Update based on new IDF v4 cmake build process.
Signed-off-by: Damien George <damien@micropython.org>
- Loading branch information
Showing
1 changed file
with
76 additions
and
169 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
e017f27
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
After some hiccups I could build the firmware, at least for GENERIC_SPIRAM. The GENERIC version does not build with some memory overflow errors. But also the SPIRAM version it too larger for the default app partition at 180000 hex size. Does anything object to increase it by default to 1f0000 hex, which is the space up the file system?
e017f27
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
idf.py
is part of the ESP-IDF. If yousource $IDF_PATH/export.sh
thenidf.py
should be in your path, and thenmake
should just work as it did before (I hope this is explained well enough in the new README...).It builds OK for me, and for CI. You need to use exactly the same toolchain which is installed by
$IDF_PATH/install.sh
.Yes indeed it is! I didn't notice that and there is no warning/error.... strange. I just checked the original build using make and IDF 4.0.1 and the images fit within 0x180000. So they must have increased in size due to IDF 4.0.2 and/or the new toolchain (in particular some SPIRAM issues may have been worked around by the new gcc and this may generate larger code). It's about a 50k increase though, which is a lot.
We will need to increase the partitions.csv so the images fit...
e017f27
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The GENERIC version builds now after removing BTREE. The fail may have been caused by including some own frozen modules. And I have increase the app partition to 1f0000 hex. But that's another story.
Another strange change is, that frozen scripts from the board specific manifest.py file are not included.
e017f27
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Building in release mode and disabling assertions cuts of about 200k of firmware size, so that's another option.
I just tried building with
make BOARD=TINYPICO
and it does pick up the manifest from this board.e017f27
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No luck. If I mode that section to board/manifest.py, it works. I faintly recall that I had that issue before, but I cannot remember how it was solved. No problem so far, since there is a way around.
e017f27
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
TINYPICO's mpconfigboard.cmake is different to the other board ones. In tinypico, the manifes line reads:
set(MICROPY_FROZEN_MANIFEST ${MICROPY_BOARD_DIR}/manifest.py)
For the other boards it's
set(MICROPY_FROZEN_MANIFEST ${MICROPY_PORT_DIR}/boards/manifest.py)
e017f27
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's also a partitions_ota.csv to consider... I would move up more incrementally...
e017f27
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As Damien mentioned: using the Release build setting the image is smaller.