原创 开发板测试手册——系统启动、文件传送操作步骤详解(1)

2023-1-1 22:32 374 4 4 分类: FPGA/CPLD

目 录

前 言 4

1 评估板快速测试 5

1.1 系统启动测试 5

1.2 文件传送测试 11

1.2.1 通过 Linux 系统启动卡 11

1.2.2 通过 OpenSSH 12

1.3 LED 测试 15

1.4 KEY 测试 15

1.5 DDR 读写测试 16

1.6 SD 卡读写测试 17

1.7 eMMC 读写测试 18

前 言

本指导文档适用开发环境:

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 等相关软件。

本文档主要提供评估板硬件资源测试方法。无特殊说明情况下, 默认使用 UART1(USB TO UART)作为调试串口,使用 Linux 系统启动卡启动系统,通过路由器与 PC 机进行网络 连接。

测试板卡是基于创龙科技Xilinx Zynq-7000系列XC7Z010/XC7Z020高性能低功耗处理器设计的异构多核SoC工业级核心板。

1 评估板快速测试

1.1 系统启动测试

接入电源,并使用 Micro USB 线连接 PC 机和评估板的调试串口 CON5(USB TO UART), CON5 为 PS 端与 PL 端二合一调试串口。

图 1

打开设备管理器,确认评估板 PS 端(Enhanced COM Port)和 PL 端(Standard COM Port)

调试串口对应的 COM 端口号。

图 2

图 3

打开串口调试终端 SecureCRT,选择对应的 COM 端口号,设置波特率为 115200,8N1 ,

无检验位。 建立串口连接,如下图所示。

图 4

将 Linux 系统启动卡插入评估板 Micro SD 卡槽,根据评估底板丝印将拨码开关拨为

101001(1~6),此档位为 SD 卡启动模式。 将评估板上电启动, 串口调试终端将会打印如下

类似启动信息。

图 6

核心板 LED 在系统启动过程中的变化说明如下:

评估板上电后, 电源指示灯 LED4 点亮; 随后 FSBL(一级 Bootloader 程序) 启动, LED1

点亮;紧接着 U-Boot 启动 (二级 Bootloader 程序) ,LED2 点亮;直到内核启动运行时,

LED2 熄灭, LED1 进行心跳闪烁; 读写 eMMC 时, LED2 闪烁。

图 7

系统启动后会自动登陆 root 用户,说明使用 Linux 系统启动卡启动评估板成功。

图 8

如需从 SPI FLASH + eMMC 启动评估板,请执行如下脚本命令一键固化 Linux 系统至 SPI FLASH + eMMC。

Target# /opt/tools/mkemmcboot.sh

图 9

图 10

用时约 3min ,SPI FLASH + eMMC 成功固化 Linux 系统,同时串口调试终端打印提示 信息。将评估板断电,将 Linux 系统启动卡从评估板 Micro SD 卡槽中取出,根据评估底

板丝印将拨码开关拨为 100101(1~6) ,此档位为 SPI FLASH 启动模式。 将评估板上电启 动, 即可从 SPI FLASH + eMMC 启动系统。

1.2 文件传送测试

PC 机和评估板之间传送文件的常见方式如下:

(1) 通过 Linux 系统启动卡、 U 盘等存储介质方式拷贝。

(2) 通过 NFS 、TFTP 、OpenSSH 等网络方式拷贝。

1.2.1 通过 Linux 系统启动卡

将配套的系统启动卡插到 PC 机,然后把需要拷贝到评估板的文件复制到系统启动卡 的 BOOT 分区,如下图所示。

图 11

将系统启动卡插到评估板,启动系统并执行如下命令查看分区信息。系统启动卡的

BOOT 分区挂载在评估板文件系统"/run/media/mmcblk0p1/"目录下。

Target#

Target#

df

ls /run/media/mmcblk0p1

图 12

1.2.2 通过 OpenSSH

OpenSSH 是 SSH(Secure Shell)协议的免费开源实现。SSH 协议族可用来进行远程控制, 或在计算机之间传送文件,评估板文件系统默认已支持 SSH 库。

在 Ubuntu 中执行如下命令,查询是否已安装OpenSSH 。

Host# ssh -v

图 13

可看到系统已自带 OpenSSH。如未安装,请先自行正确安装 OpenSSH。

将评估板 MIO RGMII0 ETH 网口通过网线连接到路由器。在评估板上执行如下命令可

自动获取到 IP,如下图所示。 "-i"用于指定网卡, eth0 为网卡名字, 请根据实际情况修改。

Target# udhcpc -i eth0

图 14

执行如下命令可查询 IP 地址。本次查询到的 IP 地址是 192.168.1.160。

Target# ifconfig

图 15

(1) 使用 OpenSSH 从 PC 机传送文件到评估板

执行如下命令在 Ubuntu 中新建文件 test1,并使用 OpenSSH 命令将 test1 文件拷贝到

评估板文件系统根目录。

Host# touch test1 //新建文件

Host# scp test1 root@192.168.1.160:/

图 16

如出现提示"Are you sure you want to continue connecting (yes/no)?",请输入: yes。 在评估板上执行如下命令可看到从 PC 机拷贝过来的文件,如下图所示。

Target# ls /

图 17

(2) 使用 OpenSSH 从评估板传送文件到 PC 机

执行如下命令在评估板文件系统根目录新建一个测试文件 test2。

Target#

Target#

cd /

touch test2

//新建文件

图 18

在 Ubuntu 上执行如下 OpenSSH 命令将评估板测试文件 test2 拷贝到 PC 机

"/home/tronlong/test/"目录下。如果传输的是文件夹,请在 scp 后面添加参数"-r" 。

Host# sudo scp root@192.168.1.160:/test2 /home/tronlong/test/

Host# ls /home/tronlong/test/

图 19

(3) 使用 OpenSSH 登录到评估板文件系统

在 Ubuntu 执行如下命令可通过OpenSSH 登录评估板文件系统。

Host# sudo ssh root@192.168.1.160

图 20

如需退出登陆,请执行 exit 或者 logout 命令。

1.3 LED 测试

执行如下命令控制 LED1 的亮灭。

Target#

Target#

echo 0 > /sys/class/leds/user-led0/brightness //控制 LED1 灭

echo 1 > /sys/class/leds/user-led0/brightness //控制 LED1 亮

图 21

1.4 KEY 测试

执行如下命令查看按键事件号。

Target# cat /proc/bus/input/devices

图 22

从上图中可看到按键事件号为 event0 ,执行如下命令进行按键测试。

Target# od -x /dev/input/event0

按下 KEY1 按键,可看到如下打印信息。按"Ctrl + C"可终止测试命令。

图 23

1.5 DDR 读写测试

Linux 系统启动时, 在 U-Boot 阶段完成 DDR 的初始化, 并打印 DDR 实际容量, 如下 图所示。

图 24

DDR 读写速度受实际情况影响, 测试速率以具体情况为准, 如下测试数据仅供参考。 (1) DDR 读速度测试

执行如下命令对 DDR 读速度测试。

Target# bw_mem 100M rd

图 25

测试从 DDR 中读 100MByte 数据,可看到本次测试的读速度约为: 640.36MB/s。

(2) DDR 写速度测试

执行如下命令对 DDR 写速度测试。

Target# bw_mem 100M wr

图 26

测试写 100MByte 数据到 DDR 中,可看到本次测试的写速度约为: 537.57MB/s。

(3) DDR 拷贝速度测试

执行如下命令对 DDR 拷贝速度测试。

Target# bw_mem 100M cp

图 27

测试拷贝 100MByte 数据到 DDR 中,可看到本次测试的拷贝速度约为: 271.38MB/s 。

1.6 SD 卡读写测试

本小节使用评估板配套的 Linux 系统启动卡来测试 SD 卡的读写速度。不同的 SD 卡 以及不同大小的测试文件, 对 SD 卡的测试结果会造成一定差异。评估板启动后, Linux 系 统启动卡的 BOOT 分区将会挂载在文件系统"/run/media/mmcblk0p1/"目录下。

Target# ls /run/media/mmcblk0p1

图 28

(1) SD 卡写速度测试

执行如下命令测试 SD 写速度。

Target# time dd if=/dev/zero of=/home/root/test bs=1024K count=200 conv=fsync

time 命令有计时作用, dd 用于复制,从 if(input file)文件读出,写到 of(output file)指 定的文件, bs 是每次写块的大小, count 是读写块的数量。

"if=/dev/zero"不产生 IO ,即不断输出数据,可用来测试纯写速度。

图 29

此处一共写 200MByte 测试数据到 SD 卡的 test 文件,可看到本次测试的 SD 卡写速 度约为: 200/15.502=12.90MB/s。

(2) SD 卡读速度测试

重启评估板, 进入文件系统, 执行如下命令测试 SD 卡读速度。

Target# time dd if=/home/root/test of=/dev/null bs=1024K

"of=/dev/null"不产生 IO ,即不断接收数据,可用来测试纯读速度。

图 30

此处从 test 文件中一共读出200MByte 的数据,可看到本次测试的 SD 卡读速度约为: 200/9.121=21.93MB/s。

1.7 eMMC 读写测试

需对 eMMC 设备进行分区后方可对其进行读写测试。评估板出厂时,默认已完成

eMMC 设备分区工作,执行如下命令可查看 eMMC 容量以及分区信息。

Target# dmesg | grep mmcblk1

图 31

其中 boot 分区在评估板文件系统挂载路径为"/run/media/mmcblk1p1" ,rootfs 分区 在评估板文件系统挂载路径为"/run/media/mmcblk1p2",执行如下命令可查看挂载情况。 Target# df

图 32

(1) eMMC 写速度测试

执行如下命令对 eMMC 设备写速度测试。

Target# time dd if=/dev/zero of=/run/media/mmcblk1p2/test bs=1024K count=200

conv=fsync

图 33

此处一共写 200MByte 测试数据到 eMMC 设备 rootfs 分区下的 test 文件,可看到本 次测试的 eMMC 设备写速度约为: 200/16.528=12.10MB/s。

(2) eMMC 读速度测试

重启评估板,进入文件系统,执行如下命令对 eMMC 设备读速度测试。

Target# time dd if=/run/media/mmcblk1p2/test of=/dev/null bs=1024K

图 34

此处从 test 文件中一共读出 200MByte 数据,可看到本次测试的 eMMC 设备读速度 约为: 200/9.005=22.21MB/s。

作者: Tronlong, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-3881012.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
4
关闭 站长推荐上一条 /2 下一条