SDK Components: FreeRTOS dependencies missing? "portmacro.h" missing

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SDK Components: FreeRTOS dependencies missing? "portmacro.h" missing

1,228 Views
danielholala
Senior Contributor II

Hi,

just installed MCUXpresso IDE 11.8.0 and SDK_2.x_LPC5528.

Then I created a new C/C++ project from the Quickstart Panel:

  • On the tab "Operating System", I select "FreeRTOS Kernel".
  • Then I click "Finish".

Compiling this project aborts with an error:

 

In file included from C:\Users\Daniel\Documents\MCUXpressoIDE_11.8.0_1165\workspace\LPC5528_Project_test2\freertos\freertos-kernel\include/FreeRTOS.h:65,
                 from C:\Users\Daniel\Documents\MCUXpressoIDE_11.8.0_1165\workspace\LPC5528_Project_test2\component\uart/fsl_adapter_uart.h:14,
                 from C:\Users\Daniel\Documents\MCUXpressoIDE_11.8.0_1165\workspace\LPC5528_Project_test2\component\serial_manager/fsl_component_serial_port_uart.h:12,
                 from C:\Users\Daniel\Documents\MCUXpressoIDE_11.8.0_1165\workspace\LPC5528_Project_test2\component\serial_manager/fsl_component_serial_manager.h:136,
                 from C:\Users\Daniel\Documents\MCUXpressoIDE_11.8.0_1165\workspace\LPC5528_Project_test2\utilities/fsl_debug_console.h:26,
                 from ../source/LPC5528_Project_test2.c:18:
C:\Users\Daniel\Documents\MCUXpressoIDE_11.8.0_1165\workspace\LPC5528_Project_test2\freertos\freertos-kernel\include/portable.h:53:14: fatal error: portmacro.h: No such file or directory
   53 |     #include "portmacro.h"
      |              ^~~~~~~~~~~~~
compilation terminated.
Finished building: ../source/semihost_hardfault.c
make[1]: *** [source/subdir.mk:24: source/LPC5528_Project_test2.o] Error 1
Finished building: ../startup/startup_lpc5528.c
 

 

Obviously, the "portmacro.h" file is missing.

WHY IS THIS?

To fix this error, I have to "manage SDK components" and go to the tab "Middleware" and from there select "RTOS" and cm33_non_trustzone_port".

I think this should be handled by properly and carefully crafted dependencies between SDK components.

Thanks.

 

 

0 Kudos
Reply
7 Replies

1,205 Views
danielholala
Senior Contributor II

Screenshot, where one has to select the FreeRTOS port:

 

danielholala_0-1694437443740.png

 

0 Kudos
Reply

1,181 Views
RaRo
NXP TechSupport
NXP TechSupport

Hello @danielholala,

Thank you for pointing out this issue and share your workaround.

Let us double check, if there is any specific reason behind it. 

In any case, we will let the team in charge about this for future updates.

Best regards, Raul.

1,116 Views
danielholala
Senior Contributor II

Dear @RaRo ,

just figured that no FreeRTOS memory managers are added to the project (although FreeRTOS has been selected as SDK component for "operating system").

As you know, for FreeRTOS based projects all of the required FreeRTOS files reside in subfolder freertos. However, the five different implementations of memory managers are missing. They should appear in the subfolder "MemMang" but this folder is effectively empty:

danielholala_0-1694615424804.png

Can you reproduce this issue?

 

0 Kudos
Reply

1,097 Views
RaRo
NXP TechSupport
NXP TechSupport

Hello @danielholala,

Thanks for telling us about this detail.

We could reproduce it in our side. This seems to happen while creating a New Project. In FreeRTOS examples, the MemMang subfolder includes heap4.c. Let us report this issue to the team in charge.

Thanks again for the feedback.

Best regards, Raul.

0 Kudos
Reply

1,161 Views
danielholala
Senior Contributor II

Dear @RaRo ,

Thanks for responding.

While we are at it, I'd like to point out that the dependency issue is not limited to FreeRTOS component.

For example, this selection also generates a project that does not compile:

danielholala_0-1694510709025.png

I have no idea what "gint_adapter" and "lpc_gpio_adapter" do as there is no documentation on them but the project does not compile when both components are included.

0 Kudos
Reply

1,103 Views
RaRo
NXP TechSupport
NXP TechSupport

Hello @danielholala,

In this particular case, as you select both gint_adapter and lpc_gpio_adapter, there are some redefinitions which causes the compilation to fail. You might want to use only one of them to avoid getting compilation errors.

As you mentioned, not all the SDK code have documentation. Unfortunately, there is not a document for the abstraction layer. In this case we recommend you check the source code directly.

In any case, this issue has been reported before to team in charge as mentioned here: Solved: SDK Software component and abstraction layer docum... - NXP Community.

Let us know, if we can help with some other compilation errors.

Best regards, Raul.

0 Kudos
Reply

1,054 Views
danielholala
Senior Contributor II

@RaRo ,

Thanks for your reply. FYI, I don't use any of these components. I just wanted to let you know that the dependencies issue is not limited to FreeRTOS components.

0 Kudos
Reply