Skip to main content
Associate II
September 17, 2024
Solved

CMSIS_V2 causes "No rule to make target" error when used with ETH + LwIP

I am trying to implement MODBUS-TCP on a TouchGFX generated project. I have successfully enabled Ethernet by following this tutorial on this forum: How to create a project for STM32H7 with Ethernet and LwIP stack working and can ping my board.

In the tutorial mentioned above CMSIS_V1 is used, but for the MODBUS library which I want to use CMSIS_V2 is required ( Modbus-STM32-HAL-FreeRTOS ).

Now if I simply change CMSIS to V2, i get the error: 


make: *** No rule to make target '.../Ethernet_Test_TGFX/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c', needed by 'Middlewares/FreeRTOS/cmsis_os.o'. Stop.

 

Is this caused by dependencies not being updated properly or how can I solve this? I already tried Refresh+Clean.

.ioc file is attached.

Thanks!

This topic has been closed for replies.
mƎALLEm
mƎALLEmBest answer
ST Technical Moderator
September 17, 2024

As I don't have your TouchGFX project I cannot test it but you can remove cmsis_os.c from the project tree. 

cmsis_os2.c is already added..

SofLit_0-1726565553955.png

 

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.

4 replies

mƎALLEm
ST Technical Moderator
September 17, 2024

Hello,


@FabianEbs wrote:

make: *** No rule to make target '.../Ethernet_Test_TGFX/Middlewares/Third_Party/FreeRTOS/Source/CMSIS_RTOS/cmsis_os.c', needed by 'Middlewares/FreeRTOS/cmsis_os.o'. Stop.


cmsis_os.c is for CMSIS_V1, you need to use cmsis_os2.c and port your CMSIS V1 to CMSIS V2

SofLit_0-1726561827264.png

 

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.
FabianEbsAuthor
Associate II
September 17, 2024

Thanks for the reply!

 


@mƎALLEm wrote:

cmsis_os.c is for CMSIS_V1, you need to use cmsis_os2.c and port your CMSIS V1 to CMSIS V2

The error was caused by setting CMSIS setting from V1 to V2 in CubeMX, so i need to change something else, but what and where?

mƎALLEm
mƎALLEmBest answer
ST Technical Moderator
September 17, 2024

As I don't have your TouchGFX project I cannot test it but you can remove cmsis_os.c from the project tree. 

cmsis_os2.c is already added..

SofLit_0-1726565553955.png

 

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.