基于Microblaze的LwIP以太网环境搭建

安富利陈志勇博士出的试用题目:
通过以太网口,pc把一幅图片传给fpga,fpga做处理后再回传给pc做显示。这样可以实现算法验证,并且可以比较基于pc纯软件处理,和fpga硬加速处理的时间。图像处理?比如:滤波,旋转,识别分析等。
实验内容:搭建基于microblaze的嵌入式系统,添加以太网口、串口、ddr3等外设驱动,通过建立tftp使得pc与fpga嵌入式系统实现文件互传。至于图像处理,下回细说。
软件环境:vivado/sdk 2015.2
硬件平台:artix-7 50t fpga 开发套件
(一)硬件平台/microblaze设计
根据安富利开发套件提供的demo/7a50t_ethernetlite_lwip_viv2014_2来搭建自己的硬件平台。
先将 ipi_solution.zip解压出vivado 2014.2的工程文件,并用笔者的vivado 2015.2打开。该工程文件可以直接使用,用vivado 2015.2打开之后相关ip需要进行升级。
升级完成之后,重新generate output products,并生成新的hdl文件。
接着进行synthesis,此处该工程存在一个问题,某io port被误约束为lvcoms 1.8v,改成lvcoms 3.3v即可。
接着 implement —> generate bitstream —> export hardware —> launch sdk。
(详细请参考 )
进入sdk界面之后,迎面而来的是硬件环境介绍。
接下来最重要的是添加lwip库文件(7a50t_ethernetlite_lwip_viv2014_2 sdk_repo)。
新建 lwip ethernet apps(该模板就是上面库提供的)。
接着,按下面的要求更改bsp,使得软件设计与实际硬件环境相匹配。
此时就可以 xilinx tools —> program fpga。
接下来需要将 web filesystem添加进嵌入式系统,实现tftp文件互传和网页访问等功能。
sdk主菜单—> run—> run configurations…
单击左列 xilinx c/c++ application(gdb),点击菜单栏新建按钮,按下面图片所示设置。
添加的文件为系统预加载文件,在demoimage.mfs处,注意将地址设置为0x8400_0000,点击run完成设计。
(二)测试
在测试之前要做一些准备工作,用网线将pc端以太网口与开发板j2口连接,同时将串口和下载线接好。
注意的是ip地址的设置:microblaze系统的ip地址为 192.168.1.10——服务器端,pc机ip地址为192.168.1.100——客户端。
注意要打开windows的相应系统功能,测试才能顺利进行。
在7a50t_ethernetlite_lwip_viv2014_2/demo中提供了一些以供测试的批量处理文件。
按下shift 键同时右击demo文件夹空白处打开命令窗口。
输入 run_iperf_cli.bat
这是对以太网口速度进行测试,受pc机的配置影响。
在浏览器中输入服务器地址 ,出现...
点击toggle leds可以控制开发板led的亮灭;点击update status可以获取拨码开关的状态,同时串口也向pc发送相关信息。
接下来,测试tftp是否正常工作。
在刚刚的命令窗口中输入:
tftp -i 192.168.1.10 get images/board.jpg
服务器中images下的board.jpg成功下载到demo文件夹中。
继续输入:
tftp -i 192.168.1.10 put logo.jpg (注意语法格式)
可以看出,logo.jpg已成功上传至服务器,我们再下载下来看看是否正确。
在文件夹7a50t_ethernetlite_lwip_viv2014_2memfs处打开命令窗口
tftp -i 192.168.1.10 get logo.jpg
打开logo.jpg
至此,实验内容要求的软硬件环境都已搭建完毕,并测试正确。接下来深度分析sdk内的源代码,添加图像处理程序,实现 pc发送图片至fpga处理再返回pc机的完整功能。
本文的工程文件(vivado 2015.2)
注意:webpack版本的vivado可能出现问题。
参考文献:7a50t_lwip_ethernetlite_viv2014_2_v1_00.pdf
xapp1026.pdf(xilinx 官方文档)
笔者联系邮箱: xp_peng2016@163.com
版权声明:原创作品,允许转载,转载时务必以超链接形式标明文章原始出处、作者信息和本声明,否则追究法律责任。

2022年中国汽车集团低碳化转型研究报告
电容式触摸屏的相关知识
具有线性线损补偿的USB 车载充电器参考设计
半导体应变计性能
剑指高端,看东芝电视如何凭借X9400 OLED旗舰突围?
基于Microblaze的LwIP以太网环境搭建
短程有序对W-Ta固溶体延展性的影响
英伟达:发布Jeston Nano计算模块,追逐树莓派市场
车联网分簇方法与簇内中继选择方法
NI产品整合Windows 7,进一步提升应用的效能与传输量
简单分析基于CPLD的数字电路设计原理
EIZO推出2兆像素医疗成像用彩色液晶显示器
好用的Java工具类库
全球半导体龙头英特尔扩大芯片委外代工,找上联电合作
基于IAR的Cortex-M/R内核程序启动流程
联发科技发布最新双核智能手机解决方案MT6577
简化移动USB-C设计
农业物联网解决方案种草莓
李德毅院士等:机器认知四要素说
中国第一MEMS代工厂业绩暴涨188%,并获阿联酋投资局访问!