“EMB-2510”的版本间的差异

来自ARM Wiki
跳转至: 导航搜索
Linux系统的使用
 
第1行: 第1行:
==介绍==
+
==资源特性==
 
[[File:EMB-2510概览.jpg|thumb|frameless|300px|概览]]
 
[[File:EMB-2510概览.jpg|thumb|frameless|300px|概览]]
 
[[File:EMB-2510正面.jpg|thumb|frameless|300px|正面]]
 
[[File:EMB-2510正面.jpg|thumb|frameless|300px|正面]]
 
[[File:EMB-2510背面.jpg|thumb|frameless|300px|背面]]
 
[[File:EMB-2510背面.jpg|thumb|frameless|300px|背面]]
 
* EMB-2510(简称2510)是华北工控面向高清数字,工业,交通,信息化领域等研发的一款高可靠性工业主板,大小为105x80mm大小,可运行android,Linux操作系统。
 
 
* EMB-2510为Cortex™-A9的高扩展性多核系列应用处理器,不仅具有超强的图形处理能力、4K高清视频播放能力及应用计算能力,仅12V供电拥有极低的功耗。
 
 
* EMB-2510具有稳定可靠的工业级性能,板载WiFi、千兆以太网、HDMI、耳机接口等接口,具备高集成度,可满足多个行业的应用需求。
 
 
==资源特性==
 
 
* CPU:ARM Cortex A53 1.5GHz 4x A53 + M4
 
* CPU:ARM Cortex A53 1.5GHz 4x A53 + M4
 
* GPU:GC7000L GPU
 
* GPU:GC7000L GPU

2020年12月10日 (四) 11:27的最新版本

资源特性

概览
正面
背面
  • CPU:ARM Cortex A53 1.5GHz 4x A53 + M4
  • GPU:GC7000L GPU
  • 内存:LPDDR4 2G/3G
  • 存储:板载16G Flash eMMC
  • 网口:10/100/1000M 以太网口, 采用AR8033 PHY芯片
  • WIFI:板载WIFI模块
  • Display:1 x Mini-HDMI,1 x LVDS
  • Audio:板载SGTL5000-XNAA3 音频控制芯片 line out + mic in
  • USB Host:2 x USB2.0,2 x USB3.0,USB_OTG x 1
  • COM:2 x RS232,1 x RS232/485
  • 调试COM: 1 X RS232
  • GPIO:4 x GPIO
  • TF Card:x1
  • System Control:Reset switch, Power switch
  • Temperature:Work -20 ~ 65, Storage -40 ~ 85
  • Humidity:5% ~ 95%相对湿度,无冷凝
  • PCB Size:100mm X 72 mm
  • Power Supply: DC 5V
  • OS: Android/Yocto

接口布局和尺寸

接口布局图

EMB-2510 接口布局-正面EMB-2510 接口布局-反面
EMB-2510 接口布局-侧面

接口引脚定义

主板内置插针式引脚排序方式

机械尺寸

EMB-2510尺寸.jpg

快速入门

系统下载

Android系统
Linux系统

Android8.1和Yocto2.2系统烧录(仅支持windows系统烧录)

  • 主板处于断电状态下,将主板的otg和Windows主机连接起来,同时将上图中的”位置2”处的J1上的跳冒跳到J2上,然后将主板通电。
2510 OTG.jpg
位置1:OTG口
位置2:刷机跳冒座:正常启动时,将跳冒跳至J1上,如上图所示;刷机模式时,将跳冒跳到J2上.J1位置不跳跳冒。
位置3:12v电源输入。
  • 启动烧录工具开始烧录
解压烧录包,进入mfgtools目录如下图,双击与主板匹配的绿色vbs文件(注意:并非双击MfgTools2.exe),启动烧录工具。
2510 vbs.png
如下图出现HID-compliant device说明成功连接上主板并进入烧录模式,点击 [Start] 按钮开始烧录
2510 识别成功.png
注意 : 如果出现No device connected,表示没有识别到主板,请检查电源及烧录线是否插好,拔插线材确认连接ok后再重新打开相应vbs脚本。
  • 完成烧录
烧录过程不需要任何操作,直到出现绿色进度条表示烧录成功。(如果遇到磁盘需要格式化,也不要做任何操作,Mfgtool会自动处理)
2510 烧录中.png
2510 烧录成功.png
注意:烧录完成后,需将J1跳线冒恢复插入才能正常启动

Android9.0和Yocto2.5以上系统烧录(支持windows和ubuntu环境烧录)

  • 主板处于断电状态下,将主板的otg和Windows主机连接起来,同时将上图中的”位置2”处的J1上的跳冒跳到J2上,然后将主板通电。
2510 OTG.jpg
位置1:OTG口
位置2:刷机跳冒座:正常启动时,将跳冒跳至J1上,如上图所示;刷机模式时,将跳冒跳到J2上.J1位置不跳跳冒。
位置3:12v电源输入。
  • 若主机PC系统是windows系统
1,解压烧录包,参照“windows7系统刷机说明.docx”文档安装usb支持库。
2,以管理员身份运行“windows_burning.bat”脚本
2510 windows系统刷机脚本.jpg
3,等待刷机完成
2510 windows系统刷机完成.jpg
  • 若主机PC系统是ubuntu系统
1,解压烧录包,参照“ubuntu系统刷机说明.txt”文档安装usb支持库。
2,执行:sudo ./linux_burning.sh
3,等待刷机完成
2510 ubuntu系统刷机完成.jpg
注意:烧录完成后,需将J1跳线冒恢复插入才能正常启动

串口调试

Windows 上一般用 putty 或 SecureCRT。以 putty 为例介绍如何使用串口调试功能

putty下载链接选择putty.exe
串口通讯参数配置:
   波特率:115200
   数据位:8
   停止位:1
   奇偶校验:无
   流控:无

putty设置界面如下:

putty-setting
   1.Connection type设置为Serial
   2.Serial line设置为pc端连接的串口(此项填写pc端实际的串口号)
   3.Speed设置为115200
   4.点击Open按钮打开终端

查看PC端的串口号:

putty-查询串口
   *右键点击我的电脑->管理->设备管理器->端口(COM和LPT)找到本机对应的串口
   *如无设备请先确定pc端是否自带串口及驱动是否安装

进入串口调试终端:

putty-串口终端
   *如图进入交互界面,敲击回车或者输入命令会有反馈

API参考与使用

Android系统API
Linux系统API
  • Linux API [ 参考页面]
  • API文件下载地址(.so) 下载地址

Android系统的使用

ADB调试方法

USB ADB使用方法
开启主板ADB调试功能
  1. 在标准模式下,进入主菜单栏。
  2. 点击【Settings】。
  3. 进入最底部【System】菜单栏,选择【About tablet】。
  4. 连续点击【Build number】7次后,将提示“You are now a developer”。
  5. 击【←】图标返回至【Settings】页面,即可看到【Developer options】。
  6. 选择【Developer options】,勾选【USB debugging】。
ADB_slelct


  • 连接时屏幕会提示【Allow USB debugging?】,点击【OK】即可。
ADB_true
注意 : 使用USB ADB进行调试时,主板端不可以插着USB线上电开机
数据线ADB连接使用方法
  • 下载ADB驱动以及工具
  • 安装ADB驱动以及工具
  • 将驱动解压得到可执行文件,将数据线与电脑连接,打开软件,点击[install]即可
ADB驱动


  • 将工具解压至任意盘符,打开命令提示符(win + r键输入cmd),依次进入到该目录下,输入adb devices查看是否发现设备
ADB识别


  • 再输入adb shell进入
ADB shell
网络ADB使用方法
  • 配置网络ADB,配置网络ADB需要先通过USB ADB连接到板卡,然后输出下图中的命令,配置网络ADB端口。
配置网络ADB
配置网络ADB
基于USB ADB配置好ADB端口后,进入【设置】->【开发者选项】,取消勾选【USB调试】,再次勾选【USB调试】,至此网络ADB配置完成。
  • 连接网络ADB,例:上图中得到的eth0 IP为 : 192.168.8.57,输入 : adb connect 192.168.8.57:5555回车
至此板卡已通过网络与PC机进行了ADB连接,输入 : adb shell 回车,进入 shell
连接网络ADB
连接网络ADB

以太网使用方法

  1. 在标准模式下,从顶部向下滑动屏幕。
  2. 点击【设置】。
  3. 点击【网络与互联网】菜单进入网络与互联网设置界面。
  4. 点击【以太网】菜单进入以太网设置界面。
  5. 勾选第一栏【以太网】。
  6. 如果需要静态IP, 点击【以太网IP模式】。
  7. 在弹出的【以太网IP模式】界面中,静态勾选第二栏【静态IP】。
  8. 设置完静态IP之后,点击保存退出按钮。
开启以太网 以太网ip模式设置以太网静态ip设置

WiFi使用方法

  • Android系统目前仅支持型号为 : RTL8188 RTL8723BU
  • 设置->网络和互联网->WLAN
开启WIFI 选择一个WIFI热点进行连接

4G使用方法

  • 依图所示,正确连接4G模块与SIM卡
4Gslot
  • 设置->网络和互联网->移动网络
开启4G

APK安装

  • 常规安装
  • 将含有安装文件的U盘或者可移动设备与主板连接
  • 打开主板系统包含的APK安装器,点击安装,进入到该目录下,右侧点击APK即可
imx8_apk_install.PNG
  • 后台静默安装
1 pm install /mnt/media_rw/udisk/apk/MXPlayer\ 1.7.31.apk
  • 安装成功后显示Success如下图
apk_install

GPIO使用方法

  • GPIO系统编号
  • 通过上文页面得到的GPIO号
  • 例1:操作 GPIO 第 1 Pin ,先拉高,再拉低操作方法:
1 liyun@liyundeubuntu:~$ adb shell
2 shell@sabresd_6dq:/ $ su
3 root@sabresd_6dq:/ # echo 146 > /sys/class/gpio/export
4 root@sabresd_6dq:/ # echo out > /sys/class/gpio/gpio146/direction
5 root@sabresd_6dq:/ # echo 1 > /sys/class/gpio/gpio146/value
6 root@sabresd_6dq:/ # echo 0 > /sys/class/gpio/gpio146/value
shell 说明:
  1. 进入板卡的shell
  2. 使用root权限
  3. 导出第146号GPIO
  4. 设置gpio146为输出
  5. 设置gpio146为高电平
  6. 设置gpio146为低电平
  • 例2:操作 GPIO 第 1 Pin ,读取IO的状态:
1 liyun@liyundeubuntu:~$ adb shell
2 shell@sabresd_6dq:/ $ su
3 root@sabresd_6dq:/ # echo 146 > /sys/class/gpio/export
4 root@sabresd_6dq:/ # echo in > /sys/class/gpio/gpio146/direction
5 root@sabresd_6dq:/ # cat /sys/class/gpio/gpio146/value
6 1
shell 说明:
  1. 进入板卡的shell
  2. 使用root权限
  3. 导出第146号GPIO
  4. 设置gpio146为输入方向
  5. 获得gpio146的电平状态
  6. 获得的状态为高电平
  • 注意:不同的板卡GPIO编号可能不同

串口使用方法

  • 设备节点:/dev/ttymxc0~/dev/ttymxc4
  • 其中/dev/ttymxc0 为调试串口。

Linux系统的使用

Yocto系统交叉编译工具链安装和使用方法

使用yocto系统做应用层开发时,需要安装对应的开发sdk,即安装编译要用到的交叉编译工具链。
a,下载文件 “fsl-imx-xwayland-glibc-x86_64-imx-image-full-aarch64-toolchain-4.19-warrior.sh”下载地址
b,下载完成后,运行安装脚本 :

sudo chmod +x fsl-imx-xwayland-glibc-x86_64-imx-image-full-aarch64-toolchain-4.19-warrior.sh
sudo sh fsl-imx-xwayland-glibc-x86_64-imx-image-full-aarch64-toolchain-4.19-warrior.sh
Sdk安装01.png

c,完成步骤b后,交叉编译工具链会安装至“/opt/fsl-imx-xwayland/4.19-warrior”目录(自定义安装目录的可以到对应的目录查看), 交叉编译工具链的使用方法如下:

source /opt/fsl-imx-xwayland/4.19-warrior/environment-setup-aarch64-poky-linux

查看环境变量,已经可以直接使用"$CC"来交叉编译自己的应用程序APP,此方法只在当前shell生效。

Sdk安装022.jpg


Yocto系统Qt使用方法

QT 开发环境的搭建

工具链下载

  • Yocto 2.7(linux内核4.19.35)适用于i.Mx8平台 下载地址
  • Yocto 1.8(linux内核4.1.15) 适用于i.Mx6平台 下载地址

SDK安装

安装qtcreator

  • qtcreator是qt开发常用的IDE
使用apt下载
sudo apt install qtcreator
官网下载安装包
  • 官网下载源码或者.run安装包qt官网下载链接
  • 终端使用命令下载.run安装包(除了qtcreator还包含其他可选组件)
wget http://download.qt.io/archive/qt/5.12/5.12.3/qt-opensource-linux-x64-5.12.3.run
  • 运行安装程序
chmod +x qt-opensource-linux-x64-5.12.3.run
./qt-opensource-linux-x64-5.12.3.run
  • 欢迎界面>> 登录界面 >>设置Qt >>设置安装路径 >>选择组件 >>同意许可协议 >>开始安装 >>安装完成
  • 登录界面,如无skip选项请先断开网络连接再打开安装程序

跳过登录选择安装路径选择组件同意许可协议安装完成

配置qtcreat

Yocto 2.7SDK使用默认安装路径时配置选项如下:

gcc:    /opt/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc
g++:    /opt/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++
gdb:    /opt/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gdb
qmake:  /opt/fsl-imx-xwayland/4.19-warrior/sysroots/x86_64-pokysdk-linux/usr/bin/qmake
Sysroot:/opt/fsl-imx-xwayland/4.19-warrior/sysroots/aarch64-poky-linux

Yocto 1.8SDK使用默认安装路径时配置选项如下:

gcc:    /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gcc
g++:    /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-g++
gdb:    /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-gdb
qmake:  /opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/x86_64-pokysdk-linux/usr/bin/qt5/qmake
Sysroot:/opt/fsl-imx-x11/4.1.15-2.1.0/sysroots/cortexa9hf-neon-poky-linux-gnueabi
  • 修改qtcreat.sh启动脚本,在开头加上如下命令
  • qtcreat.sh的文件路径根据安装方式来区分,一般在/usr/bin或者安装目录下的Tools/QtCreator/bin子目录
. /opt/fsl-imx-xwayland/4.19-warrior/environment-setup-aarch64-poky-linux   #Yocto 2.7
. /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi   #Yocto 1.8

Qtcreat01.png

  • 运行 QT creator,在 Qt 运行界面下,菜单栏点击 “Tools –> Options –> Build&Run”(在某些版本在Kits选项中配置),进行相关配置。

a.设置 “Compiler” :

点击 Add -> GCC -> gcc ,添加一个 gcc,Compiler path 一栏填写gcc的绝对路径

Qtcreat02.png

点击 Add -> GCC -> g++ ,添加一个 g++,Compiler path 一栏填写g++的绝对路径

Qtcreat03.png
b.设置 “QT Versions” :

点击 Add ,点击 Browser,选择 qmake location 为qmake的绝对路径

Qtcreat04.png
c.设置 “Debuggers”:

添加一个“ Manual” ,点击 Add,点击 Browser,Path 为gdb的绝对路径

Qtcreat05.png
d.设置“Devices ”

点击 Devices ,点击 add -> Generic Linux Device -> Start Wizard后输入开发板的IP、用户名及密码(用户名root、默认无密码)
  • 远程调试需要配置,可以不进行配置

Qtcreat07.png
e.设置“ Kit”

添加一个“ Manual” ,点击 Add,点击 Browser
Sysroot 一栏,填写Sysroot的绝对路径
Compiler 一栏,选择配置好的 gcc 和 g++
Debugger 一栏,选择配置好的 gdb
Qt version一栏,选择配置好的 qmake
然后点击 apply

Qtcreat06.png

示例程序

使用 qmake编译生成demo

a.配置编译环境

. /opt/fsl-imx-xwayland/4.19-warrior/environment-setup-aarch64-poky-linux  #Yocto 2.7
. /opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa9hf-neon-poky-linux-gnueabi  #Yocto 1.8

b.输入如下命令下载、编译demo程序

sudo apt install git
git clone https://github.com/qt/qtdoc.git  #拉取示例代码
cd qtdoc/ 
qmake qtdoc.pro
make -j4

c.将qtdoc文件夹拷贝到开发板,进入到qtdoc下的examples/demos/calqlatr子目录

./calqlatr

效果如下(图示为计算器demo):
Qmakedemo01.pngQmakedemo01 1.png

使用qtcreator创建工程文件

a.进入 qtcreator 的安装目录,在终端上手动打开 qtcreator。

sh qtcreator.sh

b.点击 “New Project”,选择 “Application”,“Qt Widgets Application”,然后此次填写好项目名称,项目位置后,在出现的“Kits”一栏,注意勾选上刚刚创建的 “imx_yocto”
Qtdemo02.png
c.创建完毕后,点击“Build”,“Build Project xxx”后,将会生成可执行程序
650px
d.将生成的程序拷贝到开发板中运行

./yoctotest

Qtdemo04.png

网络使用方法

声卡使用方法

  • 设备
  • 查看所有设备列表
1 cat /proc/asound/cards
audio设备
  • 查看所有播放设备
1 aplay -l
audio播放设备
  • 查看所有录制设备
1 arecord -l
audio录制设备
  • 使用
  • 播放音乐(-D参数指定声卡设备,根据aplay -l查询到的播放设备来选择)
1 aplay -D sysdefault:CARD=sgtl5000audio /mnt/usb/test_tool/music_test/start.wav
audio播放音乐
  • 录制音频(-D参数指定声卡设备,根据arecord -l查询到的录音设备来选择)
1 arecord -D sysdefault:CARD=sgtl5000audio -f cd -d 10 -t wav test.wav
audio录制

蓝牙使用方法

  • 查看系统中的蓝牙设备
hciconfig -a
bt设备
  • 启用蓝牙,搜索附近设备
hciconfig hci0 up
hcitool scan
搜索bt设备
  • 执行 l2ping 命令,测试连通性
l2ping 2C:57:31:4B:7D:5F
测试bt设备

远程访问及文件传输

通用方法

查看CPU温度

1 root@sabresd_6dq:/ # cat /sys/devices/virtual/thermal/thermal_zone0/temp            
2 30

查看CPU频率

1 root@sabresd_6dq:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_cur_freq 
2 996000
3 root@sabresd_6dq:/ # cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq 
4 996000

查看内存容量

1 root@sabresd_6dq:/ # busybox free -m                                           
2              total         used         free       shared      buffers
3 Mem:           754          617          136            0           10
4 -/+ buffers:                607          147
5 Swap:            0            0            0

查看存储容量

 1 root@norco:/ # busybox df -h                                           
 2 Filesystem                Size      Used Available Use% Mounted on
 3 tmpfs                   377.3M    136.0K    377.2M   0% /dev
 4 none                    377.3M     12.0K    377.3M   0% /sys/fs/cgroup
 5 tmpfs                   377.3M         0    377.3M   0% /mnt/secure
 6 tmpfs                   377.3M         0    377.3M   0% /mnt/asec
 7 tmpfs                   377.3M         0    377.3M   0% /mnt/obb
 8 tmpfs                     1.0M         0      1.0M   0% /mnt/shm
 9 /dev/block/mmcblk0p5    472.4M    335.3M    137.1M  71% /system
10 /dev/block/mmcblk0p4      6.1G    240.3M      5.9G   4% /data
11 /dev/block/mmcblk0p6    247.9M      6.0M    229.1M   3% /cache
12 /dev/block/mmcblk0p9      7.7M      1.1M      6.3M  15% /device
13 /dev/fuse                 6.1G    240.3M      5.9G   4% /mnt/shell/emulated
  • 注意:通常情况下,由于存储器生产厂家和用户使用的容量单位不对等(厂家1M=1000kb,用户1M=1024kb),故而Size的总和(实际的容量)比额定的容量小,这属于正常情况。

网络Ping测试

 1 root@norco:/ # ping -s 1000 -c 5 192.168.8.100                           
 2 PING 192.168.8.100 (192.168.8.100) 1000(1028) bytes of data.
 3 1008 bytes from 192.168.8.100: icmp_seq=1 ttl=64 time=0.914 ms
 4 1008 bytes from 192.168.8.100: icmp_seq=2 ttl=64 time=0.790 ms
 5 1008 bytes from 192.168.8.100: icmp_seq=3 ttl=64 time=0.797 ms
 6 1008 bytes from 192.168.8.100: icmp_seq=4 ttl=64 time=0.810 ms
 7 1008 bytes from 192.168.8.100: icmp_seq=5 ttl=64 time=0.706 ms
 8 
 9 --- 192.168.8.100 ping statistics ---
10 5 packets transmitted, 5 received, 0% packet loss, time 4002ms
11 rtt min/avg/max/mdev = 0.706/0.803/0.914/0.070 ms

设置系统时间保存到RTC芯片

  • 注意此处显示的UTC表示0时区,我们处于CST时区,假设要设定时间为上午10点,则为"2020-06-06 02:09:55"。
1 root@norco:/ # busybox date -s "2020-06-06 10:09:55"                   
2 Thu Feb  1 10:09:55 UTC 2018
3 root@norco:/ # busybox hwclock -w