前言
我们在用 Zynq UltraScale+ MPSoC ZCU106 评估套件做开发的时候,前端页面依靠在 Goole Chrome 上面运行HTML + CSS + Javascript 来实现。利用 PHP 连接CPU-Acore ,再通过共用内存的方式与 CPU-Rcore交互。
思路
大致思路如图所示。做页面的开发与调试的过程中,需要后端的数据,才不至于整个页面到处是error的提示和无法运行。刚开始是做了个虚拟的数据程序.exe在pc上做页面的开发与调试。随着开发节奏的紧凑,时间不够用,每版特地做个虚拟程序的方案实在进行不下去了,就想要做个PC直连板子传输文件,且顺带通过Apache2让项目组的其他人也可以操控板子。大致思路如下:
网页访问实现方案:
先给板子设定一个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 root@192.168.100.2
而,非直连PC的话,还需要再做个22端口的代理。
管理员权限打开cmd窗口:
1) netsh interface portproxy add v4tov4 listenport=2222 connectaddress=192.168.100.2 connectport=22
防火墙:
2) 防火墙里添加入站规则, 允许tcp2222端口入站
就可以通过2222端口访问板子的控制台了