开发板测试手册——SPI FLASH 读写、USB WIFI 模块(2)
目录
1.8 SPI FLASH 读写测试 20
1.9 USB 接口读写测试 21
1.10 网络接口测试 23
1.10.1 网络连通测试 23
1.10.2 网络速度测试 25
2 网络静态 IP 设置 27
3 USB WIFI 模块测试 31
3.1 WIFI STA 功能测试 32
3.2 WIFI AP 功能测试 35
3.3 USB WIFI 驱动编译 39
前 言
本案例适用开发环境:
Windows 开发环境: Windows 7 64bit 、Windows 10 64bit
Linux 开发环境: Ubuntu 14.04.3 64bit
虚拟机: VMware15.1.0
U-Boot :U-Boot-2017.01
Kernel :Linux-4.9.0 、Linux-RT-4.9.0
进行本文操作前,请先按照调试工具安装、Linux 开发环境搭建相关文档,安装 SecureCRT 串口调试终端、 VMware 虚拟机、PetaLinux 等相关软件。
测试板卡是基于创龙科技Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC工业级核心板。
本文档主要提供评估板硬件资源测试方法。无特殊说明情况下, 默认使用 UART1(USB TO UART)作为调试串口,使用 Linux 系统启动卡启动系统,通过路由器与 PC 机进行网络 连接。
1.8 SPI FLASH 读写测试
本小节对 SPI FLASH 的 MTD3 分区进行读写速度测试。 MTD3 是 SPI FLASH 的用户数据
分区, 分区大小为 31MByte ,读写测试会将该分区内容擦除,请做好数据备份。
执行如下命令查询 SPI FLASH 分区, 确认 MTD3 分区大小 (读写请勿超出分区大小) , 将该分区内容擦除。
Target# cat /proc/mtd
Target# flash_erase /dev/mtd3 0 0
图 35
(1) SPI FLASH 写速度测试
执行如下命令对 SPI FLASH 进行写速度测试。
Target# time dd if=/dev/zero of=/dev/mtd3 bs=1024k count=20
图 36
测试写入 20MByte 数据到 SPI FLASH 的 MTD3 分区下, 可看到本次测试的 SPI FLASH
写速度约为: 20/55.601=0.36MB/s。
(2) SPI FLASH 读速度测试
重启评估板,进入文件系统, 执行如下命令对 SPI FLASH 进行读速度测试。
Target# time dd if=/dev/mtd3 of=/dev/null bs=1024k count=20
图 37
测试从 SPI FLASH 的 MTD3 分区读取 20MByte 数据, 可看到本次测试的 SPI FLASH 读 速度约为: 20/1.032=19.38MB/s。
1.9 USB 接口读写测试
本小节测试使用 SanDisk 品牌、FAT32 格式、 16G 容量的 U 盘,支持 USB 3.0/2.0。不 同品牌、格式或容量的 U 盘,测试结果会有所差别。
请将 U 盘插到评估板 USB HOST 接口。插入 U 盘后,评估板会打印如下信息。可看
到 U 盘容量和挂载名,如下图所示。
图 38
从上图可看到 U 盘容量为 15.9GByte,挂载名为 sda1。执行如下命令可查询挂载路
径。挂载名和挂载路径请以实际查询为准, 如下图所示。挂载多个存储设备时, 挂载名可 能会变更。
Target# df -h
图 39
(1) USB 2.0 写速度测试
执行如下命令,测试 U 盘写速度。
Target# time dd if=/dev/zero of=/run/media/sda1/test bs=1024K count=200
图 40
此处一共写 200MByte 测试数据到 U 盘的 test 文件, 可看到本次测试的 U 盘写速度 为: 200/16.132=12.40MB/s。
(2) USB 2.0 读速度测试
重启评估板,进入文件系统,执行如下命令测试 U 盘读速度。
Target# time dd if=/run/media/sda1/test of=/dev/null bs=1024K
图 41
此处从 test 文件中一共读出 200MByte 的数据,可看到本次测试的 U 盘读速度为:
200/13.531=14.78MB/s。
1.10 网络接口测试
评估板配备一个千兆网口 MIO RGMII0 ETH ,用网线将评估板网口连接到路由器,绿 灯常亮、黄灯闪烁表示连接正常。
1.10.1 网络连通测试
进入评估板文件系统,执行如下命令获取 IP 以及查看网口配置信息。
Target# ifconfig
图 42
如网卡没有自动获取到 IP ,请执行如下命令。
Target# udhcpc -i eth0 //"-i"用于指定网卡, eth0 为网卡名字。
图 43
如网口没有正常连接, 可尝试先关闭网口 (命令为"ifconfig eth0 down") 再打开网口 (命令为"ifconfig eth0 up") 。
可使用 ethtool 命令查看网口属性, 并测试网口连接外网是否正常。以访 问
www.baidu.com 为例,执行如下命令, "-I"代表指定网口, 不加"-I"则使用默认网卡。可按
"Ctrl + C"终止测试。网卡名字请根据实际情况修改。
Target# ethtool eth0
Target# ping www.baidu.com -I eth0
图 44
执行如下命令查看网关,并通过 ping 网关来测试内网连接功能是否正常。
Target#
Target#
route
ping 192.168.1.1
图 45
1.10.2 网络速度测试
如下使用 Iperf 工具测试评估板与 PC 机的网络通信速度。若未安装, 可在 Ubuntu 中 执行"sudo apt-get install iperf"安装。
在 Ubuntu 执行如下命令查看 PC 机 IP 地址并等待评估板连接。
Host# ifconfig
Host# iperf -s -i 1
图 46
在评估板文件系统执行如下命令测试网络通信速度, 命令中 192.168.1.32 为 PC 机 IP 地址。测试完成后, Ubuntu 和评估板均会打印测试结果。不同测试环境, 测试结果将会 有所差异。
Target# iperf -c 192.168.1.32 -i 1
网口速度测试结果大致如下:
图 47
如使用 RT-Linux 内核进行测试, 将对网口的传输性能产生一定影响, 网口速度测试结 果大致如下。
图 48
2 网络静态 IP 设置
进入评估板文件系统,执行如下命令修改 interfaces 文件。
Target#
Target#
cd /etc/network
vi interfaces
图 49
在文件中注释默认配置并添加如下内容, 将网口 IP 设置为 192.168.1.153 ,子网掩码 为 255.255.254.0。子网掩码请按实际情况修改,一般使用 255.255.254.0 或 255.255.255.0。
auto eth0
iface eth0 inet static
address 192.168.1.153
netmask 255.255.254.0
gateway 192.168.1.1
图 50
请保存退出,并执行如下命令重启网络服务。
Target# /etc/init.d/networking restart
图 51
重启网络服务后,执行如下命令即可看到评估板的 IP 地址,与前面设置的 IP 一致。
Target#
Target#
ifconfig eth0 up
ifconfig
图 52
用网线将评估板的网口连接到路由器, 并启动评估板。进入文件系统后, 检查网口状 态,绿灯常亮、黄灯闪烁表示连接正常。
在 Ubuntu 执行如下命令,使 Ubuntu 的 IP 地址与评估板处于同一网段。
Host# sudo ifconfig eth0 192.168.1.110
Host# ifconfig
图 53
在评估板执行如下命令测试与 Ubuntu 网络连接是否正常。
Target# ping 192.168.1.110 -I eth0
图 54
查看 PC 机 Windows 端 IP 地址,如下图所示。
图 55
在评估板执行如下命令测试与 PC 机 Windows 端网络连接是否正常。
Target# ping 192.168.1.30 -I eth0
图 56
注意: 当评估板与 PC 机不通过路由器而使用网线直连时,必须将 PC 机防火墙关闭,并
设置 PC 机 Windows 端 IP 与评估板为同一网段,如下图所示。
图 57
3 USB WIFI 模块测试
本案例使用的 USB WIFI 模块为 Tronlong 的 TL8188,支持 STA 模式和 AP 模式。
测试文件目录 tl_usb_wifi_test 位于产品资料“4-软件资料\Demo\tl-linux-application\ module-demos\”路径下。驱动源码位于 tl_usb_wifi_test 的 src 目录下。
(1) STA 模式: 在 STA 工作模式下, USB WIFI 模块可接收来自无线路由器发出的信号, 实现通过路由器连接互联网。
(2) AP 模式:在 AP 工作模式下, USB WIFI 模块会创建一个无线局域网热点,手机、 电脑等设备可通过此热点组建局域网。
为方便测试, 产品资料中提供了经过验证的脚本程序和驱动程序,脚本程序位于 tl_
usb_wifi_test 的 bin 目录下,驱动程序位于 tl_usb_wifi_test 的 driver 目录下。 请将 bin 和
driver 目录下所有文件拷贝到评估板文件系统任意同一个路径下,并按照下图连接 USB
WIFI 模块。
图 58
3.1 WIFI STA 功能测试
进入评估板文件系统, 在 USB WIFI 驱动 8188eu.ko 文件所在路径下执行如下命令加 载 EEE 802.11 协议内核模块和 USB WIFI 驱动。
Target# modprobe cfg80211
Target# insmod 8188eu.ko
图 59
由于系统 udev 设备管理器的原因,加载 8188eu.ko 驱动后,会自动启动wpa_supplicant 程序,需执行如下命令关闭该程序。
Target# killall -9 wpa_supplicant
图 60
执行如下命令关闭其他网络, 仅保留 USB WIFI 网络。
Target#
Target#
ifconfig eth0 down
ifconfig
图 61
在 wifi_setup.sh 文件所在路径下执行如下命令将评估板通过 USB WIFI 模块连接到路 由器。"-i"指定 WIFI 名称, "-p"指定 WIFI 密码,请根据实际情况修改。
Target# ./wifi_setup.sh -i Tronlong -p omapl138
图 62
执行如下命令查看获取的 IP 地址,并测试评估板是否成功连接互联网。
Target#
ifconfig
pingwww.baidu.com
Target#
图 63
在 Ubuntu 执行如下命令查看 PC 机 IP 地址并等待评估板连接。
Host# ifconfig
Host# iperf -s
图 64
在评估板文件系统执行如下命令测试网络通信速度, 192.168.1.32 为 PC 机实际 IP 地 址。 测试完成后, Ubuntu 和评估板均会打印测试结果。
Target# iperf -c 192.168.1.32
图 65
3.2 WIFI AP 功能测试
请重启评估板并进入文件系统, 在 USB WIFI 驱动 8188eu.ko 文件所在路径下执行如
下命令重新加载 EEE 802.11 协议内核模块和 USB WIFI 驱动。
Target#
Target#
modprobe cfg80211
insmod 8188eu.ko
图 66
由于系统 udev 设备管理器的原因,加载 8188eu.ko 驱动后,会自动启动wpa_supplicant
程序,需执行如下命令关闭该程序。
Target# killall -9 wpa_supplicant
图 67
在 ap_setup.sh 文件所在路径下执行如下命令将评估板设置为无线局域网热点。 Target# ./ap_setup.sh
图 68
默认设置的 WIFI 名称为: rtl8188eu,密码为: 88888888,可在 rtl_hostapd_2G.conf 配
置文件内进行修改。
将具有 WIFI 功能的 PC 机(比如笔记本电脑或装有 USB WIFI 的台式电脑) 连接到此 无线局域网热点, 并断开已有的有线网络连接。连接成功后,评估板将会打印如下信息,
显示 Ubuntu 已分配的 IP 地址。 如使用虚拟机 + Ubuntu 的开发方式, 将会获取到两个 IP 地址,其中一个为 Windows 端 IP 地址,一个为 Ubuntu 端 IP 地址。
图 69
再执行如下命令测试无线局域网设备之间网络连接是否正常。 若出现连接超时或失
败,可尝试关闭 PC 机防火墙后再次连接。
Target# ping 192.168.0.21
图 70
在 Ubuntu 执行如下命令等待评估板连接。
Host# iperf -s
图 71
在评估板文件系统执行如下命令测试网络通信速度, 192.168.0.21 为 PC 机 Ubuntu 端 获取的 IP 地址。 测试完成后, Ubuntu 和评估板均会打印测试结果。
Target# iperf -c 192.168.0.21
图 72
当有多个设备连接到评估板无线局域网热点时, 可能会出现如下错误。这是由于评估
板使用 hostapd 程序来开启无线局域网热点,在多个设备同时连接该热点时,出现 random
熵的熵池资源不够,无法生成随机数,导致设备无法连接热点。
图 73
可执行如下命令使用 urandom 代替 random 产生随机数, 并再次尝试连接。
Target#
Target#
mv /dev/random /dev/random_ori
ln -s /dev/urandom /dev/random
图 74
3.3 USB WIFI 驱动编译
如使用重新编译的内核镜像启动评估板,则首次需按照如下步骤重新编译 USB WIFI 驱动。在编译 USB WIFI 驱动前,需确保内核镜像和内核模块已成功编译。 内核镜像、内 核模块编译方法请参考 Linux 系统使用手册的内核编译章节。
将案例src 目录下的 USB WIFI 驱动源码拷贝到 Ubuntu 任意路径并解压。
Host# tar -xvf rtl8188EUS_linux_v5.2.2.3_24783.20171030.tar.gz
图 75
进入驱动源码目录,打开 Makefile 文件。
图 76
Makefile 文件内容请按如下说明进行修改。
CONFIG_PLATFORM_XILINX_ZYNQ = y //指定为目标平台
图 77
CROSS_COMPILE := arm-linux-gnueabihf- //指定交叉编译链
//指定内核版本号
KVER := 4.9.0
KSRC :=/home/tronlong/ZYNQ/Kernel/Linux-4.9.0 //指定内核源码路径
图 78
在驱动源码所在路径执行如下命令加载 PetaLinux 环境变量并编译 USB WIFI 驱动,编 译完成后即可在当前目录生成 USB WIFI 驱动 8188eu.ko 文件。
Host# source /home/tronlong/PetaLinux/settings.sh
Host# make
图 79
图 80
开发板测试手册——SPI FLASH 读写、USB WIFI 模块(2)的更多相关文章
- 小白自制Linux开发板 四. 通过SPI使用ESP8266做无线网卡
本文章基于 WhyCan Forum(哇酷开发者社区) https://whycan.com/t_4149.htmlhttps://whycan.com/t_5870.html整理而成. 为了尊重原作 ...
- 使用JLink间接烧写S3C2410、S3C2440开发板Nor、Nand Flash的方法
1. 简要说明 JLink的调试功能.烧写Flash的功能都很强大,但是对于S3C2410.S3C2440的Flash操作有些麻烦:烧写Nor Flash时需要设置SDRAM,否则速率很慢:烧写Nan ...
- 创龙OMAPL138的SPI FLASH读写
1. 目前最大的疑问是OMAPL138和DSP6748的DSP部分是完全一样的吗(虽然知道芯片完全是引脚兼容的)?因此现在使用OMAPL138的DSP内核去读写一下外部的SPI FLASH芯片,先看下 ...
- 天嵌IMX6开发板测试-第一篇
1.看下开发板介绍 品牌: 天嵌 CPU型号: NXP i.MX6Q 架构: Cortex_A9 主频: *1GHz 内存: 2GB DDR3 存储: 8GB eMMC FLA(64GB可扩) 2. ...
- 1_ZedBoard开发板测试
启动 将SD卡插入电脑进行格式化 格式化时,要将SD卡格式化为FAT32文件系统.块大小格式化为4096字节时后面会出现无法启动的情况,可以先复现一下这个错误.块大小我选择4096字节. 然后将Zed ...
- 第五章 搭建S3C6410开发板测试环境
开发板是开发和学习嵌入式技术的主要设备.在这章中介绍了S3C6410开发板,它是三星公司推出的一款低功耗.高性价比的RISC处理器.安装串口调试工具:minicom.它的安装步骤:第1步:检测当前系统 ...
- [嵌入式学习资料]ARM开发学习详解iTOP-4412开发板使用手册
拿到的最新4412开发板学习使用手册,完全免费,分享一下 下载地址:http://pan.baidu.com/s/1ntrJA8h
- 2-51单片机WIFI学习(开发板测试远程通信详细介绍)
前一篇链接(最后有APP安装包下载地址) http://www.cnblogs.com/yangfengwu/p/8720148.html 由于自己别的贴片的板子还没到,所以用自己的8266最小系统板 ...
- 开发板测试-Wi-Fi
一,下载STM32程序 1,方式一,串口下载(其他下载方式在最后补充) ①调整拨动开关位置 → 短接BOOT0和3.3V → 复位STM32 ②打开下载软件,下载程序 去掉短接 ③测试 {data:s ...
- 创龙OMAPL138开发板测试(1)
1. 里面的DSP内核是否能单独使用?先测试一个LED灯的例程先,仿真器连接上开发板,显示有C6748和PRU还有ARM9.对了,板子的拨码开关要01111,是DEBUG模式才可以. 2. 下载一下. ...
随机推荐
- Spring6 当中的 Bean 循环依赖的详细处理方案+源码解析
1. Spring6 当中的 Bean 循环依赖的详细处理方案+源码解析 @ 目录 1. Spring6 当中的 Bean 循环依赖的详细处理方案+源码解析 每博一文案 1.1 Bean的循环依赖 1 ...
- Linux 备忘
ls 通配符 匹配 ? 一个字符 * >=0个任意字符 [ai] a 或者 i [a-i] a/b/c/d...i [!a] 除了a cat cat -n test #加上行号 cat -b t ...
- 【python爬虫案例】用python爬豆瓣读书TOP250排行榜!
目录 一.爬虫对象-豆瓣读书TOP250 二.python爬虫代码讲解 三.讲解视频 四.完整源码 一.爬虫对象-豆瓣读书TOP250 今天我们分享一期python爬虫案例讲解.爬取对象是,豆瓣读书T ...
- 【简说Python WEB】Flask应用的单元测试
[简说Python WEB]Flask应用的单元测试 tests/test_basics.py import unittest from flask import current_app from a ...
- Vue 渲染模板时怎么保留模板中的HTML 注释呢?
在组件中将 comments 选项设置为 true ...
- 密码学—凯撒密码Python程序
文章目录 凯撒密码来源 加密算法 解密算法 凯撒密码来源 古典密码,且属于单表加密 凯撒密码又称恺撒变换.变换加密,凯撒是当时罗马共和时期恺撒的名字命名的,当年恺撒曾用此方法与其将军们进行联系.(当然 ...
- 用 C 语言开发一门编程语言 — 条件分支
目录 文章目录 目录 前文列表 条件分支 排序函数 等于函数 if 函数 递归函数 源代码 前文列表 <用 C 语言开发一门编程语言 - 交互式解析器> <用 C 语言开发一门编程语 ...
- 国产系统UOS安装体验
原文链接 https://www.giantliu.cn/2020/09/04/200904InstallUOS/ UOS简介 统信桌面操作系统(Uniontech OS)个人正式版是统信软件基于Li ...
- 图片GPS度分秒转换经纬度
图片位置信息转化经纬度 1 public static String strToLatOrLng(String str) { 2 int i = str.lastIndexOf("°&quo ...
- lsjORM ----让开发变得更加快捷(一)
描述: 1.lsjORM底层采用的是开源petapocoORM框架,你可以任意的拓展它 2.自动生成DAL Model BLL等文件,让习惯三层开发的你更加顺手 3.节省编写sql的时间,让开发更快捷 ...