嵌入式工业开发板基础测试手册——基于NXP iMX6ULL开发板(1)
前 言
本文档适用开发环境:
Windows开发环境:Windows 7 64bit、Windows 10 64bit
虚拟机:VMware15.1.0
Linux开发环境:Ubuntu18.04.4 64bit
U-Boot:U-Boot-2020.04
Kernel:Linux-5.4.70
Linux SDK:5.4.70_2.3.0
进行本文档操作前,请先按照调试工具安装、Linux开发环境搭建相关文档,安装SecureCRT串口调试终端、VMware虚拟机等相关软件。
本文档主要提供评估板的硬件资源测试方法。无特殊说明情况下,默认使用USB TO UART1作为调试串口,使用Linux系统启动卡(SD启动模式)启动系统,通过路由器与PC机进行网络连接。
基于测试板卡:创龙科技TLIMX6U-EVM是一款基于NXP i.MX 6ULL的ARM Cortex-A7高性能低功耗处理器设计的评估板,由核心板和评估底板组成。核心板经过专业的PCB Layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。
评估板接口资源丰富,引出双路网口、双路RS485、双路CAN、三路USB、多路DI/DO、LCD等接口,板载WIFI、Bluetooth模块,支持LoRa、NB-IoT、Zigbee、4G模块,可选配外壳直接应用于工业现场,方便用户快速进行产品方案评估与技术预研。
评估板快速测试
系统启动测试
接入电源,并使用Micro USB线连接PC机和评估板的USB TO UART1调试串口。打开设备管理器,确认评估板USB TO UART1调试串口对应的COM端口号。
图 1
打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无校验位。建立串口连接,如下图所示。
将Linux系统启动卡插入评估板Micro SD卡槽,将启动方式选择拨码开关拨为010100(1~6),此档位为SD启动模式。将评估板上电启动,串口调试终端会打印如下类似启动信息。
备注:由于我司提供的Linux系统保留了部分官方驱动配置,且实际未使用到相关驱动的部分功能,因此在内核启动过程中驱动会打印部分警告信息。此类警告信息不会影响系统的正常运行,请忽略即可。
核心板LED在系统启动过程中的变化说明如下:
评估板上电后,电源指示灯LED0点亮;随后U-Boot第一阶段启动,LED1点亮;紧接着U-Boot第二阶段启动,LED2点亮;直至内核启动运行时,LED2熄灭,LED1进行心跳闪烁。
系统启动后会自动登录root用户,说明使用Linux系统启动卡启动评估板成功。
如需从NAND FLASH启动评估板,请执行如下命令,一键固化Linux系统至NAND FLASH。
Target# /opt/tools/mknandboot.sh
耗时约5~10min,NAND FLASH成功固化Linux系统,同时串口调试终端打印提示信息。评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,将拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。
评估板重新上电后,将从NAND FLASH启动系统。
文件传输测试
PC机和评估板之间传送文件的常见方式如下:
- 通过Linux系统启动卡、U盘等存储介质方式拷贝。
- 通过NFS、TFTP、OpenSSH等网络方式拷贝。
通过Linux系统启动卡
将配套的系统启动卡通过读卡器插至PC机,然后将文件拷贝至系统启动卡的BOOT分区,如下图所示。
将系统启动卡插至评估板Micro SD卡槽,评估板上电启动系统,进入文件系统执行如下命令查看分区信息。系统启动卡的BOOT分区挂载在评估板文件系统"/run/media/mmcblk0p1/"目录下。
Target# df
Target# ls /run/media/mmcblk0p1
通过OpenSSH
OpenSSH是SSH(Secure Shell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。
在Ubuntu系统执行如下命令,查询是否已安装OpenSSH。
Host# ssh
可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。
将评估板ETH1 RMII网口通过网线连接至路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。"-i"用于指定网卡,eth0为网卡名字,请根据实际情况修改。
Target# udhcpc -i eth0
执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.237。
Target# ifconfig
- 使用OpenSSH从PC机传输文件至评估板
执行如下命令在Ubuntu系统中新建文件test1,并使用OpenSSH命令将test1文件拷贝至评估板文件系统根目录。
Host# touch test1 //新建文件
Host# scp test1 root@192.168.0.237:/
如出现提示"Are you sure you want to continue connecting (yes/no)?",请输入:yes。
在评估板文件系统执行如下命令可看到从PC机拷贝的文件,如下图所示。
Target# ls /
- 使用OpenSSH从评估板传输文件至PC机
执行如下命令在评估板文件系统根目录新建一个测试文件test2。
Target# cd /
Target# touch test2
在Ubuntu系统中执行如下OpenSSH命令将评估板测试文件test2拷贝至PC机"/home/tronlong/IMX6/"目录下。如传输内容为文件夹,请在scp后面添加参数"-r"。
Host# sudo scp root@192.168.0.237:/test2 /home/tronlong/IMX6/
Host# ls /home/tronlong/IMX6/
- 使用OpenSSH登录至评估板文件系统
在Ubuntu系统中执行如下命令可通过OpenSSH登录评估板文件系统。
Host# sudo ssh root@192.168.0.237
如需退出登录,请执行exit或者logout命令。
LED测试
进入评估板文件系统,执行如下命令逐盏熄灭、点亮评估底板LED。
Target# echo 0 > /sys/class/leds/user-led0/brightness //控制LED1灭
Target# echo 1 > /sys/class/leds/user-led0/brightness //控制LED1亮
Target# echo 0 > /sys/class/leds/user-led1/brightness //控制LED2灭
Target# echo 1 > /sys/class/leds/user-led1/brightness //控制LED2亮
按键测试
用户输入按键测试
评估板包含两个用户输入按键KEY2和KEY3。进入评估板系统,执行如下命令查看按键事件号。
Target# cat /proc/bus/input/devices
从上图中可看到按键事件号为event1,执行如下命令,分别按下KEY2、KEY3进行按键测试,串口调试终端将会打印如下类似信息,其中"0094"表示KEY2,"0095"表示KEY3。按"Ctrl + C"可终止测试命令。
Target# od -x /dev/input/event1
ON/OFF按键测试
评估板上电启动后,长按ON/OFF(KEY1)按键5s,系统将休眠,同时核心板用户指示灯与电源指示灯全部熄灭。接着长按ON/OFF(KEY1)按键1s,系统将重新启动,同时串口调试终端将会打印如下类似启动信息。
时钟设置测试
Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。
如需使用外部RTC时钟,请将ML2032(3V可充)或CR2032(3V不可充)电池安装至RTC纽扣电池座。
如下为时钟相关的常用命令。
- 查看系统时钟
Target# date
- 查看RTC时钟
Target# hwclock -u
- 设置系统时间
Target# date -s "2022-04-15 08:30:00" //设置时间:2022年4月15日8点30分00秒
Target# date
- 同步系统时钟至RTC时钟
Target# hwclock --systohc -u
Target# hwclock -u
- 同步RTC时钟至系统时钟
DDR读写测试
DDR读写速度受实际情况影响,测试速率以具体情况为准,如下测试数据仅供参考。
- DDR读速度测试
进入评估板系统,执行如下命令对DDR进行读速度测试。
Target# bw_mem 50M rd
测试从DDR中读取50MByte数据,可看到本次测试的读速度为1014.05MB/s。
- DDR写速度测试
进入评估板系统,执行如下命令对DDR进行写速度测试。
Target# bw_mem 50M wr
测试写入50MByte数据至DDR中,可看到本次测试的写速度为492.39MB/s。
- DDR拷贝速度测试
进入评估板系统,执行如下命令对DDR进行拷贝速度测试。
Target# bw_mem 30M cp