Gamadril/stm-serial-flasher

Support for PCBs with pre-initialised Boot Loader

sumps opened this issue · 8 comments

sumps commented

Your STM Serial Flasher Web App is really interesting and I get lots of requests from our users to allow our STM32 based product to be updateable via Macs, LINUX, etc.

Our PCBs have a jumper that needs to be fitted to put the device in Boot Loader mode after power up and it would be really great if your Web App had an option not to try and reset the STM32, but to assume that the boot loader is already running.

Would this be possible?

Do you mean the jumper to set is for the BOOT0 pin? In that case it should already work if you don't connect DTR and RTS lines, but only RX, TX and GND.

sumps commented

Yes, so I power our PCB up with a jumper in place and this makes the boot loader run. Then this is where I get to when I run the app, set the COM port and baud rate, open the file and click "Connect".

image

OK, I will check it. Which OS and browser are you using?

sumps commented

Windows 10 and Google Chrome
Version 88.0.4324.150 (Official Build) (64-bit)

I tested it on the stm32f4-discovery board with RX,TX,GND lines and BOOT0-VDD jumper set. I noticed that in the README RX/TX lines are swapped. I also noticed that I get errors on connect with 9600 baudrate. But apart from that I could connect to the device and get the chip info.
From your screenshot it seems that the serial port is opened, but the communication with the bootloader fails. Do you have an own bootloader on it or is it really the embedded one?

sumps commented

Thanks for your efforts on this. We use the standard STM32 boot loader on a STM32F103 processor. The STM Flash Demonstrator program for Windows works perfectly with our PCBs.

Does your web app, keep attempting to query the chip info? I did see on one occasion some Chip Info appear. Later today, I will try some other baud rates.

sumps commented

I tried; 38.4K, 56K and 112K and no success. Strangely my colleague tried on his Windows 10 laptop with Chrome and it worked. I have tried Chrome, Brave and Edge with no success.

I then fired up my LINUX laptop (running Ubuntu 18.04) and the web app could not enumerate the COM port, although it was in /dev/ttyusb0 and so I was unable to Pair a Port.

Enough for today :-(

I have no idea about Windows, but on Linux the problem might be the Modem Manager which is claiming exclusive access to the CDC device. Try

sudo systemctl stop NetworkManager.service
sudo systemctl disable NetworkManager.service