-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
Just a thought. Large http.Updates #4252
Comments
Ok So I tried a quick test and looks like Option 1 will work. Be nice if Option 2 was possible though. |
For the generic board and 64MB we currently have at least 16MB(15MB spiffs) and 4M(3MB spiffs) (which you seem to use). I'm not an expert myself about OTA constraints, but beeing able to live-update 1MB sketchs would be I guess very welcome. Please share your findings. Out of topic, your original concern beeing binary size, you have now two ways of reducing it. Consider |
Hi @d-a-v I am guessing that you refer to editing/recompiling the Source I am still running 2.3, as my projects when compiled on 2.4 have a few issues. Hv. |
@Hiddenvision You need latest git master ("nightly" version after 2.4.0) for the mentioned points above. No need to edit source files. When you have dealt with your other 2.4.0 issues, I guess core-2.4.1 will be available through the boards manager, which will include the mentioned options. edited |
I had a play with various things. I have attached the .ld files and also made the edits to the boards.txt.py file On that subject of numbers what is the largest compiled sketch the ESP will run. This was a very trim & Edited Boards.txt file So if you want to try, ?? It may work if you put the boards.txt.py file in place but as it is missing from the install I guess not. ?? 5: Restart the IDE. if it all goes pear shaped, read this post backwards to reverse the process. Hv. |
Just to update on the findings. I just updated to 2.4 x-ESP8266-free-space: 1605632 Re compiled again Started update process again. x-ESP8266-free-space: 1564672 And after a reboot. x-ESP-fw-ver: 1802012220 just gotta work on that POST ARGS Error I get on some pages with 2.4 and were sorted. Now just got to find a pretty way to optimise all the F() Strings. Hv. |
Why not making a pull request for these ?
someone corrects me, I think 1MB is the max addressable program space by design. |
Ran out of coffee. But hey, I am pretty good at cooking a sponge cake.
Darn, 1MB limit, Who would'a thunk it. Hv. |
Yep 2.4 handles things slightly different. |
I am wrong but that's another story. |
This was the required edits for the new version boards.txt.py That looked rubbish, Zip file below. |
Hello! Can you a make a pull request with posibility of OTA > 500k, or at least post your findings here? |
hi @sukretniy I thought I had posted my findings above. But you can either edit the boards txt file directly of edit the .py file to build a new text file. I can say that my esp devices are working fine giving (1+1) 2MB of Code space and 2MB of FS. Hv. |
Yep just checked, all what I know is written above. The included zip files dotted about above will have the ldr files that were needed. But too long ago for me to remember clearly so just feel your way thru and shout again when you get lost. Hv. |
From memory the python script above had an error. So this zip is from my current working environment. Hv. |
Looks like support for the 4M2M it is actually in the current release. Hv. |
Thank you for your help. 1: Download the update.Bin from http into FS, Can not understand, how memory allocation Now I'm thinking on this
With this approach my firmwares can be more than 512K and modules can have 1M total. |
@Hiddenvision is talking about 4MB flash and 2MB spiffs. |
Ahh, 2M device. Otherwise, the concept of downloading a small update only bit of code then downloading the larger UPDATE works. To do that just take a copy of your existing code and get rid of any code with exception of the stuff needed to do the OTA and perhaps some rescue code for those unforeseen fail events. Having typed that I realise I never did the saving the BIN to FS and then Flashing from the FS. I am away right now so will give it some more thought when I get back. Hv. |
After looking over the chain, I can't seem to find an issue here. Closing, but if someone has a specific problem, feel free to reopen. |
Sorry if this is the wrong place for suggestions but delete as required.
To Precede.
I've been using the http Update process (v2.30) for a year or two. Very happy.
But I guess my code has always been smaller than 500k as I never had any failed to update.
Recently updated to V2.4 and Bam, updates fail. (Due to Sketch being too big).
V2.3 Binsize 489k
V2.4 Binsize 538k
Got me thinking.?
Is it possible to:
1: Download the update.Bin from http into FS,
2: Then flash a small Minimal Bin file from FS and reboot,
3: Then finally the minimal boot will simply mounts the FS and flash the main update.bin and reboot again.
4: On reboot delete the update bin if required.
Would that Present any issues? Apart from someone having to write the code.!
OR
Can the Flash allocation be changed to give 1M + 1M + 2MB
rather than the current 512 + 512 + 3MB
I actually use 64Mb memory so lots of space to play with.
Sorry again if this is posted in the wrong place.
Hv.
The text was updated successfully, but these errors were encountered: