Generating OTA files user1.bin/user2.bin
Generating OTA files user1.bin/user2.bin
Postby sharkx » Wed Jan 06, 2016 3:07 am
I'm using the Windows development setup with eclipse. Everything works fine when downloading the FW through serial.
However, I'm a bit in it over my head when it comes to creating the two files for the OTA update.
The makefile I'm using is probably outdated as it is completely different from makefiles in more recent versions of the SDK.
Anyone has any idea about how to create the OTA files on a Windows environment ?
As a side note, switching to a Linux environment is not an option.
Thanks in advance.
Re: Generating OTA files user1.bin/user2.bin
Postby ESP_Faye » Fri Jan 08, 2016 10:15 am
Here is a VirtualBox you can install on your windows PC and used for compilation. http://bbs.espressif.com/viewtopic.php?f=50&t=86
Could it help ?
Re: Generating OTA files user1.bin/user2.bin
Postby sharkx » Fri Jan 08, 2016 2:40 pm
It's Linux machine, though... Unless there are no other ideas, I was planning to try this this weekend.
I don't want to start the old debate of Windows-vs-Linux, but I'd like to avoid Linux, even as a VM.
Re: Generating OTA files user1.bin/user2.bin
Postby sharkx » Sun Jan 10, 2016 6:29 am
First, let me start with the fact that I have 512k modules, and the SDK version is 1.3.0.
Now, the FOTA document states that userX.bin which is made up of flash.bin+irom0text.bin can be up to 236k.
If I do a standard build, I get an 176.365 eagle.irom0text.bin file.
When I do a userX.bin build I get an ".irom.text will not fit in region irom0_0_seg" error.
Pretty obvious I'm running out of memory space. But ...
If I do a userX.bin build for an 1024k module (or more), the output files are 204k so I'm puzzled; this should easily fit with quite a margin into the 236k space available in the 512k modules according to the documents.
On another approach, I looked at the .ld files, and the size of the irom0_0_seg is 0x2B000 which is 172k; when I add up the flash.bin which is 32k, I get the 204k of the userX.bin file.
So the question is ... why can't the irom0_0_seg be bigger ? Where's the error in my calculations ?
Thanks in advance for any tip.
Re: Generating OTA files user1.bin/user2.bin
Postby ESP_Faye » Wed Jan 13, 2016 2:28 pm
irom0_0_seg is limited by your flash size.
Could the chapter "Flash Map" in documentation 2A-ESP8266__IOT_SDK_User_Manual help ?
Re: Generating OTA files user1.bin/user2.bin
Postby sharkx » Thu Jan 14, 2016 11:32 pm
Well... yes and no; actually, my problem is that the sources I compile are just a bit over 176 Kb. However, the flash.bin is just 32 Kb; the result is that the userX.bin file tops up at 204 Kb,which is less than the 236 Kb allowed by my flash size.
My question is what happens if I increase the size allowed for the irom0 while, of course, keeping the userX.bin files under 236 Kb ?
Re: Generating OTA files user1.bin/user2.bin
Postby ESP_Faye » Mon Jan 18, 2016 3:29 pm
Yes, you can change the ld file, notice that, for 512KB flash, flash.bin + irom0.bin can not larger than 236KB.
Thanks for your interest in ESP8266 !
Re: Generating OTA files user1.bin/user2.bin
Postby sharkx » Mon Jan 18, 2016 6:33 pm
More info here : viewtopic.php?f=7&t=1593
Who is online
Users browsing this forum: No registered users and 192 guests
Login
Newbies Start Here
Are you new to ESP8266?
Unsure what to do?
Dunno where to start?
Start right here!
Latest SDK
Documentation
Complete listing of the official ESP8266 related documentation release by ESPRESSIF!
Must read here!
- All times are UTC+08:00
- Top
- Delete all board cookies
About Us
Espressif Systems is a fabless semiconductor company providing cutting-edge low power WiFi SoCs and wireless solutions for wireless communications and Internet of Things applications. We are the manufacturer of ESP8266EX.