1.3 KiB
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:
$ ./init.sh
once built, you won't need to build this again. for the remainder of your development, you can use the following script:
$ ./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 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>