The small RISC-V BLE MCU modules such as those from WeAct Studios among others typically offer 1 or 2 upload methodologies. At a minimum they offer an SWD/SWC interface for use with a WCH-Link Uploader module. This may or may not feature a corresponding header for quick connection to the Link. Even when it does there are several flavours of the WCH-Link with slight variations in the header pin-out. Some smaller modules forego the header (although the appropriate pins are available) and provide a USB-C connection. Although it is a serial port it is not intended for traditional serial output, only for uploading and some minimum boot control functions.

When all is well this port may be used for code upload as I described in my previous exploration of the WeAct Modules. The basic idea is downloading a a small uploader program to your computer and then invoking it from within the ".obj" directory of the Moun River project - where the project's ".hex" output file is located. You need to be light on your feet as you will need to dance on the BOOT button while cycling the power followed by hitting Enter to invoke the upload program.

On a recently arrived batch of CH582F modules I found this would not work - a MESSAGE was displayed. Connecting a WCH-Link did not solve my problem either. The modules appeared to be effectively bricked.

After some digging I found that the config registers in the chip were not configured correctly. These chips have internal boot configurations stored in flash.  They can be accessed via what WCH calls WCHISPTool_CMD. The Linux version of this tool is very cumbersome and poorly documented. Fortunately the good lads at ch32-rs have come up with Linux binaries written in Rust that get the job done. I gave more details in the abovementioned previous exploration. I developed a bash script which I called "CHisp". The eco-system under the Rust knows how to set the registers to their default boot configuration.

So all I ended up having to do was type wchisp config reset without hitting Enter..  cycle power to the board while holding down the BOOT button...  release the button and hit enter.  Some meaningful magic phrases appeared on the screen and I no longer had a brick. The boot registers had been set to their default state.