Template for C TDD that uses the cpputest framework/test harness.
This template uses Makefiles instead of CMake
| .template_files | ||
| build | ||
| cpputest@c3625dc668 | ||
| docs | ||
| inc | ||
| mocks | ||
| src | ||
| tests | ||
| .clang-format | ||
| .gitignore | ||
| .gitmodules | ||
| CMakeLists.txt | ||
| compile_commands.json | ||
| Doxyfile | ||
| issues.md | ||
| otto.sh | ||
| README.md | ||
| riscv32-toolchain.cmake | ||
| setup.sh | ||
CH32v003 Cmake + CppUTest Template
Goal
Be a flexable template repo for working with ch32v003 controllers while aslo inegrating TDD scripts using Cmake.
Requirements
- CMake
- Sh, Bash or compatible shell
- Make/GMake/BSDMake/etc
- clang/gcc
- clangd
- CppUTest(for unit tests)
- NewLIB/newlib-nano
Installing toolchain
FreeBSD:
sudo pkg install gawk gsed
git clone https://github.com/riscv-collab/riscv-gnu-toolchain.git
cd ./riscv-gnu-toolchain
git submodule update --init --recursive
mkdir ./build && cd ./build
# Create needed dir for the output.
mkdir /usr/local/riscv && chmod -R 0775 /usr/local/riscv
# Setup to build newlib for 32bit embedded and compressed cpus.
./configure --prefix=/usr/local/riscv --with-arch=rv32ec \
--with-arch=rv32ec \
--with-abi=ilp32e \
--with-multilib
make -j4 newlib
# Some Example options below.
make -j4 build-gcc1
make -j4 build-gcc2
make -j4 build-gdb
make -j4 build-libc
make -j4 build-llvm
make -j4 build-uclibc
make -j4 build-binutils
Linux:
Pretty much the same as FreeBSD, just follow the toolchain's README.md files
instructions.
TODO
- Add NewLib finding/functionality
- Add NewLib-nano finding/functionality
- Add ch32v003fun sources.
- Add example blinky default main.
- Add useful test examples.
- Add useful mock examples.
- Get Blinky to run on hardware.