首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >安路DR1M90评估板:从基础外设到通信模块测试指南

安路DR1M90评估板:从基础外设到通信模块测试指南

原创
作者头像
创龙科技Tronlong
发布2025-11-20 15:42:52
发布2025-11-20 15:42:52
790
举报

前 言

本文旨在提供评估板接口功能的测试指导,涵盖PS端外设接口功能验证及测试步骤(PL端外设请参考PL端工程进行测试),旨在帮助开发者和测试人员快速完成Linux系统下的产品方案验证与性能评估。

开发环境

Windows开发环境:Windows10 64bit

Linux开发环境:VMware16.2.5、Ubuntu22.04.4 64bit

LinuxSDK开发包:LinuxSDK-[版本号](基于SDK_2025.1)

评估板系统版本:U-Boot-2021.01、Linux-6.1.111、Buildroot-2022.02

备注:本文基于8GByte eMMC、1GByte DDR3配置核心板进行测试,不同配置型号核心板实测结果可能存在偏差,请以实际测试结果为准。

术语表

为便于阅读,下表对文档出现的关键术语进行解释;对于广泛认同释义的术语,在此不做注释。

表 1
表 1

注意事项

(1)无特殊说明情况下,默认使用USB TO UART1接口作为调试串口,使用Linux系统启动卡启动系统,通过路由器与PC机进行网络连接。请根据评估底板丝印将启动方式选择拨码开关拨为011(1~3),此档位为Micro SD启动模式。

(2)评估板出厂时可能未固化最新系统镜像至eMMC存储。为确保您体验到我司提供的最新系统功能,建议您参考《Linux系统固化手册》文档,按照指引将最新系统镜像固化至eMMC。

使用概要

本小节主要描述评估板设备树使用说明,以及汇总说明评估板接口性能测试结果。

评估板接口测试汇总

评估板接口功能测试结果汇总说明如下表所示。

表 2
表 2

Linux设备节点说明

评估板设备名与设备驱动源码路径、设备文件、设备节点对应如下表所示。

表 3
表 3

Linux存储分区说明

Linux系统启动卡和eMMC分区说明如下表所示,其中系统启动卡对应的设备节点为mmcblk0,eMMC对应的设备节点为mmcblk1。

表 4
表 4

系统启动测试

评估板接入电源,并使用Type-C线将评估板的USB TO UART1调试串口连接至PC机。评估板硬件连接如下图所示。

图 1
图 1

打开设备管理器,确认评估板USB TO UART1调试串口对应的COM端口号。

图 2
图 2
图 3
图 3

打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无校验位。建立串口连接,如下图所示。

图 4
图 4

将Linux系统启动卡插入评估板Micro SD卡槽,根据评估底板丝印将启动方式选择拨码开关拨为011(1~3),此档位为Micro SD启动模式。将评估板上电启动,串口调试终端将会打印如下类似启动信息。

备注:"drv is sd"表示从Linux系统启动卡启动,"drv is emmc1"表示从eMMC启动。

图 5
图 5

系统启动后会自动登陆root用户。

图 6
图 6

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

评估板上电后,电源指示灯LED1点亮;U-Boot启动阶段点亮LED2;Linux内核稳定运行时,LED2进行心跳闪烁。

图 7
图 7

系统上电后,Linux系统启动流程为:BootRom -> FSBL -> U-Boot ->Linux。BootRom会根据启动模式从启动介质中解析BOOT.bin,并将FSBL加载至OCM,然后开始运行FSBL。FSBL会加载BOOT.bin中剩下的文件,如果有比特流文件,则配置比特流文件。接下来将U-Boot搬运到DDR中并启动U-Boot,U-Boot会根据启动参数,加载Linux镜像、文件系统、设备树等文件到DDR中,并通过bootm命令启动Linux内核。最终Linux启动,并进入终端。

详情请查阅官方WIKI参考文档:https://alwiki.anlogic.com/wiki/external/org/AzZaqNHH/#/page/SdAMW8ED/9y1N4KNs

评估板快速测试

LED测试

评估底板PS端用户可编程指示灯LED2对应的节点为user-led0。

进入评估板文件系统,执行如下命令控制LED亮灭。

Target# echo 1 > /sys/class/leds/user-led0/brightness

Target# echo 0 > /sys/class/leds/user-led0/brightness

图 8
图 8

按键测试

评估底板包含1个POR复位按键KEY3,1个SRST复位按键KEY1,1个PS端用户输入按键KEY2。

(1)POR复位按键测试

评估板上电,按下POR复位按键KEY3,核心板板载LED2停止闪烁;松开按键后,系统将会重新启动。

(2)SRST复位按键测试

评估板上电,按下SRST复位按键KEY1,核心板板载LED2停止闪烁;松开按键后,系统将会重新启动。

(3)PS端用户输入按键测试

执行如下命令,查看用户输入按键对应的事件号,可知KEY2对应的按键事件号为event0。

Target# cat /proc/bus/input/devices

图 9
图 9

执行如下命令,按下USER1(KEY2)进行按键测试,可看到如下打印信息,按"Ctrl + C"可终止测试命令。

Target# od -x /dev/input/event0

图 10
图 10

外部RTC测试

请将ML2032(3V可充)或CR2032(3V不可充)电池安装至RTC纽扣电池座,进行外部RTC测试。

备注:使用CR2032不可充电电池时,请勿将跳线帽插入J1接口。

Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。

(1)查看外部RTC设备节点。

执行如下命令,可查看到外部RTC设备节点为"/dev/rtc0"。

Target# ls /dev/rtc*

图 11
图 11

Target# dmesg | grep rtc

图 12
图 12

(2)查看系统时钟。

Target# date

图 13
图 13

(3)设置系统时间并同步系统时钟至RTC时钟。

Target# date -s "2025-6-17 15:50:00" //设置时间:2025年6月17日15点50分00秒

Target# hwclock -w -f /dev/rtc0

Target# hwclock -f /dev/rtc0

图 14
图 14

(4)将评估板断电,放置一断时间后,重新上电,执行如下命令查询系统时间,验证外部RTC功能。

Target# hwclock -f /dev/rtc0

图 15
图 15

DDR读写测试

DDR读写速度受DDR物料型号、测试方法、测试数据大小影响,测试速率以具体情况为准,如下测试数据仅供参考。

执行如下命令,查询DDR的可用容量。

Target# free -m

图 16
图 16

(1)DDR读速度测试

进入评估板系统,执行如下命令对DDR进行读速度测试。

Target# bw_mem -P $(nproc) -N 10 128M frd

图 17
图 17

本次测试从DDR读取128MByte数据,可看到本次测试的读速度为2311.26MB/s。

(2)DDR写速度测试

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

Target# bw_mem -P $(nproc) -N 10 128M fwr

图 18
图 18

本次测试写入128MByte数据至DDR,可看到本次测试的写速度为1629.69MB/s。

(3)DDR拷贝速度测试

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

Target# bw_mem -P $(nproc) -N 10 128M fcp

图 19
图 19

本次测试拷贝128MByte数据至DDR,可看到本次测试的拷贝速度为1661.76MB/s。

(4)Stream带宽测试

执行如下命令对DDR进行Stream带宽测试。

Target# stream -M 128M -P $(nproc) -N 10

图 20
图 20

参数解析:

  1. copy:先访问一个内存单元读出其中的值,再将值写入至另一个内存单元;
  2. scale:先从内存单元读出其中的值,作一个乘法运算,再将结果写入至另一个内存单元;
  3. add:先从内存单元读出两个值,做加法运算,再将结果写入至另一个内存单元;
  4. triad:表示将copy、scale、add三种操作组合进行测试。

(1)DDR压力测试

执行如下命令对DDR进行压力测试。

Target# memtester 128M 1

图 21
图 21

SPI FLASH测试

执行如下命令,查看SPI FLASH的容量和型号,由下图可知SPI FLASH的型号为GD25Q64,容量为8192KByte。

Target# dmesg | grep spi-nor

图 22
图 22

(1)SPI FLASH擦除测试

执行如下命令,擦除SPI FLASH分区。

Target# flash_erase /dev/mtd0 0 0

图 23
图 23

执行如下命令,全部数据为ffff即已正确擦除。

Target# mtd_debug read /dev/mtd0 0 0x00800000 mtd.data

Target# hexdump -x mtd.data

图 24
图 24

(2)SPI FLASH写速度测试

执行如下命令,查看mtd分区。

Target# cat /proc/mtd

图 25
图 25

执行如下命令,进行SPI FLASH写速度测试。

Target# echo 3 > /proc/sys/vm/drop_caches

Target# time dd if=/dev/urandom of=/dev/mtd0 bs=64k count=128

图 26
图 26

参数解析:

  1. bs=64k:同时设置读入/输出的块大小为64k个字节。
  2. count=128:拷贝128个块。

此处一共写入128 x 64 x 1024 = 8MByte测试数据至SPI FLASH,可看到本次测试SPI FLASH写速度为852.2KB/s。

(3)SPI FLASH读速度测试

执行如下命令,进行SPI FLASH读速度测试。

Target# echo 3 > /proc/sys/vm/drop_caches

Target# time dd if=/dev/mtd0 of=/dev/null bs=64k count=128

图 27
图 27

此处一共从SPI FLASH读取128 x 64 x 1024 = 8MByte测试数据,可看到本次测试SPI FLASH读速度为38.8MB/s。

(4)数据校验测试

执行如下命令,进行SPI FLASH数据校验测试。

Target# time dd if=/dev/urandom of=test.bin bs=64k count=128

Target# flashcp -v test.bin /dev/mtd0

图 28
图 28

运行上述命令在Verifying data阶段无报错,则数据校验正常。

eMMC读写测试

请将Linux系统启动卡插入评估板Micro SD卡槽,请根据评估底板丝印将启动方式选择拨码开关拨为011(1~3),此档位为Micro SD启动模式。评估板上电,系统将从Linux系统启动卡启动。执行如下命令查看eMMC分区信息。

Target# fdisk -l | grep "/dev/mmcblk1"

Target# df -h

图 29
图 29
图 30
图 30

(1)eMMC写速度测试

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

Target# fio -filename=/dev/mmcblk1 -ioengine=libaio -iodepth=1 -iodepth_batch=1 -iodepth_low=1 -iodepth_batch_complete=1 -direct=1 -rw=write -bs=1024K -size=1024M -numjobs=1 -thread -group_reporting -name=write_job -userspace_reap -ramp_time=1 -allow_mounted_write=1

图 31
图 31

此处一共写1024MByte测试数据至eMMC设备,可看到本次测试的eMMC设备写速度约为21.2MB/s。

(2)eMMC读速度测试

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

Target# fio -filename=/dev/mmcblk1 -ioengine=libaio -iodepth=1 -iodepth_batch=1 -iodepth_low=1 -iodepth_batch_complete=1 -direct=1 -rw=read -bs=1024K -size=1024M -numjobs=1 -thread -group_reporting -name=read_job -userspace_reap -ramp_time=1

图 32
图 32

此处从eMMC设备中一共读出1024MByte数据,可看到本次测试的eMMC设备读速度约为24.1MB/s。

Micro SD接口读写测试

本次操作使用SanDisk品牌、128GByte容量的Micro SD卡来测试评估板Micro SD接口性能。不同的Micro SD卡以及不同的测试方法,对Micro SD接口测试结果将造成一定差异。

请先参考《Linux系统固化手册》文档,按照指引将最新系统镜像固化至eMMC,取出Linux系统启动卡,根据评估底板丝印将启动方式选择拨码开关拨为111(1~3),此档位为eMMC启动模式。评估板上电,系统将从eMMC启动。系统启动后再将Linux系统启动卡插至评估板Micro SD卡槽,进入评估板文件系统执行如下命令,查看Micro SD卡信息。

Target# fdisk -l | grep "/dev/mmcblk0"

Target# df -h

图 33
图 33

(1)Micro SD接口写速度测试

进入评估板系统,执行如下命令测试Micro SD接口写速度。

Target# fio -filename=/dev/mmcblk0 -ioengine=libaio -iodepth=1 -iodepth_batch=1 -iodepth_low=1 -iodepth_batch_complete=1 -direct=1 -rw=write -bs=1024K -size=1024M -numjobs=1 -thread -group_reporting -name=write_job -userspace_reap -ramp_time=1 -allow_mounted_write=1

图 34
图 34

此处一共写1024MByte测试数据至Micro SD卡,可看到本次测试的Micro SD接口写速度约为19.8MB/s。

(2)Micro SD接口读速度测试

执行如下命令测试Micro SD接口读速度。

Target# fio -filename=/dev/mmcblk0 -ioengine=libaio -iodepth=1 -iodepth_batch=1 -iodepth_low=1 -iodepth_batch_complete=1 -direct=1 -rw=read -bs=1024K -size=1024M -numjobs=1 -thread -group_reporting -name=read_job -userspace_reap -ramp_time=1

图 35
图 35

此处一共读出1024MByte的数据,可看到本次测试的Micro SD接口读速度约为23.8MB/s。

由于篇幅过长等原因,部分内容均不逐一展示,如需获取完整版详细资料,请关注创龙科技微信公众号或官网,或者评论区留言,感谢您的支持!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前 言
    • 开发环境
    • 术语表
    • 注意事项
  • 使用概要
    • 评估板接口测试汇总
    • Linux设备节点说明
    • Linux存储分区说明
  • 系统启动测试
  • 评估板快速测试
    • LED测试
    • 按键测试
    • 外部RTC测试
    • DDR读写测试
    • SPI FLASH测试
    • eMMC读写测试
    • Micro SD接口读写测试
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档