“EMB-3560”的版本间的差异
Tangdapeng(讨论 | 贡献) (→Yocto系统交叉编译工具链安装和使用方法) |
Tangdapeng(讨论 | 贡献) (→接口引脚定义) |
||
第44行: | 第44行: | ||
:*[[EMB-3560-AUDIO|音频接口(AMP、HeadPhone)]] | :*[[EMB-3560-AUDIO|音频接口(AMP、HeadPhone)]] | ||
:*[[EMB-3560-SPI&I2C&GPIO|SPI、I2C、GPIO(J4)]] | :*[[EMB-3560-SPI&I2C&GPIO|SPI、I2C、GPIO(J4)]] | ||
− | :*[[EMB-3560-JFP&POWER|电源、指示灯、烧录跳线、开关机、复位按钮( | + | :*[[EMB-3560-JFP&POWER|电源、指示灯、烧录跳线、开关机、复位按钮(PWR、LED、JD、JFP、RESET、PWRSW)]] |
:*[[EMB-3560-CAN|CAN总线接口(CAN1、CAN2)]] | :*[[EMB-3560-CAN|CAN总线接口(CAN1、CAN2)]] | ||
:*[[EMB-3560-CAM|CAMERA接口(CAM1、CAM2)]] | :*[[EMB-3560-CAM|CAMERA接口(CAM1、CAM2)]] |
2020年7月3日 (五) 17:42的版本
介绍
- EMB-3560(简称3560)主板采用基于NXP i.MX 8X四核处理器,产品具有丰富的IO接口及扩展性能,超强的图形处理能力、4K高清视频播放能力及应用计算能力。
- EMB-3560整板集成度高、All In One设计,主板尺寸:145mmx 105mm,搭载Android9.0系统。
- EMB-3560具有稳定可靠的工业级性能,可应用于工业自动化和控制、HMI、机器人、楼宇控制、汽车仪表盘、视频/音频、车载信息娱乐系统和车载信息服务等行业领域。
资源特性
- CPU:NXP i.MX 8X四核处理器
- GPU:CPU集成
- 内存:板载2GB LPDDR4内存
- 存储:板载16GB EMMC Flash
- Ethernet:2x LAN,10/100/1000Mbps; 1x 板载WiFi(可选)、BT
- 4G:1 x MINI PCIe
- Display:1 x LVDS
- Audio:1x Line out/ Mic in四节耳机,支持5W功放
- USB Host:1x USB3.0,4x USB2.0, 1x USB OTG
- COM:1 x Debug,2 x RS232,1 x RS232/485
- TF Card:x1
- System Control:Reset switch, Power switch
- Temperature:Work -20 ~ 65, Storage -40 ~ 85
- Humidity:5% ~ 95%相对湿度,无冷凝
- PCB Size:145mm x 105mm
- Power: DC 12V
- RTC: 支持
- Watchdog: 支持
- Other I/O: 2x CSI接口,2x CAN,2x I2C,2x SPI,12x GPIO(复用SPI),1 个 Mini PCIE (支持 3 / 4G 带 PCIe 功能)
- OS: Android 9.0/Yocto
接口布局和尺寸
接口布局图
接口引脚定义
主板内置插针式引脚排序方式
机械尺寸
快速入门
系统下载
- Android系统
- Android 9.0 下载地址
- Linux系统
- Yocto 2.7 下载地址
系统烧录
Android9.0和Yocto系统烧录(支持windows和ubuntu环境烧录)
- 主板处于断电状态下,将主板的otg和Windows主机连接起来,将JD1、2脚接上跳帽,然后将主板通电。
- 若主机PC系统是windows系统
- 若主机PC系统是ubuntu系统
- 注意:烧录完成后,需将JD处的跳帽去除才能正常启动
串口调试
Windows 上一般用 putty 或 SecureCRT。以 putty 为例介绍如何使用串口调试功能
- putty下载链接选择putty.exe
- 串口通讯参数配置:
- putty下载链接选择putty.exe
波特率:115200 数据位:8 停止位:1 奇偶校验:无 流控:无
putty设置界面如下:
1.Connection type设置为Serial 2.Serial line设置为pc端连接的串口(此项填写pc端实际的串口号) 3.Speed设置为115200 4.点击Open按钮打开终端
查看PC端的串口号:
*右键点击我的电脑->管理->设备管理器->端口(COM和LPT)找到本机对应的串口 *如无设备请先确定pc端是否自带串口及驱动是否安装
进入串口调试终端:
*如图进入交互界面,敲击回车或者输入命令会有反馈
API参考与使用
- Android系统API
- Linux系统API
- Linux API [ 参考页面]
- API文件下载地址(.so) 下载地址
Android系统的使用
ADB调试方法
USB ADB使用方法
开启主板ADB调试功能
- 在标准模式下,进入主菜单栏。
- 点击【Settings】。
- 进入最底部【System】菜单栏,选择【About tablet】。
- 连续点击【Build number】7次后,将提示“You are now a developer”。
- 击【←】图标返回至【Settings】页面,即可看到【Developer options】。
- 选择【Developer options】,勾选【USB debugging】。
数据线ADB连接使用方法
- 下载ADB驱动以及工具
- 安装ADB驱动以及工具
网络ADB使用方法
- 配置网络ADB,配置网络ADB需要先通过USB ADB连接到板卡,然后输出下图中的命令,配置网络ADB端口。
- 连接网络ADB,例:上图中得到的eth0 IP为 : 192.168.8.57,输入 : adb connect 192.168.8.57:5555回车
- 至此板卡已通过网络与PC机进行了ADB连接,输入 : adb shell 回车,进入 shell
以太网使用方法
- 在标准模式下,从顶部向下滑动屏幕。
- 点击【设置】。
- 点击【网络与互联网】菜单进入网络与互联网设置界面。
- 点击【以太网】菜单进入以太网设置界面。
- 勾选第一栏【以太网】。
- 如果需要静态IP, 点击【以太网IP模式】。
- 在弹出的【以太网IP模式】界面中,静态勾选第二栏【静态IP】。
- 设置完静态IP之后,点击保存退出按钮。
WiFi使用方法
4G使用方法
- 依图所示,正确连接4G模块与SIM卡
-
- 设置->网络和互联网->移动网络
APK安装
- 常规安装
- 后台静默安装
- 依照IMX8 ADB使用方法进入ADB调试
- 输入如下命令,进行安装
-
1 pm install /mnt/media_rw/udisk/apk/MXPlayer\ 1.7.31.apk
- 安装成功后显示Success如下图
GPIO使用方法
串口使用方法
- 将COM设备与板卡连接,确认连接无误后开机(连接方法参照上文[接口引脚定义]并注意232/485模式的选择)
- 确认所连接的节点
- EMB-3560 串口节点如下
- COM_DB-----/dev/ttyLP0
- COM1-------/dev/ttyLP1
- COM2-------/dev/ttyLP2
- COM3-------/dev/ttyLP3
- 开始通信
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
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生效。
Yocto系统Qt使用方法
QT 开发环境的搭建
工具链下载
SDK安装
- Yocto 2.7SDK安装方法
- 根据上文安装SDK,Yocto 1.8 SDK安装参考Yocto 2.7
安装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
- 运行 QT creator,在 Qt 运行界面下,菜单栏点击 “Tools –> Options –> Build&Run”(在某些版本在Kits选项中配置),进行相关配置。
a.设置 “Compiler” :
- 点击 Add -> GCC -> gcc ,添加一个 gcc,Compiler path 一栏填写gcc的绝对路径
- 点击 Add -> GCC -> g++ ,添加一个 g++,Compiler path 一栏填写g++的绝对路径
- 点击 Add ,点击 Browser,选择 qmake location 为qmake的绝对路径
- 添加一个“ Manual” ,点击 Add,点击 Browser,Path 为gdb的绝对路径
- 点击 Devices ,点击 add -> Generic Linux Device -> Start Wizard后输入开发板的IP、用户名及密码(用户名root、默认无密码)
- 远程调试需要配置,可以不进行配置
- 添加一个“ Manual” ,点击 Add,点击 Browser
- Sysroot 一栏,填写Sysroot的绝对路径
- Compiler 一栏,选择配置好的 gcc 和 g++
- Debugger 一栏,选择配置好的 gdb
- Qt version一栏,选择配置好的 qmake
- 然后点击 apply
示例程序
使用 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
使用qtcreator创建工程文件
a.进入 qtcreator 的安装目录,在终端上手动打开 qtcreator。
sh qtcreator.sh
b.点击 “New Project”,选择 “Application”,“Qt Widgets Application”,然后此次填写好项目名称,项目位置后,在出现的“Kits”一栏,注意勾选上刚刚创建的 “imx_yocto”
c.创建完毕后,点击“Build”,“Build Project xxx”后,将会生成可执行程序
650px
d.将生成的程序拷贝到开发板中运行
./yoctotest
网络使用方法
通用方法
查看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