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

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

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

1,874 次查看
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 项奖励
回复
7 回复数

1,851 次查看
danielholala
Senior Contributor II

Screenshot, where one has to select the FreeRTOS port:

 

danielholala_0-1694437443740.png

 

0 项奖励
回复

1,827 次查看
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,762 次查看
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 项奖励
回复

1,743 次查看
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 项奖励
回复

1,807 次查看
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 项奖励
回复

1,749 次查看
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 项奖励
回复

1,700 次查看
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 项奖励
回复