EMB-4500
来自ARM Wiki
Tangdapeng(讨论 | 贡献)2018年6月26日 (二) 11:09的版本 (创建页面,内容为“=='''介绍'''== thumb|frameless|300px|概览 thumb|frameless|300px|正面 File:EMB-4500背面.jpg|thumb|f...”)
介绍
- EMB-4500(简称4500)是华北工控面向工业,交通,信息化领域等研发的一款高可靠性工业主板,大小仅为165x115mm大小,可运行android,Ubuntu,debian,yocto等操作系统。
- EMB-4500为Cortex™-A9的高扩展性多核系列应用处理器,不仅具有超强的图形处理能力、1080p高清视频播放能力及应用计算能力,同时拥有极低的功耗。
- EMB-4500板载WiFi、千兆以太网、SATA、HDMI、耳机接口、功放、CAN等接口,具备高集成度。
资源特性
- CPU:Freescale Cortex™-A9 i.MX 6(单核、双核、四核可选)
- GPU:Vivante GC2000 / NEON SIMD
- DDR3 RAM:最大2GB
- Ethernet: 10/100/1000M 以太网口, 采用AR8033 PHY芯片
- Wireless/蓝牙:RTL8188ETV(可选WIFI蓝牙一体模块)
- Audio:板载SGTL5000-XNAA3 音频控制芯片,支持Line out + Line in + MIC in + Headphone
- 4G:1 x MINI PCIe(WIFI/4G)
- eMMC:最大64G Flash
- SATA:标准7+15Pin SATA 接口(仅i.Mx6Q支持)
- USB Host:USB 2.0 x 6(2组插针),USB_OTG x 1
- MicroSD Slot:x1
- COM:5 x COM (COM1_DB,COM2支持232/422/485)
- GPIO:16 x GPIO
- IIC:2 x IIC
- CAN: 2 x CAN
- Display:2 x HDMI(一个CPU集成,一个采用SiI9022A方案),1 x 双通道LVDS
- System Control:Reset switch, Power switch
- Temperature:Work -20 ~ 65, Storage -40 ~ 85
- Humidity:5% ~ 95%相对湿度,无冷凝
- PCB Size: 165 x 115 mm
- Power Supply: DC 12V/2A
- OS: Android , Yocto , Ubuntu , Debian
- Other:Watchdog, RTC,JTCH,KEY(3x3 按键矩阵)
接口布局和尺寸
接口概览
接口引脚定义
机械尺寸
快速入门
系统下载
- Yocto系统
- Yocto1.8+QT5.6.1 下载地址
系统烧录
- 将烧录线与主板连接,并接通电源
- 开始烧录
- 如下图出现HID-compliant device说明成功连接上主板并进入烧录模式,按下图中的 [Start] 按钮开始烧录
-
- 注意 : 如果出现No device connected,表示没有识别到主板,请检查电源及烧录线是否插好,拔插线材确认连接ok后再重新打开相应vbs脚本。
- 完成烧录
- 烧录过程不需要任何操作,直到出现绿色进度条表示烧录成功。(如果遇到磁盘需要格式化,也不要做任何操作,Mfgtool会自动处理)
-
- 烧录成功后,按下 【Stop】 按钮,取下USB线,断开电源,烧录完成。
U盘升级
升级前准备
- 质量较好的U盘,例如:东芝,闪迪
- update.zip升级包,格式为zip压缩文件,无需解压,放在U盘根目录即可
开始OTA升级
Android系统的使用
开启ADB调试
USB ADB使用方法
开启主板ADB调试功能
- 在标准模式下,从顶部向下滑动屏幕。
- 点击【设置】。
- 向上滑动屏幕,选择【关于平板电脑】。
- 连续点击【版本号】7次后,将提示“开发者模式已启用”。
- 击【←】图标返回至【设置】页面,即可看到【开发者选项】。
- 选择【开发者选项】,勾选【USB 调试】。
数据线ADB连接使用方法
- 下载ADB驱动以及工具
- 安装ADB驱动以及工具
网络ADB使用方法
- 配置网络ADB,配置网络ADB需要先通过USB ADB连接到板卡,然后输出下图中的命令,配置网络ADB端口。
- 连接网络ADB,例:上图中得到的eth0 IP为 : 192.168.8.57,输入 : adb connect 192.168.8.57:5555回车
WiFi使用方法
网口使用方法
- 在标准模式下,从顶部向下滑动屏幕。
- 点击【设置】。
- 点击【以太网】菜单进入以太网设置界面。
- 勾选第一栏【以太网】。
- 如果需要静态IP, 点击【静态IP设置】。
- 在弹出的【静态IP设置】界面中,静态勾选第栏【使用静态IP】。
- 设置完静态IP之后,点击保存退出按钮。
4G模块使用方法
- 依图所示,正确连接3/4G模块与SIM卡
支持列表
- 华为
- 移远
- 龙尚
- 中兴
- ...
步骤
- 正常插入4G模块及SIM卡后上电开机
- 测试4G
- 推荐使用华为909S全网通模块,若需要集成GPS,建议使用移远EC20全网通模块
APK安装
- 常规安装
- 后台静默安装
- 依照USB ADB使用方法进入ADB调试
- 输入如下命令,进行安装
-
1 pm install /mnt/media_rw/udisk/apk/MXPlayer\ 1.7.31.apk
- 安装成功后如下图显示Success
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 说明:
- 进入板卡的shell
- 使用root权限
- 导出第146号GPIO
- 设置gpio146为输出
- 设置gpio146为高电平
- 设置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 说明:
- 进入板卡的shell
- 使用root权限
- 导出第146号GPIO
- 设置gpio146为输入方向
- 获得gpio146的电平状态
- 获得的状态为高电平
- 注意:不同的板卡GPIO编号可能不同
串口使用方法
- 将COM设备与板卡连接,确认连接无误后开机(连接方法参照上文[接口引脚定义]并注意232/485模式的选择)
- 确认所连接的节点
- 飞思卡尔(imx6)一般为/dev/ttymxc0-4,其中/dev/ttymxc0一般为debug口,其余一次对应COM1-4
- 开始通信
CAN总线使用方法
- 根据CAN引脚定义将设备与主板CAN接口正确连接
- 上电开机,开始使用相关功能
- 一般相关功能由我方集成致系统当中,客户直接使用即可
SPI使用方法
显示分辩率修改
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
Linux系统的使用
声卡使用方法
- 设备
- 查看所有设备列表
1 cat /proc/asound/cards
- 使用
网络使用方法
以太网
- 查看设备
- 使用
- 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
- 查看设备
- 使用
- 动态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
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换为实际的无线网卡名称
- 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