Address Resolution Protocol (ARP) stops working after updating xip_board

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Address Resolution Protocol (ARP) stops working after updating xip_board

1,067 Views
D_TTSA
Contributor V

Good day

I want to add a driver via the SDK components menu in MCUXpresso. When I tried this, the component manager showed me this error, and did not allow me to proceed:
D_Tram23_0-1636101444049.png

I noticed that I have two xip_board options:
D_Tram23_1-1636101499786.png

This looks really weird, because they both show the same version number.

Anyway, I deselected the first xip_board and selected the second xip_board. This solved the error shown above. I clicked OK and accepted the changes to be made.

Based on the changes made in the files (most of the drivers had updates, and so did the FreeRTOS kernel and LWIP middleware), I could see that the xip_board I used is a more up-to-date version (the file changes showed later build numbers and later dates in the comments).

Before making these changes, I could use LWIP to connect to my computer. After updating xip_board like this, the address resolution protocol doesn't work. My PC keeps sending "Who has 20.0.0.1?", and the microcontroller doesn't respond (see attached Wireshark capture).
Before changing xip_board, I could get a response from the board by pinging it in cmd:

D_Tram23_2-1636102078537.png

After updating xip_board, I don't get a response anymore:

D_Tram23_3-1636102115623.png

I've inspected the changes in the drivers, but I can't see anything that would cause this issue.
Note that the PHY is initialised properly and auto-negotiation is successful.

Please let me know if anyone has an idea.

Kind regards

0 Kudos
4 Replies

1,039 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi 

 

Could you please let me know how to reproduce your issue on my side?  which SDK version?

Please check whether you have enabled XIP_EXTERNAL_FLASH and XIP_BOOT_HEADER_ENABLE?

danielchen_0-1636351800326.png

 

 

Regards

Daniel

0 Kudos

1,029 Views
D_TTSA
Contributor V

Hi @danielchen 

Thanks for your reply.

To recreate the issues:

  1. Create a project with SDK v 2.9.2 
  2. Add the following LWIP components (leave the other default components):
    D_Tram23_2-1636371675392.png
  3. Port the code and config from the SDK's tcp_echo example to this project.
  4. Verify that you can communicate with the board using the 'ping' command in the Windows terminal
  5. Upgrade your workspace's SDK to 2.10.1
  6. Open the SDK component manager. If you try to change any components, there will be a dependency error. The Board Components view will show:
    D_Tram23_1-1636371317633.png
  7. To solve the error, you must include the bottom 'xip_board'. Do this and apply the changes (it is irrelevant if you remove the old xip_board or not).
  8. Try to use 'ping' to communicate with the board again.

I have attached a blank project I made for you to demonstrate my problem. I followed the steps described above, but skipped the porting of the tcp_echo project. If you open its SDK component manager and try to change a component, you will get the error I was speaking of.

The symbols that you mentioned are indeed enabled in my original project:

D_Tram23_0-1636370831572.png

Kind regards

0 Kudos

1,018 Views
danielchen
NXP TechSupport
NXP TechSupport

Hi @D_TTSA :

 

Sorry you forgot to attach your project.

I tried with the default lwip_ping_bm_cm7 demo, SDK 2.9.2.   ping is ok.

Then I dragged SDK_2.10.1 into the installed SDKs.  It showed SDK 2.10.1 replaced the old SDK 2.9.2.

Rebuild the project.  ping is also OK.

From what I can see, there is a xip_board component by default.

 

Do you mean in your project with SDK 2.9.2, there is no xip_board, and in SDK 2.10 project, you add this component? then the error ?

 

Regards 

Daniel

 

 

0 Kudos

1,015 Views
D_TTSA
Contributor V

Hi @danielchen 

I apologise about the project upload, I've just sent it to you via email because it exceeds the 25MB file limit.

I know that the lwip_tcp_echo SDK example project works with both SDKs. 
The problem comes in when you create your own project, and then update the SDK.

To answer your last question, no, I do have the xip_board component in SDK v2.9.2.
As shown in my previous posts, I just get an additional xip_board when I update my project to SDK v2.10.1.

Please let me know as soon as you have any feedback, as this is quite an urgent matter.

Kind regardsc

0 Kudos