Comments (6)
Thank you for your comment @Jason2866.
Indeed, can also generate merged binaries using esptool.py merge_bin
command, they need to be flashed at the address 0.
There has been a feature request for esptool.py to produce .hex files, which would be self-descriptive — a user who got such a file wouldn't need to specify the address at all. Maybe that would be better user experience than automatically setting the flashing address.
Edit: have renamed the issue to a more general one.
from esptool-js.
Imho this change is not needed. Every ESP32 needs several files flashed at different addresses. The user always have to think about where to flash which file.
For example we generate merged firmware binaries for project Tasmota.
All variants for all MCUs needes to be flashed at address 0x0.
from esptool-js.
Nice, generated firmware files which includes the info on which address the should be flashed would be indeed a great enhancement.
from esptool-js.
As in like the (really) old (Intel?) HEX file format?
Wouldn't that increase filesize quite a bit?
On the other hand, lots of padded zeroes can be "compressed" into 0 bytes as each line starts with the "start address" of the next 16 bytes.
from esptool-js.
Yes, Intel hex. I did an experiment using this script to generate a .hex file from an IDF build directory. With the get-started/hello_world example:
-rw-r--r-- 1 ivan staff 26K Jan 11 18:47 build/bootloader/bootloader.bin
-rw-r--r-- 1 ivan staff 174K Jan 11 18:48 build/hello_world.bin
-rw-r--r-- 1 ivan staff 558K Jan 13 17:15 build/hello_world.hex
-rw-r--r-- 1 ivan staff 238K Jan 13 17:04 build/merged.bin
-rw-r--r-- 1 ivan staff 3.0K Jan 11 18:47 build/partition_table/partition-table.bin
558kB .hex file size is almost 3 times larger than the sum of the .bin file sizes. It's also twice as big as the "merged" binary. Is that going to be a problem? I don't think so, most people probably wouldn't notice much difference. When downloading such a file, it is likely to be gzip-encoded during transfer. So the only difference is storing 558kB vs 238kB on the PC.
from esptool-js.
Yep, that's true indeed.
Most browsers will try to request a GZipped transfer and if the server accepts it, it will probably be about the same size as the bin files GZipped.
from esptool-js.
Related Issues (20)
- Use stubs from esp-flasher-stub project
- Issue with ESP32-S3 and Baudrate 115200 HOT 2
- Live Demo no longer working HOT 4
- Make esptool-js available on Android device. HOT 3
- 使用这个工具烧录ESP8266总是失败 HOT 1
- Compatibiity With Electron HOT 4
- Provide Support For All SerialOptions While Opening Port Of Device (Web Serial API) HOT 1
- Separate environment specific bindings and make esptool-js usable from Node.js environment HOT 2
- Error: Cannot read properties of undefined (reading 'BOOTLOADER_FLASH_OFFSET') HOT 2
- Using this tool to burn MicroPython firmware on ESP8266 always fails HOT 4
- Browser module imports don't work HOT 7
- package.json library decleration leads esbuild to incorrectly importing index.js as a CommonJS file HOT 3
- Why was the Buffer dependency added? HOT 1
- Lolin S2 mini : Error: Invalid custom reset sequence HOT 1
- "unsupported command error"
- Monitor for ESP32-C6 HOT 7
- Timeout connecting, but works on adafruit version of esptool-js HOT 3
- When the flash is erased and the power is accidentally cut off, the connection will be stuck in "connecting..." HOT 2
- How can I flash an esp32 using files from a Github Release? HOT 7
- Is there any interest in supporting flashing of TinyUSB devices? HOT 9
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esptool-js.