Hi Anton,

 

Just wanted to ask if there are any updates regarding the build failure on Windows with the IAR compiler. I tried to build the head version on Win x64 for NXP LPC55S69  using

 

IAR ANSI C/C++ Compiler V8.50.9.278/W32 for ARM

GNU Make 3.81

git version 2.36.0.windows.1

CMake 3.24.2

Python 3.10.5

 

but I still get some errors. They are though not the same as during my previous try:

 

[ 77%] Building C object secure_fw/CMakeFiles/tfm_s.dir/__/platform/ext/target/nxp/lpcxpresso55s69/Device/Source/startup_lpcxpresso55s69.o

 

  extern typeof(__vector_table) __attribute__ ((alias ("__vector_table"))) __Vectors;

         ^

"C:\Work\TF-M\head\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",218  Error[Pe260]:

          explicit type is missing ("int" assumed)

 

  extern typeof(__vector_table) __attribute__ ((alias ("__vector_table"))) __Vectors;

                                ^

"C:\Work\TF-M\head\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",218  Error[Pe1113]:

          attributes are not permitted in a function definition

 

  extern typeof(__vector_table) __attribute__ ((alias ("__vector_table"))) __Vectors;

                                                                           ^

"C:\Work\TF-M\head\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",218  Error[Pe169]:

          expected a declaration

 

  void Reset_Handler(void)

       ^

"C:\Work\TF-M\head\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",228  Error[Pe099]:

          a declaration here must declare a parameter

 

  {

  ^

"C:\Work\TF-M\head\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",229  Error[Pe065]:

          expected a ";"

At end of source  Warning[Pe012]: parsing restarts here after previous syntax

          error

 

  extern typeof(__vector_table) __attribute__ ((alias ("__vector_table"))) __Vectors;

                ^

"C:\Work\TF-M\head\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",218  Warning[Pe1051]:

          standard requires that parameter "__vector_table" be given a type by

          a subsequent declaration ("int" assumed)

At end of source  Error[Pe130]: expected a "{"

At end of source  Error[Pe067]: expected a "}"

 

  extern typeof(__vector_table) __attribute__ ((alias ("__vector_table"))) __Vectors;

         ^

"C:\Work\TF-M\head\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",218  Error[Pe1154]:

          entity declared as alias cannot have definition

 

  extern typeof(__vector_table) __attribute__ ((alias ("__vector_table"))) __Vectors;

         ^

"C:\Work\TF-M\head\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",218  Error[Pe1153]:

          declaration does not match its alias variable "__vector_table @

          ".intvec""

make[2]: *** [secure_fw/CMakeFiles/tfm_s.dir/__/platform/ext/target/nxp/lpcxpresso55s69/Device/Source/startup_lpcxpresso55s69.o] Error 2

make[1]: *** [secure_fw/CMakeFiles/tfm_s.dir/all] Error 2

make: *** [all] Error 2

 

Could you please tell if there is any plan to fix these errors in the near future?

 

Another question regarding the latest release 1.6.1: I tried to build this too using the setup mentioned above, but I get an error for missing Perl:

 

CMake Error at C:/Program Files/CMake/share/cmake-3.24/Modules/FindPackageHandleStandardArgs.cmake:230 (message):

  Could NOT find Perl (missing: PERL_EXECUTABLE)

Call Stack (most recent call first):

  C:/Program Files/CMake/share/cmake-3.24/Modules/FindPackageHandleStandardArgs.cmake:594 (_FPHSA_FAILURE_MESSAGE)

  C:/Program Files/CMake/share/cmake-3.24/Modules/FindPerl.cmake:84 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)

  build/lib/ext/mbedcrypto-src/library/CMakeLists.txt:115 (find_package)

 

I installed Straberry Perl on my machine and added it to PATH, but the error still persists.  I tried also to re-run pip3 install -r tools\requirements.txt but it says that all the requirements are up-to-date. What am I missing here?

 

Thanks in advance.

Ildikó

 

From: Anton Komlev <Anton.Komlev@arm.com>
Sent: Monday, October 31, 2022 2:11 PM
To: Pocsai Ildiko LCPF-CH <Ildiko.Pocsai@mt.com>; tf-m@lists.trustedfirmware.org
Subject: Re: EXTERNAL - Trusted Firmware M build error on Windows 10

 

Hi Ildiko,

 

Thanks for reporting. The same defect is reproducible on other platforms and possibly caused by some recent changes.

Let me update you here when fix be available.

 

Best regards,

Anton

 

From: Pocsai Ildiko LCPF-CH via TF-M <tf-m@lists.trustedfirmware.org>
Sent: Monday, October 31, 2022 5:56 AM
To: tf-m@lists.trustedfirmware.org
Subject: [TF-M] Trusted Firmware M build error on Windows 10

 

Hello,

 

I’m trying to build the Trusted Firmware M on Win10 x64 for NXP LPC55S69 using the IAR compiler, but I get the following error:

 

[ 76%] Building C object secure_fw/CMakeFiles/tfm_s.dir/__/platform/ext/target/nxp/lpcxpresso55s69/Device/Source/startup_lpcxpresso55s69.o

 

  extern uint32_t __INITIAL_SP;

                  ^

"C:\Work\TF-M\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",29  Error[Pe007]:

          unrecognized token

 

  extern uint32_t __INITIAL_SP;

                  ^

"C:\Work\TF-M\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",29  Error[Pe065]:

          expected a ";"

 

  extern uint32_t __INITIAL_SP;

                  ^

"C:\Work\TF-M\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",29  Error[Pe007]:

          unrecognized token

 

  extern uint32_t __STACK_LIMIT;

                  ^

"C:\Work\TF-M\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",30  Error[Pe007]:

          unrecognized token

 

  extern uint32_t __STACK_LIMIT;

                  ^

"C:\Work\TF-M\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",30  Error[Pe065]:

          expected a ";"

 

  extern uint32_t __STACK_LIMIT;

                  ^

"C:\Work\TF-M\trusted-firmware-m\platform\ext\target\nxp\lpcxpresso55s69\Device\Source\startup_lpcxpresso55s69.c",30  Error[Pe007]:

          unrecognized token

 

    (VECTOR_TABLE_Type)(&__INITIAL_SP),            /*      Initial Stack Pointer */

 

In the attachment, you can find the full build log and also the CMake build file generation log.

 

Some details about my setup:

 

Win10 Enterprise x64. Version 20H2

IAR ANSI C/C++ Compiler V8.50.9.278/W32 for ARM

GNU Make 3.81

git version 2.36.0.windows.1

CMake 3.24.2

Python 3.10.5

 

I followed the steps from the Getting started guide here than the steps to build the framework for LPC55S69 here.

 

Do you have any idea what I’m missing?

 

In case you need any further information let me please know.

 

Thanks in advance.

 

Kind regards,

Ildikó Pocsai