LWIP porting on external SRAM

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

LWIP porting on external SRAM

1,085件の閲覧回数
JayCao
Contributor III

Hello support team,

We are running evkmimxrt1170_lwip_ping_freertos_cm7 for 1Gb example on our custom board.

But we were facing a working problem and need your help.

First, I would like to describe my project:
- Custom board with eMMC (no Flash memory), no problem with board (almost peripheral working)

- Using 1Gb Ping example (modify pin map)

And, following the below guide from NXP to modify the NCache region:

https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/Using-NonCached-Memory-on-i-MXRT/ta-p/...

JayCao_0-1727428155131.png

board.c

JayCao_1-1727428182638.png

enet_ethernetif_kinetis.c

JayCao_2-1727428246323.png

But the ethernet 1Gb is still not working

Terminal log:

JayCao_3-1727428365586.png

I was checked the build memory and it was shown as below:

JayCao_4-1727428433830.png

Questions:
1. Does NCACHE_REGION belong to the SDRAM?
2. How can this problem be fixed to make the 1G Ethernet work?

Best regards,
Tu Cao

タグ(2)
0 件の賞賛
返信
3 返答(返信)

881件の閲覧回数
JayCao
Contributor III

Hello @Gavin_Jia and all,

I am still stuck in this issue.

If you have experience or a solution to resolve this.

Please help.

Best regards,

0 件の賞賛
返信

1,038件の閲覧回数
JayCao
Contributor III

Hello @Gavin_Jia ,

Thank you for your response.

First, we are using eMMC as an external memory (remove flash memory). There is SDRAM used as intermediate memory.

In this Enet 1G demo, we are testing directly on the SDRAM (debugging) on the Ozone application.

After checking carefully with the NXP Ping demo, I found that there was a mistake in the MCU memory region.

The lwip_ping_freertos already has the NCACHE_REGION, and I don't need to arrange another memory region.

I re-setup the system as below:

JayCao_0-1727684599290.png

- enet_ethernetif_kinetis.c

JayCao_1-1727684632205.png

- Enable the "Link application to RAM"

- Change symbols to "0" because we are using external emmc memory:

JayCao_2-1727684736021.png

After changing 3 things above, the terminal log has been shown below:

There is no receiving log "ping: recv    192.168.01100   3 ms"

JayCao_3-1727684777509.png

Please guide me on how to fix it?

If there is any example source on this case, please help to share.


Best regard,

Jay Cao

0 件の賞賛
返信

1,052件の閲覧回数
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @JayCao ,

Thanks for your interest in NXP MIMXRT series!

In your custom board, it is not using SDRAM only emmc right? In that case you could have deleted the unused memory from the memory map, it doesn't matter.

In your operation, the general steps are right, but I guess it could be wrong in the MPU configuration. So my suggestion is to minimize your modifications and steps.

Step1: Delete unused memory. Divide a piece of memory out of OCRAM to be used as NCACHE (recommended to be the end of OCRAM);

Step2: add the description of the newly divided region in the extra link script;

Gavin_Jia_0-1727595533586.png

 

Step3: modify the region configuration code in MPU;

Step4: directly manually customize the region where your variables are stored; you can refer to that original post or this thread: https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/i-MX-RT-1020-using-SRAM-OC-and-ITC/m-p/1956514/e...

Best regards,
Gavin

 
0 件の賞賛
返信