New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: ESP32 support, version 2.0 refactoring #121
Conversation
Test runner supports esp32 but currently not enabled.
For quicker testing
This brings performance up to slightly better than V1.1 levels.
#else | ||
#include <stdint.h> | ||
#include <stdbool.h> | ||
#define NULL ((void *)0) /*FIXME*/ |
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.
#include <stddef.h>
?
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.
Thank you. I had a mental blank on what this header was called!
Works on ESP8266 & ESP32 (ESP32 has miniz in ROM, ESP8266 it's compiled into the stub.) Using compression is currently faster on ESP8266 but roughly same on ESP32, due to slower ESP32 default clock speed.
Brings features added in v1.2 into v2.0 branch (most notably flash size detection.)
Is it still possible to rely on non-vendored versions of those modules third party modules? The vendored modules are going to make it difficult to properly package esptool for various linux distributions like Debian, Ubuntu,and Fedora. |
Yes, at least this is intended (and I should explain this in the README, once I get around to updating it!) The third-party modules are named in setup.py install_requires, with the idea being that if you install via pip, or setup.py install, then you can use Python "system" modules for these. If you run esptool by cloning the repo (which a lot of people do, and it's currently how we include it in esp-idf) then you use the vendored copies. With Python 3 support coming, we may be able to some day reasonably expect that everyone has pip (hooray!) so it may be enough to have a requirements.txt and a note in the README. That would be nice. |
42c2b0b
to
02d23ce
Compare
Includes support for soft_reset aka "run user code" on ESP32.
02d23ce
to
f466fe9
Compare
Closes #153 Now only displays WiFi MAC, code to derive BT/AP MACs are pending.
f466fe9
to
1c03e7e
Compare
In line with the revision numbers in the ESP32 ECO document.
Merge commit 'cda4f2b5e5bc09571b55c4b5e6b1c9f5ec349514' into feature/esp32_v20_refactor
4603c7a
to
5f64329
Compare
Adds new --no-compress (-u) option Rework unit tests now default is to enable compression
5f64329
to
6fcf494
Compare
d14cb4e
to
b42a11d
Compare
2.0-dev has been in use for some time, so this helps differentiate log output. Not actually a release.
Work in progress to support ESP32 and a large amount of refactoring. Includes breaking changes compared to esptool.py v1.x (which will still be supported.)
New
--no-stub
argument can be used to disable stub loading. Not all functionality is available without the stub (as the ROM bootloaders don't support all of esptool.py's commands.)-fs 4MB
). Old megabit style (ie-fs 16m
) prints a deprecation warning.Still TODO for version 2:
esptool.py --no-stub write_image -z
uses zlib compression on ESP32. ESP32 & ESP8266 stubs do not yet support compressed writes.Split ELF & image generation features out ofesptool.py
into a newespimage.py
write_image should no longer edit the image header in flash by default. Either make a standalone command to write a new flash size, or require re-processing the binary viaespimage.py
.