【E2372】Zynq裸机实现以太网与PC端linux通信

2021-11-22 10:23:12      索炜达电子      673     

项目编号:E2372

文件大小:30M

源码说明:带中文注释

开发环境:C编译器

这次是zynq裸机实现以太网与PC端linux通信


Vivado:

1.选择芯片型号 xc7z020clg400-1,新建工程

2.添加Zynq IP

3.双击后点击Prests,导入pynq-revC.tcl(不能有中文路径)

4.PS-PL Configuration

->AXI Non Secure Enablement

->GP Master AXI Interface

->M AXI GP0 interface

5.加一个AXI_GPIO  4bit的位宽,其他选项默认

6.综合后绑定AXI_GPIO引脚:

[3]-M14 [2]-N16 [1]-P14 [0]-R14


SDK:

目前为纯裸机程序,实现以太网的传输。

1.Timer中断为5ms

2.MAC发送放到了timer中断中,2s发一次

3.MAC接收放到了MAC接收中断中。

4.没有丢包率


目录│文件列表:

 └ Zynq裸机实现以太网与PC端linux通信

    └ Zynq_qemu_standalone

       ├ pc_linux

       │  │ Makefile

       │  └ raw_socket.c

       └ pynq_standalone

          └ project_pid

             │ project_pid.xpr

             ├ project_pid.cache

             │  └ wt

             │     │ java_command_handlers.wdf

             │     │ project.wpc

             │     │ synthesis.wdf

             │     │ synthesis_details.wdf

             │     └ webtalk_pa.xml

             ├ project_pid.hw

             │  └ project_pid.lpr

             ├ project_pid.runs

             │  ├ .jobs

             │  │  │ vrs_config_1.xml

             │  │  │ vrs_config_2.xml

             │  │  └ vrs_config_3.xml

             │  ├ impl_1

             │  │  │ .init_design.begin.rst

             │  │  │ .init_design.end.rst

             │  │  │ .opt_design.begin.rst

             │  │  │ .opt_design.end.rst

             │  │  │ .place_design.begin.rst

             │  │  │ .place_design.end.rst

             │  │  │ .route_design.begin.rst

             │  │  │ .route_design.end.rst

             │  │  │ .vivado.begin.rst

             │  │  │ .vivado.end.rst

             │  │  │ .Vivado_Implementation.queue.rst

             │  │  │ .write_bitstream.begin.rst

             │  │  │ .write_bitstream.end.rst

             │  │  │ design_1_wrapper.bit

             │  │  │ design_1_wrapper.hwdef

             │  │  │ design_1_wrapper.sysdef

             │  │  │ design_1_wrapper.tcl

             │  │  │ design_1_wrapper.vdi

             │  │  │ design_1_wrapper_clock_utilization_routed.rpt

             │  │  │ design_1_wrapper_control_sets_placed.rpt

             │  │  │ design_1_wrapper_drc_opted.rpt

             │  │  │ design_1_wrapper_drc_routed.pb

             │  │  │ design_1_wrapper_drc_routed.rpt

             │  │  │ design_1_wrapper_io_placed.rpt

             │  │  │ design_1_wrapper_opt.dcp

             │  │  │ design_1_wrapper_placed.dcp

             │  │  │ design_1_wrapper_power_routed.rpt

             │  │  │ design_1_wrapper_power_routed.rpx

             │  │  │ design_1_wrapper_power_summary_routed.pb

             │  │  │ design_1_wrapper_routed.dcp

             │  │  │ design_1_wrapper_route_status.pb

             │  │  │ design_1_wrapper_route_status.rpt

             │  │  │ design_1_wrapper_timing_summary_routed.rpt

             │  │  │ design_1_wrapper_timing_summary_routed.rpx

             │  │  │ design_1_wrapper_utilization_placed.pb

             │  │  │ design_1_wrapper_utilization_placed.rpt

             │  │  │ gen_run.xml

             │  │  │ htr.txt

             │  │  │ init_design.pb

             │  │  │ ISEWrap.js

             │  │  │ ISEWrap.sh

             │  │  │ opt_design.pb

             │  │  │ place_design.pb

             │  │  │ project.wdf

             │  │  │ route_design.pb

             │  │  │ rundef.js

             │  │  │ runme.bat

             │  │  │ runme.log

             │  │  │ runme.sh

             │  │  │ usage_statistics_webtalk.html

             │  │  │ usage_statistics_webtalk.xml

             │  │  │ vivado.jou

             │  │  │ vivado.pb

             │  │  │ vivado_4624.backup.jou

             │  │  └ write_bitstream.pb

             │  └ synth_1

             │     │ .vivado.begin.rst

             │     │ .vivado.end.rst

             │     │ .Vivado_Synthesis.queue.rst

             │     │ design_1_wrapper.dcp

             │     │ design_1_wrapper.tcl

             │     │ design_1_wrapper.vds

             │     │ design_1_wrapper_utilization_synth.pb

             │     │ design_1_wrapper_utilization_synth.rpt

             │     │ dont_touch.xdc

             │     │ gen_run.xml

             │     │ htr.txt

             │     │ ISEWrap.js

             │     │ ISEWrap.sh

             │     │ rundef.js

             │     │ runme.bat

             │     │ runme.log

             │     │ runme.sh

             │     │ vivado.jou

             │     │ vivado.pb

             │     └ .Xil

             │        └ design_1_wrapper_propImpl.xdc

             ├ project_pid.sdk

             │  │ design_1_wrapper.hdf

             │  │ SDK.log

             │  ├ .metadata

             │  │  │ .lock

             │  │  │ .log

             │  │  │ version.ini

             │  │  └ .plugins

             │  │     ├ com.xilinx.sdk.hw.ui

             │  │     │  └ dialog_settings.xml

             │  │     ├ com.xilinx.sdk.targetmanager.ui

             │  │     │  └ dialog_settings.xml

             │  │     ├ org.eclipse.cdt.core

             │  │     │  │ .log

             │  │     │  │ hls_prj.1521810205515.pdom

             │  │     │  └ hls_prj_bsp.1521810199096.pdom

             │  │     ├ org.eclipse.cdt.make.core

             │  │     │  │ .log

             │  │     │  │ hls_prj.sc

             │  │     │  │ specs.c

             │  │     │  └ specs.cpp

             │  │     ├ org.eclipse.cdt.ui

             │  │     │  │ dialog_settings.xml

             │  │     │  │ global-build.log

             │  │     │  │ hls_prj.build.log

             │  │     │  └ hls_prj_bsp.build.log

             │  │     ├ org.eclipse.core.resources

             │  │     │  ├ .history

TAGZynq
  • 10 次
  • 1 分