使用OCM时需要在Vivado设计时取消DDR的勾选,如下

配置好网口MIO以及时钟后,保存按照正常步骤生成并导出硬件,然后Launch SDK,启动SDK。
启动SDK后创建实例工程,这里选择LwIP Echo Server,创建了一个实例工程如下:


这时候如果编译会报内存不足,从而无法正常生成elf文件。
就需要对程序进行裁剪。
1:修改lwipopts.h


2:修改xlwipconfig.h,减小发送和接收描述符的大小
本文介绍了在Xilinx FPGA开发中,针对以太网LWIP OCM版程序进行裁剪的步骤。在Vivado设计中取消DDR使用,通过SDK创建LwIP Echo Server实例工程后,由于内存不足导致编译失败。解决方法包括修改lwipopts.h和xlwipconfig.h减少描述符大小,减小LWIP接收队列,调整xemacpsif_dma.c,以及修改ld文件设置堆栈大小和位置。通过这些修改,能够成功编译并通过验证。若仍有内存问题,可通过生成MAP文件分析内存占用进行优化。
使用OCM时需要在Vivado设计时取消DDR的勾选,如下

配置好网口MIO以及时钟后,保存按照正常步骤生成并导出硬件,然后Launch SDK,启动SDK。
启动SDK后创建实例工程,这里选择LwIP Echo Server,创建了一个实例工程如下:


这时候如果编译会报内存不足,从而无法正常生成elf文件。
就需要对程序进行裁剪。
1:修改lwipopts.h


2:修改xlwipconfig.h,减小发送和接收描述符的大小
4663
1844
2050
1661

被折叠的 条评论
为什么被折叠?