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 | ||
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.