Uploading and monitoring can be two seperate project tasks. If you look at PlatformIO IDE for VSCode — PlatformIO latest documentation you can first click “Upload”, then see if that worked, then reseat the jumpers and reset if you have to, then press “Monitor”.
However, after the DFU upload, actually shouldn’t need to reset the board’s BOOT0 jumper, the bootloader should automatically reboot the device to run the firmware.
That does not happen, I get nothing on my LCD until I Undo Boot0, and press the reset button.
Edit: After pressing the reset button and undoing Boot0 all is well and my code runs as i want it to.
Yes, the monitor does work. I put a delay in my code to give me enough time to reset the board and connect before it starts.
You should be able to replace the static delay with a
while(!Serial) {}
delay(100); //just a bit of safety delay
expression. (overloaded boolean operator on the Serial object returns whether someone actually established a USB connection).
When STM32Duino successfully runs on the board with the USB-serial, can you try uploading without re-setting into bootloader mode through BOOT0? I think STM32Duino implements a reset-to-bootloader-via-1200bps-Serial-open method.
Otherwise it sounds like you got it running succesfully on the board.
Update, you got me thinking:
I was using an actual jumper on boot0 / a little breadboard switch i made.
I just switched that out for a pushbutton, pressed it, and the reset button.
Then let go (and uploaded) and it booted right into the code. I was taking jumping out boot zero too literally. It just has to be jumped when the reset button is pressed.
Yes it is running. Thank you so much for this thread i honestly you enabled this whole project to get off the ground.
Here is a flow chart of my new process:
Boot0 pressed (held) → reset button pressed → boot0 released-> upload (works) → board goes right into code.
Results: Monitor works, other than the send on enter.
If i try to upload again without, Pressing Boot0 and repeating the cycle it fails to upload. That is expected correct?
I cant thank you enough for this, this board is honestly the only thing that can run our project cost effectively. You will most certainly be mentioned in the special thanks. I really appreciate the help.
I tried the blink example project for the Octopus board. The project complies and I put the firmware on the sdcard and it is not blinking the led after programming. I tried using the STM32CubeProgrammer , but the board is not recognized or assigned a communications port so I can not upload. Is there something I am missing?