How does chipwhiperer compile user's own program

I want the target board to run the AES-256_RSM algorithm.But how does chipwhiperer compile user’s own program?

Your best bet will be to:

  1. Copy an existing project
  2. Add your required firmware to the project file
  3. Modify the main C file to run your code
  4. Modify SRC in the makefile to include your required source files
  5. You can also optionally change the TARGET variable to change the names of the output build files

As for specifics on how the build system works:

  • The makefile in the project folder includes Makefile.simpleserial, which adds required directories and C files for building simpleserial
  • It also includes, which has the main build instructions/build flags and includes hal/Makefile.hal and crypto/Makefile.crypto
  • Makefile.hal pulls in different makefiles based on which target your’e building for
  • These target makefiles add required directories, source files, additional build flags, and which compiler to use to build the firmware with
  • Makefile.crypto does similar things to Makefile.hal, except with crypto (i.e. TINYAES, MBED, etc)

I’d recommend just putting your AES implementation in the project folder and using CRYPTO_TARGET=NONE


Thank you very much for your detailed answer!