Yilin Sun
d7f1c61ebc
Signed-off-by: Yilin Sun <imi415@imi.moe> |
||
---|---|---|
SDK@d18c9d0146 | ||
include | ||
src | ||
.clang-format | ||
.gitignore | ||
.gitmodules | ||
CMakeLists.txt | ||
LICENSE | ||
LICENSE.wch | ||
README.md | ||
riscv64-elf.cmake |
README.md
Template for WCH CH32V30x series MCU
How to use
- Write your own CMake toolchain file (see
riscv64-elf.cmake
for example) - Configure project and build as usual. (see below for a simple test)
Sample usage
mkdir build && cd build
cmake -DCMAKE_TOOLCHAIN_FILE=riscv64-elf.cmake ..
make -j${nprocs}
Notes
Startup files
There are two versions of startup assembly files, located at
BSP/Startup/startup_ch32v30x_D8.S
BSP/Startup/startup_ch32v30x_D8C.S
The first file is used for CH32V303 devices, which lacks of the following peripherals:
- Ethernet
- CAN2
- USBHS
- DVP
*** Change the startup file to the correct version for the hardware in use. ***
Compilers
These MCUs uses something called "RISC-V4F" core with Chinese documentation provided:
- Implemented RV32IMAFC ABI
Here is the list of features proprietary or incompatible with upstream toolchain:
- Fast IRQ handlers: uses a special attribute of
interrupt
, which value isWCH-Interrupt-fast