29 lines
1.3 KiB
Markdown
29 lines
1.3 KiB
Markdown
# ENVIRONMENT
|
|
there is a docker image that contains the entire toolchain + flashing utility. first, you need to build the base docker image with the following script located in the ch32v-insert-coin directory:
|
|
```shell
|
|
$ ./init.sh
|
|
```
|
|
once built, you won't need to build this again. for the remainder of your development, you can use the following script:
|
|
```shell
|
|
$ ./build-run.sh
|
|
```
|
|
this will build the firmware image, and attempt to upload it to the board using `wlink`. once uploaded, it will attach a serial debugger.
|
|
|
|
# FLASHING
|
|
flashing is done using the [`wlink`](https://github.com/ch32-rs/wlink?tab=readme-ov-file#install) utility. `probe-rs` also works, but can be flaky, and does not support SDI prints very well.
|
|
|
|
the `wlink` utility will automatically detect the correct chip, but if it doesn't you can specify it with an additional argument.
|
|
|
|
`wlink --help` lists all the options to the `wlink` utility.
|
|
|
|
## DEVELOPMENT
|
|
when building using the rust toolchain, you can simply add the following to your `.cargo/config.toml`:
|
|
`runner = "wlink -v flash`
|
|
|
|
if you want to monitor prints via SDI, you can use the following instead:
|
|
`runner = "wlink -v flash --enable-sdi-print --watch-serial"`
|
|
|
|
## STANDALONE
|
|
when flashing standalone with the `wlink` utility, you can simply run the following:
|
|
`wlink -v flash <PATH_TO_BINARY>`
|
|
|