Files
wolfssl/IDE/MCUEXPRESSO
Tobias Frauenschläger 29506d2cac build: distribute IDE project trees per-directory to fix "make dist"
The non-recursive automake "distdir" recipe inlines the entire $(DISTFILES)
list into a single shell command. Enumerating every IDE integration file
individually made that list large enough (~123 KB) that the recipe exceeded
the Linux MAX_ARG_STRLEN (128 KB) single-argument exec limit, so "make dist"
failed with:

    /bin/bash: Argument list too long
    make[2]: *** [distdir-am] Error 127

Replace the per-file EXTRA_DIST enumeration of the IDE directories with one
wholesale "EXTRA_DIST += IDE/<dir>" entry per directory (automake copies the
tree recursively). This collapses ~745 file entries into ~52 directory
entries and shrinks the top-level DISTFILES from ~123 KB to ~97 KB, well
under the limit.

The set of distributed IDE files is unchanged: a before/after "make dist"
diff shows no project file added or removed (only the now-unused include.am
build fragments are gone). Three directories that intentionally omit some
tracked files (apple-universal, MPLABX16, Renesas - private IDE configs,
.gitkeep placeholders, helper scripts) stay enumerated file-by-file.
2026-07-20 17:22:10 +02:00
..
2026-02-18 09:52:21 -07:00
2025-03-10 08:37:14 +10:00
2022-08-26 10:51:10 -07:00
2026-02-18 09:52:21 -07:00
2026-02-18 09:52:21 -07:00

  • Open MCUEXPRESSO and set the workspace to wolfssl/IDE/MCUEXPRESSO or to wolfssl/IDE/MCUEXPRESSO/RT1170 (for RT1170)
  • File -> Open Projects From File System... -> Directory : and set the browse to wolfssl/IDE/MCUEXPRESSO directory then click "select directory"
    • For RT1170 use the directory wolfssl/IDE/MCUEXPRESSO/RT1170
  • Select MCUEXPRESSO\wolfssl, MCUEXPRESSO\benchmark and MCUEXPRESSO\wolfcrypt_test then click "Finish"
    • For RT1170 select wolfssl_cm7, wolfcrypt_test_cm7
  • Right click the projects -> SDK Management -> Refresh SDK Components and click "yes"
  • MCUEXPRESSO fails to generate the files for wolfssl/MIMXRT685S with RT685 build, just copy the files from either benchmark or wolfcrypt_test into the directory
  • increase the size of configTOTAL_HEAP_SIZE in FreeRTOSConfig.h to be 200000 for wolfcrypt_test and benchmark projects
  • (note board files need to be recreated .... this can be done by creating a new project that has the same settings and copying over the generated board/* files)
  • Build the projects

Expanding RT1170 CAAM Driver

The files RT1170/fsl_caam_h.patch and RT1170/fsl_caam_c.patch include changes to the existing NXP CAAM driver for use with creating/opening Blobs and generating and using ECC black keys.

To apply the patches first create a project that has the caam driver. This will generate the base fsl_caam.c and fsl_caam.h in the drivers directory. (i.e wolfcrypt_test_cm7/drivers/fls_caam.{c,h}) . Once the base files are generated then 'cd' to the drivers directory and apply the patch. The following is an example of applying the patch to the PKCS7 example using Cygwin (cd wolfcrypt_test_cm7/drivers/ && /bin/patch < ../../fsl_caam_c.patch && /bin/patch < ../../fsl_caam_h.patch).

In the patch for fsl_caam.h there are macros defined for both the ECC and Blob expansion (CAAM_ECC_EXPANSION and CAAM_BLOB_EXPANSION). When wolfSSL code finds that these macros are defined (the patch has been applied) then it tries to compile in use of the expanded driver.

CMake example

See the cmake directory in https://github.com/wolfssl/wolfssl-examples for an example of building with CMake and CSR/PKCS7 examples.