raburton / rboot-sample Goto Github PK
View Code? Open in Web Editor NEWSample ESP 8266 SDK project demonstrating rBoot OTA
License: MIT License
Sample ESP 8266 SDK project demonstrating rBoot OTA
License: MIT License
Hi, tried the rboot-example project but can't get it to work. Successfully compiled esptool2, rboot and the rboot-sample, copied the necessary rboot files to the project flashed an ESP-01. I have tried and ESP with 8Mb (no modification to the linker scripts) and 4Mb (modified second linker script to reflect 4Mb memory), but after flashing nothing happens on the serial port. I know the modules are fine (other SW works). What am i missing here. I have tried SDK 1.3.0 and 1.4.1, same results. I'm obviously doing something wrong, but because there are no errors, I can't figure out what. I really love the concept of rboot and want to use it in my future OTA projects. Please help
Hello Raburton,
I'm using a webserver run with node.js, when the upgrade start, I have an issue at the first reply and the download fail.
After investigation, I have seen that the upgrade_recvcb function wait "Content-Length: " in the reply. but the response has "Transfer-Encoding: chunked" and no "Content-Length".
So, how do you proceed on server side to do an OTA with success?
Thank you in advance for your help.
Hi.
I think that the values:
#define OTA_HOST "192.168.7.5"
#define OTA_PORT 80
It should not be fixed.
How I can change this values by command?
i flashed with
esptool.py --port /dev/cu.usbserial-A7012RPU write_flash -fs 1MB -fm dout -ff 40m 0x00000 rboot.bin 0x02000 rom0.bin 0x82000 rom1.bin 0xfc000 blank4.bin
rboot.h #define BOOT_RTC_ENABLED or //#define BOOT_RTC_ENABLED didnt make any change..
11:20:32.325 ->
11:20:32.325 -> rBoot v1.4.2 - [email protected]
11:20:32.361 -> Flash Size: 8 Mbit
11:20:32.361 -> Flash Mode: DOUT
11:20:32.361 -> Flash Speed: 40 MHz
11:20:32.361 -> rBoot Option: RTC data
11:20:32.361 ->
11:20:32.361 -> Writing default boot config.
11:20:32.461 -> Booting rom 0 at 2000, load addr 33e20.
11:20:32.809 -> rf_cal[0] !=0x05,is 0xFF
11:20:32.881 ->
11:20:32.881 -> ets Jan 8 2013,rst cause:1, boot mode:(3,7)
11:20:32.881 ->
11:20:32.881 -> load 0x40100000, len 1548, room 16
11:20:32.881 -> tail 12
11:20:32.881 -> chksum 0x69
11:20:32.881 -> ho 0 tail 12 room 4
11:20:32.881 -> load 0x3ffe8000, len 680, room 12
11:20:32.881 -> tail 12
11:20:32.881 -> chksum 0xc6
11:20:32.881 -> csum 0xc6
11:20:37.468 ->
I am using this project with NON_OS_SDK 2.0. The code got compiled and most of it
is working. When i try to do a firmware upgrade it starts fetching the rom1.bin file but
the watchdog resets before completing the transfer from the server.
Hi, Can you tell me how do you determine which flash sector should be flashed with binary and booted from after update ?. Where is the structure variable "bootconf.roms[upgrade->rom_slot]" is getting the rom address. I am asssuming this example is for 1 MB Flash size. I am using a 2MB flash and my ota partitions are at address 0x1000 (OTA0) and 0x81000 (OTA1), each around 430 KB. Do we have to change something to get the OTA working on 2MB flash ? I read somewhere that we need to modify th elinker script to support OTA for different sizes.Can you tell ,me what should i change and which files for 2MB flash support. I have these following linker files in my project.
Thank you in advance.
Hi,
I've compiled the esp-open-sdk + esp2tool + rboot, all from master git branches, all seem to compile successfully.\
However, when i building rboot-sample i get
make
CC main.c
CC rboot-api.c
CC rboot-ota.c
CC uart.c
LD rom0.elf
/Volumes/case-sensitive/esp-open-sdk/sdk/lib/libmain.a(spi_flash.o): In function flash_gd25q32c_write_status': (.text+0x6d0): undefined reference to
Enable_QMode'
/Volumes/case-sensitive/esp-open-sdk/sdk/lib/libmain.a(spi_flash.o): In function flash_gd25q32c_write_status': (.text+0x6e1): undefined reference to
Enable_QMode'
collect2: error: ld returned 1 exit status
make: *** [build/rom0.elf] Error 1
I have tried compiling the SDK, with both
make STANDALONE=y and just the default build with 'make'.
Hope you can help.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.