MCUXpresso 11.7.1_9221, SDK "SDK_2.x_MIMXRT1024xxxxx" version 2.13.0.
I am attempting to add ethernet to my board, using the same phy as the eval board uses, however, when I add ethernet and lwip through the config tools, I get a warning from them saying I am missing drivers "driver.mdio-common" and "driver.mdio-enet". Right clicking and attempting to add them gives the error "Component was not found in the SDK package", even though, as far as I am aware, I have the entire SDK installed, with all options (downloaded through MCUXpresso).
If I ignore the warnings and attempt to build the project, I get build errors on MDIO_OPS, which makes sense because I don't have mdio drivers.
Is there something I am somehow missing in the SDK, or do I need to manually add these drivers?
I noticed that there was an update to the SDK, the most current version is now 2.14
However, when I refresh the SDK repository through MCUXpresso, it does not see the most up to date version (it only shows 2.13, and says that is the most up-to-date).
When I try and import the zip I built of it, I get many errors. Most of these errors are "Unable to find valid manifest file"
Is this normal?
Hello @GUnderdown,
As you mentioned a newer SDK version was released. Unfortunately, you could not use it in latest MCUXpresso IDE or ConfigTools version, because the new SDK version v2.14.0 is for upcoming MCUXpresso ConfigTools v14.
Talking with the development team, they plan to release the new MCUXpresso ConfigTools v14 very soon.
Best regards, Raul.
Hello @GUnderdown,
Could you please try adding the drivers as follows?
[MCUXpresso IDE -> ConfigTools -> Peripherals]
[Manage SDK components for project MIMXRT1024_Project]
If that does not work, could you please take pictures of your ConfigTools configuration, the warnings, and the build errors?
Best regards, Raul.
Attached are 5 images with my configuration information.
The first error I get is a missing include for "enet_ethernetif.h" from peripherals.h. The linting also hints at a missing "fsl_enet_mido.h", but the build exits before it gets to that.
Located at "lwip/port", there is an "enet_ethernetif.c", but no matching header. The C file just #includes a pair of headers and defines 2-3 functions. If I create the matching header and leave it empty, that satisfies the build (for now). The build then errors on a missing "fsl_enet_mdio.h" file.
The two functions in the file are ethernetif_enet_init(), which is just a declaration (no implementation in this file. Searching the workspace gives only the one reference (the best I can tell, this function is never given implementation). The other function is ethernetif_get_enet_base(). This gets called in enet_ethernetif_kinetis.c, and ethernetif_priv.h
void ethernetif_enet_init(struct netif *netif,
struct ethernetif *ethernetif,
const ethernetif_config_t *ethernetifConfig);
void *ethernetif_get_enet_base(const uint8_t enetIdx)
Hello @GUnderdown,
First of all, we apologize by the delay to answer you.
We could reproduce your issue, and we will let the team in charge to know about this for upcoming updates.
At the meantime, there is another suggestion/way that you could try to avoid the compilation errors:
Even though is not recommended to use older SDK versions, we tested the SDK_2.8.0_MIMXRT1024xxxxx and it includes the MDIO drivers. So might be a good idea, either to use the MDIO drivers for there to your own project by copying and pasting them, or to use the older SDK version (which as we mentioned before it is not recommended). You could download the SDK here: Welcome | MCUXpresso SDK Builder.
If you are going to use SDK_2.8.0_MIMXRT1024xxxxx, you may encounter a new warning, similar as the one you are obtaining in the newest SDK, but could be fixed by following the next steps:
[MCUXpresso IDE -> SDK Management]
[MCUXpresso IDE -> Available SDK components]
Best regards, Raul.