The fix is merged.

Thanks to Chris for reporting this issue.

Also thanks to Mark for such a quick fix.

 

Best regards,

Hu Ziji

 

From: TF-M <tf-m-bounces@lists.trustedfirmware.org> On Behalf Of Mark Horvath via TF-M
Sent: Thursday, June 17, 2021 2:59 PM
To: tf-m@lists.trustedfirmware.org; Chris.Brand@infineon.com
Subject: Re: [TF-M] Building for Musca B1 with proxy service

 

Hi Chris,

 

The build failure is a regression caused by moving the arm platforms under arm directory. Here is the patch to fix it:

https://review.trustedfirmware.org/c/TF-M/trusted-firmware-m/+/10333

 

No need to pass artifacts from SE build to SSE-200 build, and the warning about the redefinition is not nice, but that does not cause any issue.

 

Best regards,

Mark


From: TF-M <tf-m-bounces@lists.trustedfirmware.org> on behalf of Chris.Brand--- via TF-M <tf-m@lists.trustedfirmware.org>
Sent: Wednesday, June 16, 2021 11:34 PM
To: tf-m@lists.trustedfirmware.org <tf-m@lists.trustedfirmware.org>
Subject: [TF-M] Building for Musca B1 with proxy service

 

Hi,

 

I’m trying to build for the Musca B1 with the proxy service. I understand that I have to two separate builds, one for the secure_enclave and one for the SSE-200. The secure enclave build works fine, but I’m getting errors for the SSE-200 build and my various attempts to get around them have all failed. I’m (also) wondering if there are artifacts form the secure_enclave build that need to feed into the SSE-200 build somehow, and if so how that works.

 

Here's my command line and resulting errors:

cmake -S . -B build_musca_sse200_GNUARM_Relwithdebinfo '-GUnix Makefiles' -DTFM_PLATFORM=arm/musca_b1/sse_200 -DTFM_TOOLCHAIN_FILE=toolchain_GNUARM.cmake -DCMAKE_BUILD_TYPE=Relwithdebinfo -DTFM_PSA_API=ON -DFORWARD_PROT_MSG=ON

 

In file included from /lhome/cbrand/work/trees_2/psoc6_atfm/trusted-firmware-m/platform/ext/target/arm/musca_b1/sse_200/bl0/bl0_main.c:17:0:

/lhome/cbrand/work/trees_2/psoc6_atfm/trusted-firmware-m/platform/ext/target/arm/musca_b1/sse_200/Device/Include/cmsis.h:63:10: fatal error: core_cm33.h: No such file or directory

#include <core_cm33.h>    /*!< Arm Cortex-M33 processor and core peripherals */

          ^~~~~~~~~~~~~

compilation terminated.

/lhome/cbrand/work/trees_2/psoc6_atfm/trusted-firmware-m/platform/ext/target/arm/musca_b1/sse_200/Device/Source/gcc/startup_cmsdk_musca_bl2.S:20:10: fatal error: tfm_plat_config.h: No such file or directory

#include "tfm_plat_config.h"

          ^~~~~~~~~~~~~~~~~~~

compilation terminated.

In file included from /lhome/cbrand/work/trees_2/psoc6_atfm/trusted-firmware-m/platform/ext/target/arm/musca_b1/sse_200/Device/Include/platform_description.h:23:0,

                 from /lhome/cbrand/work/trees_2/psoc6_atfm/trusted-firmware-m/platform/ext/target/arm/musca_b1/sse_200/Device/Source/system_core_init.c:23:

/lhome/cbrand/work/trees_2/psoc6_atfm/trusted-firmware-m/platform/ext/target/arm/musca_b1/sse_200/Device/Include/cmsis.h:63:10: fatal error: core_cm33.h: No such file or directory

#include <core_cm33.h>    /*!< Arm Cortex-M33 processor and core peripherals */

          ^~~~~~~~~~~~~

compilation terminated.

/lhome/cbrand/work/trees_2/psoc6_atfm/trusted-firmware-m/platform/ext/target/arm/musca_b1/sse_200/Device/Source/device_definition.c:29:10: fatal error: tfm_plat_defs.h: No such file or directory

#include "tfm_plat_defs.h"

          ^~~~~~~~~~~~~~~~~

compilation terminated.

[…]

<command-line>:0:0: warning: "FORWARD_PROT_MSG" redefined

<command-line>:0:0: note: this is the location of the previous definition

<command-line>:0:0: warning: "FORWARD_PROT_MSG" redefined

<command-line>:0:0: note: this is the location of the previous definition

<command-line>:0:0: warning: "FORWARD_PROT_MSG" redefined

<command-line>:0:0: note: this is the location of the previous definition

<command-line>:0:0: warning: "FORWARD_PROT_MSG" redefined

<command-line>:0:0: note: this is the location of the previous definition

<command-line>:0:0: warning: "FORWARD_PROT_MSG" redefined

<command-line>:0:0: note: this is the location of the previous definition

<command-line>:0:0: warning: "FORWARD_PROT_MSG" redefined

<command-line>:0:0: note: this is the location of the previous definition

[…]

platform/target/bl0/CMakeFiles/bl0.dir/build.make:86: recipe for target 'platform/target/bl0/CMakeFiles/bl0.dir/bl0_main.o' failed

gmake[2]: *** [platform/target/bl0/CMakeFiles/bl0.dir/bl0_main.o] Error 1

gmake[2]: *** Waiting for unfinished jobs....

platform/target/bl0/CMakeFiles/bl0.dir/build.make:138: recipe for target 'platform/target/bl0/CMakeFiles/bl0.dir/__/Device/Source/system_core_init.o' failed

gmake[2]: *** [platform/target/bl0/CMakeFiles/bl0.dir/__/Device/Source/system_core_init.o] Error 1

platform/target/bl0/CMakeFiles/bl0.dir/build.make:125: recipe for target 'platform/target/bl0/CMakeFiles/bl0.dir/__/Device/Source/device_definition.o' failed

gmake[2]: *** [platform/target/bl0/CMakeFiles/bl0.dir/__/Device/Source/device_definition.o] Error 1

platform/target/bl0/CMakeFiles/bl0.dir/build.make:81: recipe for target 'platform/target/bl0/CMakeFiles/bl0.dir/__/Device/Source/gcc/startup_cmsdk_musca_bl2.o' failed

gmake[2]: *** [platform/target/bl0/CMakeFiles/bl0.dir/__/Device/Source/gcc/startup_cmsdk_musca_bl2.o] Error 1

CMakeFiles/Makefile2:2539: recipe for target 'platform/target/bl0/CMakeFiles/bl0.dir/all' failed

gmake[1]: *** [platform/target/bl0/CMakeFiles/bl0.dir/all] Error 2

gmake[1]: *** Waiting for unfinished jobs....

 

This is from a clean checkout of 54d47fbd5269 (current HEAD).

 

I see that my tree does contain platform/ext/cmsis/core_cm33.h, platform/include/tfm_plat_config.h and platform/include/tfm_plat_defs.h so I guess it’s the include paths that are messed up somehow…?

 

Thanks,

 

Chris Brand

 

Cypress Semiconductor (Canada), Inc.

Sr Prin Software Engr

CSCA CSS ICW SW PSW 1

Office: +1 778 234 0515

Chris.Brand@infineon.com