6 years, 11 months ago.

EthernetInterface produces compile errors with FRDM-K64F -

I have been using the EthernetInterface library successfully with my K64F project. Until now... to keep things simple I created a new project, based on FRDM_gpio, and imported the EthernetInterface and mbed_rtos libraries.

When I try to compile, I get this error message (and several more...):

Error: Too few arguments in invocation of macro "BW_MPU_CESR_VLD" in "EthernetInterface/lwip-eth/arch/TARGET_K64F/hardware_init_MK64F12.c", Line: 44, Col: 22

I did revert mbed_rtos to rev 47, but it looks as if the program is not getting as far as importing rtos.

Any suggestions? Presumably an earlier version of EthernetInterface will work, but which?

Thanks... David Jeffrey

1 Answer

6 years, 11 months ago.


I checked the latest master, the macro accepts 2 arguments, and it's invoked wiuth 2 arguments in the hardware_init_MK64F12.c file. This init file was updated a month ago, so I would suspect you are not using latests revisions.

Please check revisions, share the numbers with us. WE can look at it in the online IDE. From sources on github, looks that this error should not be present.

Update the mbed lib, that might be cause of your error.


Accepted Answer

Thanks, Martin, thanks for the help. - I did update all libraries before doing the test. mbed is rev 91, EthernetInterface rev 44. It seems that rev 22 of EthernetInterface/lwip-eth/arch/TARGET_K64F/hardware_init_MK64F12.c has introduced the problem. In line 44, BW_MPU_CESR_VLD is called with only one argument. And there are other errors - e.g. kClockModulePORT is undefined. Revert to rev 21 of lwip-eth and I can compile OK.

posted by David Jeffrey 12 Nov 2014

I checked http://developer.mbed.org/users/mbed_official/code/lwip-eth/file/fa7e1e2c6eb3/arch/TARGET_Freescale/hardware_init_MK64F12.c, REvision 22 of lwip-eth, there are 2 arguments, seems to be up to date to the mbed SDK master.

One more time, please make a summary what example and what revisions you have for all libs used withihn the example. I'll try to export it and duplicate.

posted by Martin Kojtal 13 Nov 2014

I got the problem by using the update option in mbed. I presumed that if you update the EthernetInterface library, it would update all its parts. However, it doesn't update included libraries. Updating lwip-arch to the latest version 22.fa7e1e2c6eb3 fixes it.

I have been trying to reproduce the issue I had with what I thought was rev 22 of lwip-arch, but no luck. May have been misreading the revisions list, thinking I was on 22 when I was in fact on rev 16!

But, a big question - is there a way to update all the parts of a library, including other libraries, without having do them one at a time? It would be nice to have a setting that gives the option of updating all included libraries.

Thanks again for your time.

posted by David Jeffrey 13 Nov 2014