cancel
Showing results for 
Search instead for 
Did you mean: 

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

FabianEbs
Associate III

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!

1 ACCEPTED SOLUTION

Accepted Solutions

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 on "Accept as Solution" on the reply which solved your issue or answered your question.
PS: Be polite in your reply. Otherwise, it will be reported as inappropriate and you will be permanently blacklisted from my help/support.

View solution in original post

4 REPLIES 4
SofLit
ST Employee

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 on "Accept as Solution" on the reply which solved your issue or answered your question.
PS: Be polite in your reply. Otherwise, it will be reported as inappropriate and you will be permanently blacklisted from my help/support.

Thanks for the reply!

 


@SofLit 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?

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 on "Accept as Solution" on the reply which solved your issue or answered your question.
PS: Be polite in your reply. Otherwise, it will be reported as inappropriate and you will be permanently blacklisted from my help/support.

Yeah, that did the trick, thanks a lot!