You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
surenyi
ddb737e552
|
1 year ago | |
---|---|---|
ch32v307 | 1 year ago | |
docs | 1 year ago | |
include | 1 year ago | |
lib/FreeRTOS-Kernel | 1 year ago | |
src | 1 year ago | |
.clangd | 1 year ago | |
.gitignore | 1 year ago | |
CMakeLists.txt | 1 year ago | |
README.md | 1 year ago | |
xpack-riscv.cmake | 1 year ago |
README.md
FreeRTOS demo 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