EMB-2500

来自ARM Wiki
跳转至: 导航搜索

资源特性

概览
正面
背面
  • CPU:Freescale Cortex™-A9 i.MX 6(单核双核四核可选)
  • GPU:Vivante GC2000 / NEON SIMD
  • 内存:最大2GB
  • 存储:最大64G Flash
  • 网口:10/100/1000M 以太网口, 采用AR8033 PHY芯片
  • WIFI:RTL8188ETV(可选WIFI蓝牙一体模块)
  • Display:1 x HDMI mini,1 x 双通道LVDS,1 x VGA
  • Audio:板载SGTL5000-XNAA3 音频控制芯片,支持Line out + Line in + MIC in,带功放
  • USB Host:3 x USB2.0,USB_OTG x 1
  • COM:2 x RS232
  • CANBUS:2 x CAN
  • GPIO:8 x GPIO
  • MicroSD Slot:x1(TF卡)
  • System Control:Reset switch, Power switch
  • Temperature:Work -20 ~ 65, Storage -40 ~ 85
  • Humidity:5% ~ 95%相对湿度,无冷凝
  • PCB Size: 100 x 72 mm
  • Power Supply: DC 5V
  • Other:Watchdog, RTC, TOUCH
  • OS: Android , Yocto , Ubuntu , Debian

接口布局和尺寸

接口布局图

EMB-2500 接口布局EMB-2500 接口布局

接口引脚定义

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

机械尺寸

EMB-2500尺寸.jpg

快速入门

系统下载

Android系统
  • Android 7.1 [下载地址]
Yocto系统
Linux系统
  • kernel 3.0.35 [Debian7 / Ubuntu12.04] 下载地址
  • kernel 3.14 [Debian8 / Debian9 / Ubuntu14.04 / Ubuntu16.04 / Ubuntu18.04] 下载地址

系统烧录

  • 将烧录线与主板连接,并接通电源
2500_OTG
  • 开始烧录
解压烧录包,进入mfgtools目录如下图,双击与主板匹配的绿色vbs文件(注意:并非双击MfgTools2.exe),启动烧录工具。
VBS启动文件概览


如下图出现HID-compliant device说明成功连接上主板并进入烧录模式,按下图中的 [Start] 按钮开始烧录
识别成功
注意 : 如果出现No device connected,表示没有识别到主板,请检查电源及烧录线是否插好,拔插线材确认连接ok后再重新打开相应vbs脚本。


  • 完成烧录
烧录过程不需要任何操作,直到出现绿色进度条表示烧录成功。(如果遇到磁盘需要格式化,也不要做任何操作,Mfgtool会自动处理)
正在烧录
烧录成功
烧录成功后,按下 【Stop】 按钮,取下USB线,断开电源,烧录完成。
  • 若烧录出现其他意外情况,请及时通过业务与技术支持取得联系

U盘升级

升级前准备

  • 质量较好的U盘,例如:东芝,闪迪
  • update.zip升级包,格式为zip压缩文件,无需解压,放在U盘根目录即可

开始OTA升级

  • 依次点击:设置--->关于平板电脑--->其他系统更新--->升级
OTA

串口调试

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. 点击【设置】。
  3. 向上滑动屏幕,选择【关于平板电脑】。
  4. 连续点击【版本号】7次后,将提示“开发者模式已启用”。
  5. 击【←】图标返回至【设置】页面,即可看到【开发者选项】。
  6. 选择【开发者选项】,勾选【USB 调试】。
ADB_slelct


  • 连接时屏幕会提示【允许USB调试吗】,请勾选【一律使用这台计算机进行调试】,再点击【确定】
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
基于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

WiFi使用方法

  • Android系统目前仅支持型号为 : RTL8188 RTL8723BU
开启WIFI 选择一个WIFI热点进行连接

网口使用方法

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

APK安装

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


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编号可能不同

串口使用方法

  • 将COM设备与板卡连接,确认连接无误后开机(连接方法参照上文[接口引脚定义]并注意232/485模式的选择)
  • 确认所连接的节点
    • 飞思卡尔(imx6)一般为/dev/ttymxc0-4,其中/dev/ttymxc0一般为debug口,其余一次对应COM1-4
  • 开始通信

CAN总线使用方法

  • 根据CAN引脚定义将设备与主板CAN接口正确连接
  • 上电开机,开始使用相关功能
  • 一般相关功能由我方集成致系统当中,客户直接使用即可

显示分辩率修改

VGA分辩率修改
名称 SXGA XGA VGA768a VGA768b LCD720P LCD800 LCD960 LCD1024 LCD768 LCD1024 LCD1080P LCD-1080I50 LCD-1080I60
分辩率 800x600 1024x768 1280x768 1280x768 1280x768 1280x800 1280x960 1280x1024 1366x768 1440x900 1920x1080 1920x1080 1920x1080
  • 示例:把1280x768分辨率的LCD显示改为800x600分辨率
1 root@sabresd_6dq:/ # cat /proc/cmdline                                      
2 console=ttymxc0,115200 init=/init vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale fb0base=0x27b00000 video=mxcfb0:dev=lcd,LCD720P,if=RGB24,bpp=32 video=mxcfb1:dev=hdmi,1280x1024M@60,bpp=32 video=mxcfb2:offfbmem=28M,28M
3 root@sabresd_6dq:/ # fw_setenv bootargs "console=ttymxc0,115200 init=/init vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale fb0base=0x27b00000 video=mxcfb0:dev=lcd,SXGA,if=RGB24,bpp=32 video=mxcfb1:dev=hdmi,1280x1024M@60,bpp=32 video=mxcfb2:off fbmem=28M,28M"
4 root@sabresd_6dq:/ # reboot
shell 说明:
1、获取系统启动参数。
2、由步骤1得到的启动参数(启动参数中dev=lcd节点后的 LCD720P名称即是表格中的1280x768分辨率,修改分辨率只需 替换成上表格中应有的名称即可!这里我们举例替换为SXGA)。
3、设置环境变量(fw_setenv [-a key] [variable name] [variable value] ,variable name : bootargs,variable value : “已修改后的步骤2中的启动参数”)。
4、重新启动。
HDMI分辩率修改
分辩率 1280x1024p 1024x768p 1280x720p 1280x720p 1920x1080p 1920x1080p 1920x1080p 1920x1080p 1440x576p 1440x576p 1440x288p 1440x288p
频率 60 60 120 100 30 25 24 50 50 50 50 50
标准 VESA VESA Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
分辩率 1280x720p 720x576p 720x576p 1920x1080p 1440x480p 1440x480p 1440x240p 1440x240p 1280x720p 720x480p 720x480p 640x480p
频率 50 50 50 60 60 60 60 60 60 60 60 60
标准 Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
  • 示例:把1280x1024分辨率的HDMI显示改为720x480分辨率
1 root@sabresd_6dq:/ # cat /proc/cmdline                                      
2 console=ttymxc0,115200 init=/init vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale fb0base=0x27b00000 video=mxcfb0:dev=lcd,LCD720P,if=RGB24,bpp=32 video=mxcfb1:dev=hdmi,1280x1024M@60,bpp=32 video=mxcfb2:offfbmem=28M,28M
3 root@sabresd_6dq:/ # fw_setenv bootargs "console=ttymxc0,115200 init=/init vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale fb0base=0x27b00000 video=mxcfb0:dev=lcd,LCD720P,if=RGB24,bpp=32 video=mxcfb1:dev=hdmi,720x480M@60,bpp=32 video=mxcfb2:off fbmem=28M,28M"
4 root@sabresd_6dq:/ # reboot
shell 说明:
1、获取系统启动参数。
2、由步骤1得到的启动参数(启动参数中dev=hdmi节点后的 1280x1024M@60名称即是表格中的1280x1024分辨率,修改分辨率只需 替换成上表格中应有的名称即可!这里我们举例替换为720x480@后面数字代表表格中的频率)。
3、设置环境变量(fw_setenv [-a key] [variable name] [variable value] ,variable name : bootargs,variable value : “已修改后的步骤2中的启动参数”)。
4、重新启动。

双屏异显

  • 该功能为系统定制功能,如果需要,则集成在主板中
  • 该功能需要apk的支持
  • 双屏异显方案选择
  • VGA + HDMI
  • VGA + LVDS
  • LVDS + HDMI
  • ==Yocto系统的使用==
  • ===显分辩率修改===

模板:Yocto display

Linux系统的使用

声卡使用方法

  • 硬件接口
  • Linux(debian/ubuntu默认使用高级Linux声音体系结构(ALSA))
  • 默认声卡硬件为
    SGTL5000
  • 设备
  • 查看所有设备列表
1 cat /proc/asound/cards
audio设备
  • 查看所有播放设备
1 aplay -l
audio播放设备
  • 查看所有录制设备
1 arecord -l
audio录制设备
  • 使用
  • 播放音乐
1 aplay -D sysdefault:CARD=sgtl5000audio /mnt/usb/test_tool/music_test/start.wav
audio播放音乐
  • 录制音频
1 arecord -D sysdefault:CARD=sgtl5000audio -f cd -d 10 -t wav test.wav
audio录制

网络使用方法

以太网

  • 硬件
  • 默认网卡硬件为
    AR8033 PHY芯片
  • 若为双网卡板卡,则另一个芯片为RTL8211F
  • 查看设备
  • 查看所有设备列表
1 ip link show | grep -i "eth"
网卡设备
  • 使用
  • 动态IP
1 cat <<EOF >> /etc/network/interfaces
2 allow-hotplug eth0
3 auto eth0
4 iface eth0 inet dhcp              //动态IP模式
5 
6 EOF
动态IP
  • 静态IP
 1 cat <<EOF >> /etc/network/interfaces
 2 allow-hotplug eth0
 3 auto eth0
 4 iface eth0 inet static            //静态IP模式
 5 address 192.168.8.55              //静态IP地址
 6 netmask 255.255.255.0             //子网掩码
 7 gateway 192.168.8.1               //网关
 8 dns-nameservers 202.96.134.133    //DNS域名服务器
 9 
10 EOF
静态IP
  • DNS设置
1 cat <<EOF > /etc/resolv.conf      //临时修改DNS,此文件内容可能被覆盖
2 nameserver 8.8.8.8                //主DNS
3 nameserver 114.114.114.114        //副DNS
4 
5 EOF
  • 推荐方式,参考配置静态ip部分,将DNS写入到/etc/network/interfaces配置文档中


WIFI

  • 硬件
  • 默认无线网卡硬件为
    RTL8188ETV & RTL8723BU
  • RTL8723BU为带蓝牙模块
  • 查看设备
  • 查看所有设备列表
1 ip link show
无线网卡设备
  • 使用
  • 动态IP
 1 cat << EOF >> /etc/network/interfaces
 2 # Wireless interface
 3 auto wlan0
 4 allow-hotplug wlan0
 5 iface wlan0 inet dhcp
 6         wireless_mode managed
 7         wireless_essid any
 8         wpa-driver nl80211
 9         wpa-conf /etc/wpa_supplicant.conf
10 
11 EOF
  • wpa_supplicant.conf为wpa_passphrase生成的文件,例如:(ssid:test passwd:123456)
1 wpa_passphrase test 123456 > /etc/wpa_supplicant.conf
  • 注意:WiFi名称可能不是wlan0,请将wlan0换为实际的无线网卡名称
无线动态IP
  • 静态IP
 1 cat <<EOF >> /etc/network/interfaces
 2 auto wlxec3dfd322b06
 3 allow-hotplug wlxec3dfd322b06
 4 iface wlxec3dfd322b06 inet static           //静态IP模式
 5         wpa-conf /etc/wpa_supplicant.conf   
 6         address 192.168.100.148             //静态IP地址
 7         netmask 255.255.255.0               //子网掩码
 8         gateway 192.168.100.1               //网关
 9         dns-nameservers 223.5.5.5           //DNS域名服务器
10 EOF
  • 注意:WiFi名称可能不是wlan0,请将wlan0换为实际的无线网卡名称
无线静态IP
  • DNS设置
1 cat <<EOF > /etc/resolv.conf      //临时修改DNS,此文件内容可能被覆盖
2 nameserver 8.8.8.8                //主DNS
3 nameserver 114.114.114.114        //副DNS
4 
5 EOF
  • 推荐方式,参考配置静态ip部分,将DNS写入到/etc/network/interfaces配置文档中

显分辩率修改

远程访问及文件传输

通用方法

查看CPU温度

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

查看CPU序列号

1 root@sabresd_6dq:/ # cat /proc/cpuinfo |grep Serial
2 Serial          : 0d1eb1d4e31698d7

查看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

网络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