730 likes | 846 Views
“ Hello world ”. 张彦龙. 实验综述. 实验目的: 两台 PC 可以通过 netmagic08(NM08) 平台进行数据传输。 我们以最简单的两台主机发送 ping 报文为例进行实验说明。 实验方案: 机器 1 连接到 NM08 的 1 号 端口对 NetMagic08 进行配置和管理 。 机器 2 连接到 NM08 的 2 号 端口 机器 3 连接到 NetMagic08 的 3 号 端口 端口 2 和端口 3 之间 发送 ping 报文 报文 不 经过任何修改直接进行转发。. 实验 准备. 硬件设备准备:
E N D
“Hello world” 张彦龙
实验综述 • 实验目的: • 两台PC可以通过netmagic08(NM08)平台进行数据传输。 • 我们以最简单的两台主机发送ping报文为例进行实验说明。 • 实验方案: • 机器1连接到NM08的1号端口对NetMagic08进行配置和管理。 • 机器2连接到NM08的2号端口 • 机器3连接到NetMagic08的3号端口 • 端口2和端口3之间发送ping报文 • 报文不经过任何修改直接进行转发。
实验准备 • 硬件设备准备: • 一台可用的netmagic和三台pc • 硬件运行环境准备 • QuartusII(推荐Quartus11.0版本) • “hello world ”程序代码 • 软件运行环境准备 • 操作系统:Red Hat Enterprise Linux 5 • 内核版本:2.6.18.8 • 工具包版本:libnet-1.1.4 libpcap-1.1.1 • NMAC 函数库
Netmagic配带设备清单 • 电源线(一根) • 电源适配器(一个) • 10pin延长线(一根) • USB转换线(一根) • USB Blaster模块(一个) • 光电接口转换器(四个)
Netmagic的电源连接方式 • 电源的连接 • 一台netmagic会配带一个电源线和一个电源适配器 • 电源线和电源适配器的连接示意图
Netmagic的USB Blaster连接方式 • USB Blaster线的连接方法 • USB转换线与USB Blaster模块的连接示意图 • 数据线与USB Blaster模块的连接示意图
硬件设备连接方式 • 网线与NM连接示意图 • NM光电转换连接示意图 • 网线与PC连接示意图 • NM 数据线连接示意图(JTAG/Flash)
Quartus II • 在实验实施之前请确保您的PC上应经安装了Quartus软件程序,并可以正常使用,界面如下图所示。
“Hello world”实例下载--1 • 打开netmagic网页的首页,在页面中的source code downlad模块中选择more…选项。 • 网址:http://www.netmagic.org。
“Hello world”实例下载--2 • 单击more…进入下一级页面后,在netmagic demonstration project 模块中单击Download new! 下载
工程载入Quartus • 测试实例代码下载完后就可以把它加入到Quartus • 具体加载步骤: • 找到下载文件所在的位置 • 双击文件中名为netFPGAmini.qpf的文件 • 等待Quartus正常打开后,工程加载完成
PC机配置说明 • 由于我们的实验是以发送ping包的例,因此两台主机应该将IP地址设置为同一网段内。 • 另外,在实现前两台主机应把自已的防火墙设置为关闭状态。
Altera USB-Blaster驱动的安装 • 正确插好下载线后,打开NetMagic的电源开关,NetMagic处于加电状态系统将提示安装硬件驱动,如下图所示 • 此时我们可以按照提示进行操作,在选择驱动文件的步骤中选择ALTERA USB Blaster的驱动目录:Quartus II 10.0的安装目录下:quartus\drivers\usb-blaster\x32\usbblst.inf。
Linux 环境准备 • NetMagic 08的软件开发、调试和管理等操作都是使用Linux系统进行操作。在这里我们可以使用在虚拟机中安装Linux操作系统的方法进行操作,使其和硬件开发在同一台计算机上完成,不用重新再找一台单独安装Linux操作系统的计算机。 • 我们以下以linux在vmware虚拟机中为例进行实验说明。 • 我们使用的linux的版本为Red Hat Enterprise Linux 5。
VMware中运行linux 虚拟机中Linux安装完成界面示意图
Linux在vmware中运行效果 Linux的开机界面示意图
Libpcap的下载--1 • 打开netmagic网页的首页,在页面中的source code downlad模块中选择more…选项。 • 网址:http://www.netmagic.org。
Libpcap的下载--2 • 单击more…进入下一级页面后,在Libpcap and Libnet模块中单击Download libpcap-1.1.1 now! 下载 Libpcap软件包下载页面示意图
Libpcap的安装步骤--1 • 将libpcap安装包解压到本地 • 输入命令:tar –zxvf libpcap-1.1.1.tar.gz tar命令示意图
Libpcap的安装步骤--2 • 进入到libpcap-1.1.1目录,执行configure命令进行配置cd libpcap-1.1.1 • 输入命令:cd libpcap-1.1.1 ./configure configure 命令示意图
Libpcap的安装步骤--3 • 执行make命令进行编译 • 输入命令:make make 命令示意图
Libpcap的安装步骤--4 • 执行make install完成安装 • 输入命令:make install make install 命令示意图
Libnet的下载--1 • 打开netmagic网页的首页,在页面中的source code downlad模块中选择more…选项。 • 网址:http://www.netmagic.org。
Libnet的下载--2 • 单击more…进入下一级页面后,在Libpcap and Libnet模块中单击Download libnet-1.1.4 now! 下载 Libnet软件包下载页面示意图
Libnet的安装步骤--1 • 解压libnet安装包到本地 • 输入命令:tar –zxvf libnet-1.1.4.tar.gz tar 命令示意图
Libnet的安装步骤--2 • 进入到libnet-1.1.4目录,执行configure命令进行配置; • 输入命令:cd libnet-1.1.4 ./configure configure命令示意图
Libnet的安装步骤--3 • 执行make命令进行编译 • 输入命令:make make 命令示意图
Libnet的安装步骤--4 • 执行make install完成安装。 • 输入命令:make install make install 命令示意图
NMAC函数库下载--1 • 打开netmagic网页的首页,在页面中的source code downlad模块中选择more…选项。 • 网址:http://www.netmagic.org。
NMAC函数库下载--2 • 单击more…进入下一级页面后,在NMAC Source Code 模块中单击Download new! 下载 NMAC函数库下载示意图
NMAC的函数库编译步骤--1 • 解压NMAC安装包到本地 • 输入命令:tar –xvf nmac.tar tar命令示意图
NMAC的函数库编译步骤--2 • 进入到nmac目录,运行./Compile编译nmac函数库 • 输入命令:cd nmac ./compile compile命令示意图
NMAC的函数库编译步骤--3 • nmac文件夹下提供了一个名为debug的通用命令行调试程序,可以运行debug程序进行设备调试和功能测试. • 输入命令:./debug debug命令示意图
实例说明 • 为了方便读者理解和使用NetMagic平台,我们准备了一个名为netFPGAmini的测试实例,其功能是在NetMagic的外部端口2和外部端口3之间直接进行报文拷贝,外部控制主机通过端口1对平台进行配置管理。 • 需要说明的是,在大多数硬件代码和软件代码里面,对于端口号的定义,都是从0 开始的,这和对数组的定义是一致的,而在设备的外部端口标识上,一般都是从1号开始的。因此当我们讲在外部端口2和外部端口3之间进行报文转发时,对应硬件或软件代码,实际上是在1号和2号端口间进行报文转发。它们之间的关系是:外部端口号=代码端口号+1。 • 直接拷贝的意思是,从前导符到CRC校验值,整个以太网帧传输期间,不修改报文的任何内容,直接在端口2和端口3之间进行转发。
实验演示的操作步骤 • 硬件设备的连接 • Quartus工程的运行 • 软件的配置
硬件设备的连接—电源连接 电源连接示意图 电源连接NM示意图
硬件设备的连接—USB Blaster连接 USB Blaster 连接示意图 USB Blaster 连接PC示意图 USB Blaster 连接NM示意图
硬件设备的连接—网线连接 网线连接NM示意图 网线连接PC示意图
Quartus工程的运行--1 • 工程载入后单击hierarchy标签 • 如果加载正确,则显示下图所示界面
Quartus工程的运行--2 • 工程载入正确单击files标签。 • 在files标签中双击树形列表中的files文件夹图标。如图所示:
Quartus工程的运行--3 • 双击Files文件夹图标后,软件弹出“Settings-netFPGAmini”对话框。 • 在此对话框选中的左框管理文件树中选择“Libraries”单击右框Global library name文本框后的 按钮。 …
Quartus工程的运行--4 • 单击 按钮后弹出“浏览文件夹”对话框。 • 选择你工程所在文件夹。 …