赛灵思xilinx(ZCU106) 连接PC文件I/O和局域网Apache2

前言

我们在用 Zynq UltraScale+ MPSoC ZCU106 评估套件做开发的时候,前端页面依靠在 Goole Chrome 上面运行HTML + CSS + Javascript 来实现。利用 PHP 连接CPU-Acore ,再通过共用内存的方式与 CPU-Rcore交互。

image-20200617102447402

思路

大致思路如图所示。做页面的开发与调试的过程中,需要后端的数据,才不至于整个页面到处是error的提示和无法运行。刚开始是做了个虚拟的数据程序.exe在pc上做页面的开发与调试。随着开发节奏的紧凑,时间不够用,每版特地做个虚拟程序的方案实在进行不下去了,就想要做个PC直连板子传输文件,且顺带通过Apache2让项目组的其他人也可以操控板子。大致思路如下:

image-20200617103533901

网页访问实现方案:

先给板子设定一个ip,再给电脑设一个ip,再设个转发端口。

给板子设ip:

ifconfig eth0 192.168.100.2 netmask 255.255.255.0 up

这样就完成了,当然,每次重启之后就必须重新输入一下。可以在启动程序里面写入永久命令,这样就不用每次输入了。

在板子(linux)的 /etc/network/interfaces 里写入

# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)

# The loopback interface
auto lo
iface lo inet loopback

# Wireless interfaces
iface wlan0 inet dhcp
    wireless_mode managed
    wireless_essid any
    wpa-driver wext
    wpa-conf /etc/wpa_supplicant.conf

iface atml0 inet dhcp

# Wired or wireless interfaces
auto eth0

//--------改下面eth0的[hcp]为[static]---------//
iface eth0 inet static
    address 192.168.100.2     //改这里的IP
    netmask 255.255.255.0
    network 192.168.100.0    //改这里的IP
    gateway 192.168.7.1
iface eth1 inet dhcp

# Ethernet/RNDIS gadget (g_ether)
# ... or on host side, usbnet and random hwaddr
iface usb0 inet static
    address 192.168.7.2
    netmask 255.255.255.0
    network 192.168.7.0
    gateway 192.168.7.1

# Bluetooth networking
iface bnep0 inet dhcp

接下来给电脑设置一下:

两种方式:
1. 不开apache2, 用80端口
只需要一步:
1) 防火墙里添加入站规则, 允许tcp80端口入站

2.使用9090端口
管理员权限打开cmd窗口:
1) netsh interface portproxy delete v4tov4 listenport=80
2) netsh interface portproxy add v4tov4 listenport=9090 connectaddress=192.168.100.2 connectport=80
防火墙:
3) 防火墙里添加入站规则, 允许tcp9090端口入站

控制台访问实现方案:

如果是与板子直连的PC,直接ssh就可以访问了。

ssh [email protected]

而,非直连PC的话,还需要再做个22端口的代理。

管理员权限打开cmd窗口:
1) netsh interface portproxy add v4tov4 listenport=2222 connectaddress=192.168.100.2 connectport=22
防火墙:
2) 防火墙里添加入站规则, 允许tcp2222端口入站

就可以通过2222端口访问板子的控制台了

发表评论

邮箱地址不会被公开。 必填项已用*标注