前 言

本文档适用开发环境:

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机和评估板之间传送文件的常见方式如下:

  1. 通过Linux系统启动卡、U盘等存储介质方式拷贝。
  2. 通过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

  1. 使用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

  1. 使用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

  1. 使用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纽扣电池座。

如下为时钟相关的常用命令。

  1. 查看系统时钟

Target# date

图 26

  1. 查看RTC时钟

Target# hwclock -u

图 27

  1. 设置系统时间

Target# date -s "2022-04-15 08:30:00" //设置时间:2022年4月15日8点30分00秒

Target# date

图 28

  1. 同步系统时钟至RTC时钟

Target# hwclock --systohc -u

Target# hwclock -u

图 29

  1. 同步RTC时钟至系统时钟

Target# hwclock --hctosys -u

图 30

DDR读写测试

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

  1. DDR读速度测试

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

Target# bw_mem 50M rd

图 31

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

  1. DDR写速度测试

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

Target# bw_mem 50M wr

图 32

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

  1. DDR拷贝速度测试

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

Target# bw_mem 30M cp

图 33

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

嵌入式工业开发板基础测试手册——基于NXP iMX6ULL开发板(1)的更多相关文章

  1. Android IOS WebRTC 音视频开发总结(七)-- 基于浏览器的开发

    前面写的一系列总结都是讲webrtc如何下载,编译,开发的,有些人可能有点云里雾里了,WEBRTC不是用来搞跨浏览器开发的吗,怎么我讲的这些跟浏览器扯不上任何关系,其实看看下面这个架构图,你就明白了, ...

  2. 基于jeesite+android开发 电子商务系统免费教程

    下载地址: jeesite免费教程 基于jeesite+android开发 电子商务系统免费教程 基于jeesite+android开发 电子商务系统免费教程 这个教程已经录制完很久了,一直没有公开, ...

  3. 基于vue模块化开发后台系统——准备工作

    文章目录如下:项目效果预览地址项目开源代码基于vue模块化开发后台系统--准备工作基于vue模块化开发后台系统--构建项目基于vue模块化开发后台系统--权限控制 前言 本文章是以学习为主,练习一下v ...

  4. 基于vue模块化开发后台系统——构建项目

    文章目录如下:项目效果预览地址项目开源代码基于vue模块化开发后台系统--准备工作基于vue模块化开发后台系统--构建项目基于vue模块化开发后台系统--权限控制 前言 在熟悉上一篇说到准备工具之后, ...

  5. 【转载】如何从零开始开发一款嵌入式产品(20年的嵌入式经验分享学习,来自STM32神舟系列开发板设计师的总结

    [好文章值得分享,摘自作者:jesse] 来源:www.armjishu.com作者:jesse转载请注明出处 我的另一篇文章:<STM32嵌入式入门必看之文章-----介绍非常详细!(学STM ...

  6. 第五章 搭建 S3C6.410 开发板的 测试环境

    一.简介: 对于嵌入式驱动开发者来说,你必须要了解什么是开发板:它与我们经常用的手机类似, 包含了显示屏. 键盘. Wi-Fi. 蓝牙等模块等,是开发者必备的硬件设备.但与手机不同的是:在开发板上安装 ...

  7. 高性能嵌入式核心板新标杆!米尔推出基于NXP i.MX8M处理器的MYC-JX8MX核心板

    随着嵌入式及物联网技术的飞速发展,高性能计算的嵌入式板卡已经成为智能产品的基础硬件平台.为响应行业应用和满足客户需求,米尔电子推出基于NXP公司i.MX8M系列芯片的开发平台MYD-JX8MX系列开发 ...

  8. 基于全志A40i开发板——Linux-RT内核应用开发教程(1)

    目录 1 Linux-RT内核简介 3 2 Linux系统实时性测试 3 3 rt_gpio_ctrl案例 10 4 rt_input案例 15 本文为Linux-RT内核应用开发教程的第一章节--L ...

  9. 第五章 搭建S3C6410开发板的测试环境

    在PC上可以开发Linux驱动,重新编译成ARM架构的Linux驱动模块,但最后还是要在开发板上进行测试.目前最流行的是基于三星S3C6410 ARM11架构的开发板,很多厂商在其基础上进行了扩展,开 ...

  10. 第五章——搭建S3C6410开发板的测试环境

    搭建S3C6410开发板的测试环境 通过本章的学习学会了如何在开发板上安装Android.开发板是学习和开发嵌入式技术的主要硬件设备,想要顺利的通过linux驱动访问硬件,是不能在PC板上模拟的,需要 ...

随机推荐

  1. 如何阅读 Paper

    前言 论文(Paper)通常是新技术.算法.编程方法或软件工具的首次公布.通过阅读论文,我们可以了解最新的技术进展,保持自己的技能和知识是最新的. 同时,论文提供了对特定主题深入理解的机会.它们通常包 ...

  2. 08. C语言函数

    [函数基础] 函数用于将程序代码分类管理,实现不同功能的代码放在不同函数内,一个函数等于一种功能,其它函数可以调用本函数执行. C语言规定所有的指令数据必须定义在函数内部,比如之前介绍的程序执行流程控 ...

  3. 05. C语言数组

    数组用于将多个数据集中存储,方便管理,此文将任何集中存储一组数据的语句都称为数组,数组根据存储数据的类型和方式分为以下类型:数组.结构体.共用体.枚举. [数组] 数组用于存储多个类型相同的数据,可以 ...

  4. Wordpress给每一个分类栏目定制不同的广告位

    给分类栏目添加广告位,等同于添加自定义字段. 如果需要依据不同的栏目给广告位添加不同的tag来源,需要在模板页面中获取栏目的分类别名,读取不同的广告. 图1 如图1所示添加新的图片输入框 1. 实现的 ...

  5. 【AnaTraf 分享】什么是 AnaTraf?为什么设计 AnaTraf?

    网络流量分析与 AnaTraf "2013年,网络流量分析技术(NTA, Network Traffic Analysis)的概念被首次提出,在2016年逐渐兴起.2017年,NTA被Gar ...

  6. 用 C 语言开发一门编程语言 — Q-表达式

    目录 文章目录 目录 前文列表 Q-表达式 读取并存储输入 实现 Q-Expression 语法解析器 读取 Q-Expression 实现 Q-Expression 的函数 Head & T ...

  7. 有隙可乘 - Android 序列化漏洞分析实战

    作者:vivo 互联网大前端团队 - Ma Lian 本文主要描述了FileProvider,startAnyWhere实现,Parcel不对称漏洞以及这三者结合产生的漏洞利用实战,另外阐述了漏洞利用 ...

  8. AIRIOT可视化组态引擎如何应用于物联业务场景中

    在物联网的业务应用场景中,可视化组态是一个必不可少的功能需求.不同的行业场景,都需要将物联设备采集的数据和业务场景状态进行直观的可视化展示,供使用者进行分析或决策.如工艺流程用能监测.3D场景构建.能 ...

  9. N 年前,为了学习分库分表,我把 Cobar 源码抄了一遍

    10 几年前,互联网产业蓬勃发展,相比传统 IT 企业,互联网应用每天会产生海量的数据. 如何存储和分析这些数据成为了当时技术圈的痛点,彼时,分库分表解决方案应运而生. 当时最流行的 Java 技术论 ...

  10. 解决:ModuleNotFoundError: No module named ‘urllib3.packages.six.moves问题

    解决方案: 第一步:把selenium版本降到3.3.1 配合urllib3版本1.26.2使用,成功解决 &在python interpreter安装availablePackages se ...