嵌入式工业开发板基础测试手册——基于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
图 2
打开串口调试终端SecureCRT,选择对应的COM端口号,设置波特率为115200,8N1,无校验位。建立串口连接,如下图所示。
图 3
将Linux系统启动卡插入评估板Micro SD卡槽,将启动方式选择拨码开关拨为010100(1~6),此档位为SD启动模式。将评估板上电启动,串口调试终端会打印如下类似启动信息。
图 4
图 5
备注:由于我司提供的Linux系统保留了部分官方驱动配置,且实际未使用到相关驱动的部分功能,因此在内核启动过程中驱动会打印部分警告信息。此类警告信息不会影响系统的正常运行,请忽略即可。
图 6
图 7
核心板LED在系统启动过程中的变化说明如下:
评估板上电后,电源指示灯LED0点亮;随后U-Boot第一阶段启动,LED1点亮;紧接着U-Boot第二阶段启动,LED2点亮;直至内核启动运行时,LED2熄灭,LED1进行心跳闪烁。
图 8
系统启动后会自动登录root用户,说明使用Linux系统启动卡启动评估板成功。
图 9
如需从NAND FLASH启动评估板,请执行如下命令,一键固化Linux系统至NAND FLASH。
Target# /opt/tools/mknandboot.sh
图 10
图 11
耗时约5~10min,NAND FLASH成功固化Linux系统,同时串口调试终端打印提示信息。评估板断电,将Linux系统启动卡从评估板Micro SD卡槽中取出,将拨码开关拨为011000(1~6),此档位为NAND FLASH启动模式。
评估板重新上电后,将从NAND FLASH启动系统。
文件传输测试
PC机和评估板之间传送文件的常见方式如下:
- 通过Linux系统启动卡、U盘等存储介质方式拷贝。
- 通过NFS、TFTP、OpenSSH等网络方式拷贝。
通过Linux系统启动卡
将配套的系统启动卡通过读卡器插至PC机,然后将文件拷贝至系统启动卡的BOOT分区,如下图所示。
图 12
将系统启动卡插至评估板Micro SD卡槽,评估板上电启动系统,进入文件系统执行如下命令查看分区信息。系统启动卡的BOOT分区挂载在评估板文件系统"/run/media/mmcblk0p1/"目录下。
Target# df
Target# ls /run/media/mmcblk0p1
图 13
通过OpenSSH
OpenSSH是SSH(Secure Shell)协议的免费开源实现。SSH协议族可用来进行远程控制,或在计算机之间传送文件,评估板文件系统默认已支持SSH库。
在Ubuntu系统执行如下命令,查询是否已安装OpenSSH。
Host# ssh
图 14
可看到系统已自带OpenSSH。如未安装,请先自行正确安装OpenSSH。
将评估板ETH1 RMII网口通过网线连接至路由器。在评估板上执行如下命令可自动获取到IP,如下图所示。"-i"用于指定网卡,eth0为网卡名字,请根据实际情况修改。
Target# udhcpc -i eth0
图 15
执行如下命令可查询IP地址。本次查询到的IP地址是192.168.0.237。
Target# ifconfig
图 16
- 使用OpenSSH从PC机传输文件至评估板
执行如下命令在Ubuntu系统中新建文件test1,并使用OpenSSH命令将test1文件拷贝至评估板文件系统根目录。
Host# touch test1 //新建文件
Host# scp test1 root@192.168.0.237:/
图 17
如出现提示"Are you sure you want to continue connecting (yes/no)?",请输入:yes。
在评估板文件系统执行如下命令可看到从PC机拷贝的文件,如下图所示。
Target# ls /
图 18
- 使用OpenSSH从评估板传输文件至PC机
执行如下命令在评估板文件系统根目录新建一个测试文件test2。
Target# cd /
Target# touch test2
图 19
在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/
图 20
- 使用OpenSSH登录至评估板文件系统
在Ubuntu系统中执行如下命令可通过OpenSSH登录评估板文件系统。
Host# sudo ssh root@192.168.0.237
图 21
如需退出登录,请执行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亮
图 22
按键测试
用户输入按键测试
评估板包含两个用户输入按键KEY2和KEY3。进入评估板系统,执行如下命令查看按键事件号。
Target# cat /proc/bus/input/devices
图 23
从上图中可看到按键事件号为event1,执行如下命令,分别按下KEY2、KEY3进行按键测试,串口调试终端将会打印如下类似信息,其中"0094"表示KEY2,"0095"表示KEY3。按"Ctrl + C"可终止测试命令。
Target# od -x /dev/input/event1
图 24
ON/OFF按键测试
评估板上电启动后,长按ON/OFF(KEY1)按键5s,系统将休眠,同时核心板用户指示灯与电源指示灯全部熄灭。接着长按ON/OFF(KEY1)按键1s,系统将重新启动,同时串口调试终端将会打印如下类似启动信息。
图 25
时钟设置测试
Linux系统中分系统时钟(软件时钟)和RTC时钟(硬件时钟),系统时钟掉电即会消失,RTC时钟在安装电池的情况下会长期运行。
如需使用外部RTC时钟,请将ML2032(3V可充)或CR2032(3V不可充)电池安装至RTC纽扣电池座。
如下为时钟相关的常用命令。
- 查看系统时钟
Target# date
图 26
- 查看RTC时钟
Target# hwclock -u
图 27
- 设置系统时间
Target# date -s "2022-04-15 08:30:00" //设置时间:2022年4月15日8点30分00秒
Target# date
图 28
- 同步系统时钟至RTC时钟
Target# hwclock --systohc -u
Target# hwclock -u
图 29
- 同步RTC时钟至系统时钟
Target# hwclock --hctosys -u
图 30
DDR读写测试
DDR读写速度受实际情况影响,测试速率以具体情况为准,如下测试数据仅供参考。
- DDR读速度测试
进入评估板系统,执行如下命令对DDR进行读速度测试。
Target# bw_mem 50M rd
图 31
测试从DDR中读取50MByte数据,可看到本次测试的读速度为1014.05MB/s。
- DDR写速度测试
进入评估板系统,执行如下命令对DDR进行写速度测试。
Target# bw_mem 50M wr
图 32
测试写入50MByte数据至DDR中,可看到本次测试的写速度为492.39MB/s。
- DDR拷贝速度测试
进入评估板系统,执行如下命令对DDR进行拷贝速度测试。
Target# bw_mem 30M cp
图 33
测试拷贝30MByte数据至DDR中,可看到本次测试的拷贝速度为255.96MB/s。
嵌入式工业开发板基础测试手册——基于NXP iMX6ULL开发板(1)的更多相关文章
- Android IOS WebRTC 音视频开发总结(七)-- 基于浏览器的开发
前面写的一系列总结都是讲webrtc如何下载,编译,开发的,有些人可能有点云里雾里了,WEBRTC不是用来搞跨浏览器开发的吗,怎么我讲的这些跟浏览器扯不上任何关系,其实看看下面这个架构图,你就明白了, ...
- 基于jeesite+android开发 电子商务系统免费教程
下载地址: jeesite免费教程 基于jeesite+android开发 电子商务系统免费教程 基于jeesite+android开发 电子商务系统免费教程 这个教程已经录制完很久了,一直没有公开, ...
- 基于vue模块化开发后台系统——准备工作
文章目录如下:项目效果预览地址项目开源代码基于vue模块化开发后台系统--准备工作基于vue模块化开发后台系统--构建项目基于vue模块化开发后台系统--权限控制 前言 本文章是以学习为主,练习一下v ...
- 基于vue模块化开发后台系统——构建项目
文章目录如下:项目效果预览地址项目开源代码基于vue模块化开发后台系统--准备工作基于vue模块化开发后台系统--构建项目基于vue模块化开发后台系统--权限控制 前言 在熟悉上一篇说到准备工具之后, ...
- 【转载】如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习,来自STM32神舟系列开发板设计师的总结
[好文章值得分享,摘自作者:jesse] 来源:www.armjishu.com作者:jesse转载请注明出处 我的另一篇文章:<STM32嵌入式入门必看之文章-----介绍非常详细!(学STM ...
- 第五章 搭建 S3C6.410 开发板的 测试环境
一.简介: 对于嵌入式驱动开发者来说,你必须要了解什么是开发板:它与我们经常用的手机类似, 包含了显示屏. 键盘. Wi-Fi. 蓝牙等模块等,是开发者必备的硬件设备.但与手机不同的是:在开发板上安装 ...
- 高性能嵌入式核心板新标杆!米尔推出基于NXP i.MX8M处理器的MYC-JX8MX核心板
随着嵌入式及物联网技术的飞速发展,高性能计算的嵌入式板卡已经成为智能产品的基础硬件平台.为响应行业应用和满足客户需求,米尔电子推出基于NXP公司i.MX8M系列芯片的开发平台MYD-JX8MX系列开发 ...
- 基于全志A40i开发板——Linux-RT内核应用开发教程(1)
目录 1 Linux-RT内核简介 3 2 Linux系统实时性测试 3 3 rt_gpio_ctrl案例 10 4 rt_input案例 15 本文为Linux-RT内核应用开发教程的第一章节--L ...
- 第五章 搭建S3C6410开发板的测试环境
在PC上可以开发Linux驱动,重新编译成ARM架构的Linux驱动模块,但最后还是要在开发板上进行测试.目前最流行的是基于三星S3C6410 ARM11架构的开发板,很多厂商在其基础上进行了扩展,开 ...
- 第五章——搭建S3C6410开发板的测试环境
搭建S3C6410开发板的测试环境 通过本章的学习学会了如何在开发板上安装Android.开发板是学习和开发嵌入式技术的主要硬件设备,想要顺利的通过linux驱动访问硬件,是不能在PC板上模拟的,需要 ...
随机推荐
- vim 使用black 格式化python代码
vim 使用black 格式化代码 github black 的github https://github.com/psf/black 安装 pip3 install black 使用 black f ...
- 基于三菱Q系列cc-Link的立体仓库控制系统
系统说明: 方案选择: 工艺流程: 触摸屏设计: 程序设计:采用SFC进行编程,结构清晰,逻辑明了 本文章为学习记录,水平有限,望各路大佬们轻喷!!! 转载请注明出处!!!
- 在Deepin 20.2系统中换源并全新图解安装MySQL数据库
在Deepin 20.2系统中换源并全新图解安装MySQL数据库 https://www.ywnz.com/linuxysjk/9249.html ubuntu下apt-get彻底卸载mysql 删除 ...
- 解决Host key verification failed.(亲测有效)
哈喽哇,今天在访问远程服务器的时候,出现了一个小问题. 原因:之前ssh联系过服务器,重置服务器后,再次连接服务器,就会出这个问题. 一.发现问题 问题如下图代码: $ ssh root@108.61 ...
- leaflet 实现地图上标记的发散闪烁动画
先看效果 js文件:blinkmarker.js L.blinkMarker = function (point, property) { // 使用js标签,便于操作,这个temDivEle的作用是 ...
- c语言编译系统工作原理
c语言编译系统内部的工作原理 程序生命周期概述 一个程序的生命周期可以被分成四个部分: 创建 编译 运行 退出 以一个简单的 helloworld.c 程序为例: #include<stdio. ...
- Unity Linear Gamma色彩空间矫正测试
Gamma和Linear修正的问题相信网上已经有很多文章了.简单来说显示器的颜色输出不是线性的,根据硬件参数和输出颜色 信息拟合曲线是x^2.2,因此会使用一个x^0.45曲线将其拟合回线性. 因为0 ...
- ajax跨域(跨源)方案之CORS
ajax跨域(跨源)方案:后端授权[CORS],jsonp,服务端代理 CORS是一个W3C标准,全称是"跨域资源共享",它允许浏览器向跨源的后端服务器发出ajax请求,从而克服了 ...
- 牛逼!50.3K Star!一个自动将屏幕截图转换为代码的开源工具
1.背景 在当今快节奏的软件开发环境中,设计师与开发者之间的协同工作显得尤为重要.然而,理解并准确实现设计稿的意图常常需要耗费大量的时间和沟通成本.为此,开源社区中出现了一个引人注目的项目--scre ...
- kubernetes使用metrics-server进行资源监控
kubernetes资源监控 1. 查看集群资源状况 ·k8s集群的master节点一般不会跑业务容器· kubectl get cs #查看master资源状态 kubectl get node # ...