Skip to main content
Explorer
September 17, 2024
Solved

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

  • September 17, 2024
  • 1 reply
  • 1633 views

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.
    Best answer by mƎALLEm

    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

     

    1 reply

    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

     

    FabianEbsAuthor
    Explorer
    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ƎALLEmAnswer
    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