I am the author of miniwifi, a small arduino/stm32duino library and a firmware for ESP8266 devices. All communication between the two devices happens over the serial port using a custom protocol. The ESP8266 firmware has some features, but I was thinking of adding remote uploading of programs. By connecting a GPIO pin of the ESP8266 to the reset pin of the stm32 board I can reset the board and then upload the program over serial. What do you think? What is the best reference on the serial protocol and the uploading of programs?
Fotis
http://www.st.com/content/ccc/resource/ … 264342.pdf
the other alternate ways could involve having a different program running in stm32 itself that interacts with the esp8266 to download and program the flash from within stm32
Fotis
http://www.st.com/content/ccc/resource/ … 167594.pdf
has some (slight) differences in the boot configurations in particular the boot pins and the boot flow
for stm32f103 i think, what’s needed is to set boot0 (high) and simply reset
in an2606 12.2 p54 (the link above) there is a flowchart which shows that after reset simply send 0x7f on the uart and the bootloader/flash loader would get started
flash normally starts at 0x8000000, make room for the stm32duino boot loader and offset to 0x8002000 and for ‘stock maple’ boot loader 0x8005000.
i think the sequence would be first erase then write
I guess the sources of stm32flash is a very good resource, but I was wondering if there is a document about this.
Fotis
I guess the sources of stm32flash is a very good resource, but I was wondering if there is a document about this.
Fotis
You will need 4 pins, Reset, Boot0, Tx and Rx.
As well as the C code for the uploader, there is also a python version which is potentially easier to port.
You could also program via SWD, but the SWD pins are disabled in some sketch builds, so you would also need to reset the processor, so youd still meed 3 pins.
There is source on the web for programming via SWD, e.g. see the Blackmagic Probe, but porting the bits of that code would probably take much more effort.
As previously noted by @victor_pv, the usb bootloader only supports loading via DFU over USB, adding additional code to also support other protocols etc would be unnecessary bloat, as 99% users would not use the additional features
Do you happen to know where can I find the python version?
Fotis
Do you happen to know where can I find the python version?
Fotis
crc = lng
crc = lng

