Updated Flashing (markdown)

Eric Helgeson 2022-04-20 10:29:06 -05:00
parent 923018a386
commit 512bd0d58a

@ -1,81 +1,10 @@
## Users
**NOTE: You probably want to use the updater!**
Users of BlueSCSI should follow the instructions over at [BlueSCSI-Updater](https://github.com/erichelgeson/BlueSCSI-Updater) to update their devices.
## Developers
These options are for developers and advanced users.
When flashing you have two options:
1. Flash by setting up the Visual Studio Code IDE, installing the ARM toolchain and PlatformIO extensions, and re-compiling and programming. If you are a developer and plan to contribute this method is what you should use.
1. You may also flash the `.bin` file directly from [STM32CubeProgrammer](https://www.st.com/en/development-tools/stm32cubeprog.html). Use this method if you are not a developer and just wish to get the code to the BluePill.
### Using STLink v2
#### Setup STLinkV2
Be sure to buy the "Clone" STLink V2 programmer - **the official STLink programmer does not work**.
![stlink](https://user-images.githubusercontent.com/271734/160190399-a3275132-822e-42ad-894b-af20bde0e57f.png)
* Make sure the STLinkV2 is up to date - [Latest Firmware](https://www.st.com/en/development-tools/stsw-link007.html)
* Connect pins `SWDIO`, `GND`, `SWCLK`, and `3.3v` from the programmer to the Blue Pill.
* NOTE: These are not the same as Serial ports.
#### Procedure (STM32CubeProgrammer)
* Remove SD Card
* Open STM32CubeProgrammer
* Move the `BOOT0` jumper (furthest from the reset button) to `1`
* Push the reset button on the BluePill
* Click Connect in STM32CubeProgrammer
* Select the .bin file and program.
* Move `BOOT0` jumper back to 0
* Push the reset button on the BluePill
* You should see the LED `PC_13` flashing 5x indicating no SD Card detected.
#### Procedure (PlatformIO)
* Remove SD Card
* Move the `BOOT0` jumper (furthest from the button switch) to `1`
* Push the reset button on the BluePill
* Run the [PlatformIO: Upload task](https://docs.platformio.org/en/latest/integration/ide/vscode.html#project-tasks).
* Expected output:
```
Uploading .pio/build/genericSTM32F103C8/firmware.elf
xPack OpenOCD, x86_64 Open On-Chip Debugger 0.10.0+dev-00378-ge5be992df (2020-06-26-12:31)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
debug_level: 1
0
hla_swd
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x08000194 msp: 0x20000690
** Programming Started **
** Programming Finished **
** Verify Started **
** Verified OK **. <-- Everything flashed OK
** Resetting Target **
```
* Move `BOOT0` jumper back to `0`
* Push the reset switch on the BluePill
* You should see the LED `PC_13` flashing 5x indicating no SD Card detected.
The following YouTube video demonstrates the steps of flashing & updating your BlueSCSI https://www.youtube.com/watch?v=bRLAOts_MTM
### Trouble Shooting
Move the jumper furthest away from the `RESET` switch to 1. Reset and try to program again.
If the device is not detected you may need to hold reset, click program, once it is detected release reset.
If you are unable to get the device in DFU mode for programming you may need to use `STM32CubeProgrammer` to erase the chip.
## Alternative upload methods
See the [uploading documentation](https://docs.platformio.org/en/latest/boards/ststm32/bluepill_f103c8.html#uploading) on PlatformIO for alternatives.
If you are a developer of BlueSCSI - advanced flashing instructions are here https://github.com/erichelgeson/BlueSCSI/wiki/Flashing-(Advanced)