ESP8266 Developer ZoneThe Official ESP8266 Forum2016-05-13T16:48:19+08:00https://bbs.espressif.com:443/feed.php?f=16&t=21592016-05-13T16:48:19+08:002016-05-13T16:48:19+08:00https://bbs.espressif.com:443/viewtopic.php?t=2159&p=6884#p6884
i would like to download the entire f/w image in multiple of smaller chunks.
It needs your upgrade server to support this function.
And it is suggested that erasing the flash first, then download a small chunk of FW and write it into flash, and then download a small chunk of FW and write it into flash and so on.
Statistics: Posted by ESP_Faye — Fri May 13, 2016 4:48 pm
]]>2016-05-12T06:35:46+08:002016-05-12T06:35:46+08:00https://bbs.espressif.com:443/viewtopic.php?t=2159&p=6835#p6835 I'm implementing DFU OTA (over wifi) for a MCU (STM32F0). My target MCU is connected to ESP8266 over UART interface. The firmware for my target MCU is kept on a remote server which I can access over HTTP. So, the idea is to let ESP8266 download the firmware image and transfer it to STM32F0. The bootloader on STM32F40 takes care of erasing and programming the main flash memory of STM32F0. However, since I cannot have a very large buffer (Firmware binary file could be much larger than the maximum stack size of STM32F0) for storing the data received over UART, i would like to download the entire f/w image in multiple of smaller chunks. How should I go about doing this. For example, when I send AT+CIPSEND in following manner, I see the entire binary file on the wire
AT+CIPSEND=<len> > GET /pub/data/testurl/stm32f0.bin HTTP/1.1 Host:abc.xyz.com
This does not help, as I cannot create a large receive buffer. Ideally, I would like to instruct somehow, the offset and length of the HTTP data, but I haven't found a way to achieve this.