Template for C TDD that uses the cpputest framework/test harness. This template uses Makefiles instead of CMake
Go to file Use this template
jakeg00dwin 8a8089b6c5 Added items to the todo list. 2024-12-06 22:31:48 -08:00
.template_files fixed issue with external linkage of "C" files 2024-03-20 16:10:10 -07:00
build Added empty dirs and hidden placeholders 2024-03-06 20:57:41 -08:00
cpputest@c3625dc668 added cpputest as a git-submodule 2024-03-06 21:29:39 -08:00
docs Added empty dirs and hidden placeholders 2024-03-06 20:57:41 -08:00
inc Added and included the "inc" directory in the project root. Also added in line to include the mocks dir 2024-06-14 13:38:04 -07:00
mocks added an empty cmake file into mocks 2024-03-15 14:23:11 -07:00
src uncommented 2024-12-06 22:28:03 -08:00
tests Added comment for automation use. 2024-03-18 19:30:40 -07:00
.gitignore added more files to ignore 2024-03-12 22:38:22 -07:00
.gitmodules added cpputest as a git-submodule 2024-03-06 21:29:39 -08:00
CMakeLists.txt removed uneeded lines. Also changed template name parameter 2024-12-04 19:52:15 -08:00
Doxyfile added my doxyfile for doxygen 2024-03-06 21:06:13 -08:00
README.md Added items to the todo list. 2024-12-06 22:31:48 -08:00
ch32v20x-toolchain.cmake Added comment/todo item 2024-12-06 22:28:14 -08:00
compile_commands.json added the compile commands symlink 2024-03-12 22:39:28 -07:00
otto.sh updated to use the fancy regex sed flag 2024-03-20 14:10:05 -07:00
setup.sh updated the build_cpputest() shell function 2024-03-06 21:47:04 -08:00

README.md

CH32V20X TDD template

Description

This is a TDD focused template that uses the cpputest testing harness and CMAKE for the build system. The build system and testing is held together with the use of the otto.sh script.

Dependencies

  • CMAKE >= 3.20
  • CppUTest >= 3.8
  • Bash/Sh shell
  • wchisp and/or wlink(rust pgrm)

Hardware Specific

Given this template targets the whole range of CH32V20X chips you will want to define their memory layout to reflect the chip you have chosen.

Using the template

Change project configuration

Basic Steps:

  1. Change project name parameter in CMakeLists.txt in root dir.
  2. Edit the memory layout file.

Setting up dependencies

Running Tests

echo "1" | ./otto.sh

Building Binaries

Flashing Micro-Controller

TODO

  • check shared libraries build correctly.
  • check if all compile options are same for all parts.
  • Setup linker script inclusion.
  • Add flash target/command.
  • Add size target/command.