
IBASE IBR215系列加固型嵌入式计算机用户手册

IBR215 系列
加固型嵌入式计算机
采用 NXP ARM@ Cortex@
A53 i.MX8M Plus 四核 SOC
版权
© 2018 IBASE Technology, Inc. 保留所有权利。
未经 IBASE Technology, Inc. 事先书面同意,不得复制、复印本出版物的任何部分、将其存储在检索系统中、翻译成任何语言或以任何形式或通过任何方式(电子、机械、影印或其他方式)传播(以下简称“IBASE”)。
免责声明
IBASE 保留对本文档中描述的产品进行更改和改进的权利,恕不另行通知。我们已尽一切努力确保文件中的信息正确无误;但是,IBASE 不保证本文档没有错误。对于因误用或无法使用产品或此处包含的信息而引起的偶然或间接损害,以及因使用产品而可能导致的任何第三方权利侵犯,IBASE 不承担任何责任。
商标
本文提及的所有商标、注册和品牌仅用于识别目的,可能是其各自所有者的商标和/或注册商标。
遵守
 如果本手册中描述的产品具有 CE 标志,则它符合所有适用的欧盟 (CE) 指令。为了使系统保持符合 CE 标准,只能使用符合 CE 标准的部件。保持 CE 合规性还需要适当的电缆和布线技术。
 本产品经过测试并证明符合 FCC 规则第 15 部分对 B 类设备的限制。这些限制旨在提供合理的保护,防止住宅安装中的有害干扰。该设备会产生、使用并辐射射频能量,如果未按照制造商的说明安装和使用,可能会对无线电通信造成有害干扰。
报废电子电气设备
![]()
根据欧盟废弃电气和电子设备指令 (WEEE – 2012/19/EU),本产品不得作为普通家庭废物进行处理。相反,应将其返回市政回收收集点进行处理。查看当地有关电子产品处置的法规。
绿色 IBASE
  本产品符合现行 RoHS 指令,限制以下物质的使用浓度不得超过重量百分比 0.1% (1000 ppm),镉除外,重量百分比不得超过 0.01% (100 ppm)。
- 铅(Pb)
 - 汞(Hg)
 - 镉(Cd)
 - 六价铬 (Cr6+)
 - 多溴联苯 (PBB)
 - 多溴联苯醚 (PBDE)
 
重要安全信息
使用本设备前请仔细阅读以下安全信息。
设置您的系统:
- 将设备水平放置在稳定且坚固的表面上。
 - 请勿在水或任何热源附近使用本产品。
 - 在设备周围留出足够的空间,不要堵塞通风口。切勿将任何物体掉落或插入通风口。
 - 在环境温度介于 0°C 和 60°C 之间的环境中使用本产品。
 
使用过程中的保养:
- 请勿在设备顶部放置重物。
 - 确保连接正确的音量tag向设备提供正确的音量。tage 可能会损坏设备。
 - 请勿踩踏电源线或将任何物品放置在电源线上。
 - 如果使用延长线,请确保总 amp插入延长线的所有设备的额定值不电源线的 amp评级。
 - 不要将水或任何其他液体洒在您的设备上。
 - 清洁设备之前,请务必从墙上插座拔下电源线。
 - 仅使用中性清洁剂清洁设备。
 - 使用电脑吸尘器清除通风口的灰尘和颗粒。
 
产品拆解
请勿尝试修理、拆卸或改装设备。这样做将使保修失效,并可能导致产品损坏或人身伤害。
 警告
仅使用制造商推荐的相同或同等类型进行更换。
请遵守当地法规处理废旧电池。
保修政策
- IBASE 标准产品:
自发货之日起 24 个月(2 年)保修。 如果无法确定发货日期,可以使用产品序列号来确定大概的发货日期。 - 第 3 方部分:
对于非 IBASE 制造的第三方部件(例如 CPU、CPU 冷却器、内存、存储设备、电源适配器、显示面板和触摸屏),自交付之日起 12 个月(1 年)保修。 
* 然而,由于误用、事故、不正确的安装或未经授权的维修而导致的产品故障,将被视为超出保修范围,并且客户将承担维修和运输费用。
技术支持与服务
- 访问 IBASE web网站 www.ibase.com.tw 查找有关产品的最新信息。
 - 如果您遇到任何技术问题并需要经销商或销售代表的帮助,请准备并发送以下信息:
 
• 产品型号名称
• 产品序列号
• 问题的详细描述
• 如果有错误信息,请以文本或屏幕截图形式提供
• 外围设备的布置
• 使用的软件(如操作系统和应用软件)
3. 如果需要维修服务,请从 http://www.ibase.com.tw/english/Supports/RMAService/ 下载 RMA 表格。填写表格并联系您的经销商或销售代表。
第一章:一般信息
本章提供的信息包括:
- 特征
 - 包装清单
 - 规格
 - 超过view
 - 方面
 
1.1 简介
IBR215 是一款基于 ARM® 的嵌入式系统,配备 NXP Cortex® i.MX8M Plus A53 处理器。该器件提供 2D、3D 图形和多媒体加速,同时还具有众多非常适合工业应用的外设,包括 RS-232/422/485、GPIO、USB、USB OTG、LAN、HDMI 显示器、M.2 E2230无线连接和用于扩展的 mini-PCIe。

1.2 特点
- NXP ARM® Cortex® A53 i.MX8M Plus Quad 1.6GHz 工业级处理器
 - 3 GB LPDDR4、16 GB eMMC 和 SD 插槽
 - 外部连接包括 USB、HDMI、以太网
 - 支持 2G 模块的 M.3052 B-Key (5)
 - IO 板设计具有丰富的 I/O 扩展信号,支持 WiFi/BT、4G/LTE、LCD、摄像头、NFC、QR-code 等。
 - 坚固耐用的无风扇设计
 
1.3 装箱清单
您的产品包装中应包含下列物品。如果缺少以下任何一项,请联系您购买产品的分销商或经销商。用户手册可从我们的网站下载 web地点。
• ISR215-Q316I
1.4 规格



所有规格如有更改,恕不另行通知。
1.5 产品以上view
顶部 VIEW

输入/输出 VIEW


1.6 尺寸
单位:毫米


第二章硬件配置
本节包含有关以下内容的一般信息:
- 安装
 - 跳线和连接器
 
2.1.1 Mini-PCIe & M.2 卡安装
要安装 mini-PCIe 和 NGFF M.2 卡,请先如上所述移除设备盖,找到设备内部的插槽,然后执行以下步骤。
1)将 mini-PCIe 卡的键位与 mini-PCIe 接口的键位对齐,斜着插入卡。 (M.2 卡的插入方法相同。)

2) 如下图所示,将 mini-PCIe 卡向下推,并用螺丝将其固定在黄铜支架上。
(也用一颗螺丝固定 M.2 卡。)

2.2.1 设置跳线
使用跳线配置您的设备,以根据您的应用启用您需要的功能。如果您对适合您使用的最佳配置有疑问,请联系您的供应商。
2.2.2 如何设置跳线
跳线是由多个金属引脚组成的短导体,其底座安装在电路板上。在引脚上放置(或移除)跳线帽以启用或禁用功能或特性。如果跳线有 3 个引脚,则可以通过短接跳线将引脚 1 与引脚 2 或引脚 2 与引脚 3 连接。

请参考下图设置跳线。

当跳线的两个引脚被装入跳线帽中时,该跳线闭合,即接通。
当从两个跳线针上移除跳线帽时,该跳线打开,即关闭。
2.1 IBR215 主板上的跳线和连接器位置 主板:IBR215
2.2 IBR215 主板跳线和连接器快速参考



RTC 锂电池连接器 (CN1)

2.4.1 音频输入和输出连接器(CN2)

2.4.2 I2C 连接器(CN13)


2.4.3 直流电源输入(P17、CN18)
P17: 12V~24V直流输入
CN18:DC输入输出接口

2.4.4 系统开关按钮(SW2、CN17)
SW2:ON/OFF开关
CN17: ON/OFF信号接头

2.4.5 串口(P16)

2.4.6 IO板端口(P18、P19、P20)

P18:

P19:

P20:


2.3 IBR215-IO 板上的跳线和连接器位置

2.4 IBR215-IO 板跳线和连接器快速参考

2.6.1 COM RS-232/422/485 选择(SW3)

2.6.2 COM RS-232/422/485 端口 (P14)


2.6.3 LVDS 显示连接器(CN6、CN7)


2.6.4 串口 RS232 连接器(CN12)

2.6.5 LVDS 背光控制连接器(CN9)

2.6.6 MIPI-CSI 连接器(CN4、CN5)


2.6.7 双 USB 3.0 Type-A 端口(CN3)

2.6.8 BKLT_LCD 电源设置(P11)

2.6.9 LVDS_VCC 电源设置(P10)

2.6.10 PCIE/M.2 音频选项(P5)

2.6.11 I2C 连接器(CN11)

2.6.12 CAN总线(CN14)

第 3 章 软件设置
本章介绍设备上的以下设置:(仅供高级用户使用)
- 制作恢复 SD 卡
 - 通过恢复 SD 卡升级固件
 
3.1 制作恢复SD卡
注意:这适用于拥有 IBASE 标准映像的高级用户 file 仅有的。
基本上,IBR215 默认预装了 OS(Android 或 Yocto)到 eMMC。将 HDMI 连接到 IBR215,并直接连接 12V-24V 电源。
本章指导您制作恢复启动 microSD 卡。
3.1.1 准备恢复 SD 卡以将 Linux / Android 映像安装到 eMMC
注意:eMMC 中的所有数据将被删除。
1)系统要求:
操作系统:Windows 7 或更高版本 工具:uuu SD 卡:4GB 或更大
2) 将SD 卡插入开发板(即P1 连接器),通过mini-USB 端口(即P4 连接器)将开发板连接到PC,并将启动模式更改为下载模式。

3)通过CMD命令“uuu.exe uuu-sdcard.auto”或双击“FW_down-sdcard.bat”启动IBR215和闪存SD(与PCBA更新方式相同)

3.1.2 通过Recovery SD卡升级固件
1)放置恢复 file插入 USB 闪存盘 (FAT32)
A> Yocto/Ubuntu:复制所有恢复 file进入 PATH:


2)将(步骤1)SD 和(步骤2)USB 闪存盘插入 IBR215
3)正常启动IBR215(SW1 Pin1 OFF),自动启动恢复eMMC。
4) 更新信息将显示在 HDMI 上。

第 4 章 BSP 源码指南
本章专门为高级软件工程师构建 BSP 源。本章涵盖的主题如下:
- 准备
 - 构建版本
 - 安装版本到主板
 
4.1 构建BSP源
4.1.1 准备
建议的最低 Ubuntu 版本是 18.04 或更高版本。
1)构建前安装必要的软件包:
sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \
build-essential chrpath socat cpio python python3 python3-pip python3-pexpect \
xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \
pylint3 xterm
2)下载工具链
编译 Linux 内核使用的 clang 需要较新版本,设置编译 Linux 内核使用的 clang 的步骤如下: sudo git clone https://android.googlesource.com/platform/prebuilts/clang/host/linux-x86 /opt/ prebuiltandroid-clang -b master cd /opt/prebuilt-android-clang
sudo git checkout 007c96f100c5322acc37b84669c032c0121e68d0 导出 CLANG_PATH=/opt/prebuilt-android-clang
上述导出命令可以添加到“/etc/profile”。主机启动时,
“AARCH64_GCC_CROSS_COMPILE”和“CLANG_PATH”已设置,可直接使用。
乙、准备U-Boot和Linux内核的编译环境。
此步骤是必需的,因为 AOSP 代码库中没有 GCC 交叉编译工具链。
A。下载 A-pro 的工具链file 架构在 arm Developer GNU-A 下载页面上。建议
本次发布使用 8.3 版本,您可以下载“gcc-arm-8.3-2019.03-x86_64-aarch64-elf.tar.xz”或“gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz”,前者用于编译裸机程序,后者也可用于编译应用程序。
b. 解压 file 进入本地磁盘上的路径,例如ample,到“/opt/”。导出名为“AARCH64_GCC_CROSS_COMPILE”的变量以指向该工具,如下所示:
# 如果使用“gcc-arm-8.3-2019.03-x86_64-aarch64-elf.tar.xz” sudo tar -xvJf gcc-arm-8.3-2019.03-x86_64-aarch64-elf.tar.xz -C /opt
export AARCH64_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-elf/bin/aarch64-elf-
# 如果使用“gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz” sudo tar -xvJf gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu.tar.xz -C /opt export AARCH64_GCC_CROSS_COMPILE=/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-linuxgnu/bin/aarch64-linux-gnu
3)解压IBR215源码 file (前任amp将 ibr215-bsp.tar.bz2) 复制到“/home/”文件夹中。
4.1.2 构建版本
适用于 yocto/Ubuntu/debian 的 4.1.2.1
cd /home/bsp 文件夹
./build-bsp-5.4.sh
4.1.3.2 对于 Android
cd /home/bsp 文件夹
源构建/envsetup.sh
午餐 evk_8mp-userdebug
使 ANDROID_COMPILE_WITH_JACK=false
./imx-make.sh–j4
制作 –j4
4.1.3 将释放装置安装到板上

附录
本节提供参考代码的信息。
A. 如何在 Linux 中使用 GPIO
# GPIO 值规则:gpioX_N >> 32*(X-1)+N
# 以 gpio5_18 为例ample,导出值应为 32*(5-1)+18=146
# GPIO 扩展amp1:输出
echo 32 > /sys/class/gpio/export
回显 > /sys/class/gpio/gpio146/direction
回声 0 > /sys/class/gpio/gpio146/value
回声 1 > /sys/class/gpio/gpio146/value
# GPIO 扩展amp2:输入
echo 32 > /sys/class/gpio/export
在 > /sys/class/gpio/gpio146/direction 中回显
猫/系统/类/gpio/gpio146/值
B. 如何在 Linux 中使用 Watchdog
// 创建文件描述符
int 文件描述符;
//打开看门狗设备
fd = 打开(“/dev/watchdog”,O_WRONLY);
//获取看门狗支持
ioctl(fd,WDIOC_GETSUPPORT,&ident);
//获取看门狗状态
ioctl(fd,WDIOC_GETSTATUS,&状态);
//获取看门狗超时
ioctl(fd,WDIOC_GETTIMEOUT,&timeout_val);
//设置看门狗超时
ioctl(fd,WDIOC_SETTIMEOUT,&timeout_val);
//喂狗
ioctl(fd,WDIOC_KEEPALIVE,&dummy);
C、eMMC测试
注意:此操作可能会损坏 eMMC flash 中存储的数据。在开始测试之前,请确保正在使用的eMMC闪存中没有关键数据。
阅读、书写和检查
MOUNT_POINT_STR=”/var”
#创建数据 file
dd if = / dev / urandom of = / tmp / data1 bs = 1024k count = 10
#将数据写入emmc
dd if=/tmp/data1 of=$MOUNT_POINT_STR/data2 bs=1024k count=10
#读取数据2,并与数据1进行比较
cmp $MOUNT_POINT_STR/数据2 /tmp/数据1
eMMC 速度测试
MOUNT_POINT_STR=”/var”
#获取emmc写入速度”
时间 dd if=/dev/urandom of=$MOUNT_POINT_STR/test bs=1024k count=10
# 清理缓存
echo 3 > /proc/sys/vm/drop_caches
#获取emmc读取速度”
时间 dd if=$MOUNT_POINT_STR/test of=/dev/null bs=1024k count=10
D. USB(闪存盘)测试
插入 USB 闪存盘。然后确保它在 IBR210 设备列表中。
注意:此操作可能会损坏U盘中存储的数据。在开始测试之前,请确保正在使用的eMMC闪存中没有关键数据。
阅读、书写和检查
USB_DIR=”/运行/媒体/mmcblk1p1″
#创建数据 file
dd if = / dev / urandom of = / var / data1 bs = 1024k count = 100
#将数据写入U盘
dd if=/var/data1 of=$USB_DIR/data2 bs=1024k count=100
#读取数据2,并与数据1进行比较
cmp $USB_DIR/data2 /var/data1
USB 速度测试
USB_DIR=”/运行/媒体/mmcblk1p1″
# USB 写入速度
dd if=/dev/zero of=$BASIC_DIR/$i/test bs=1M count=1000 oflag=nocache
# USB 读取速度
dd if=$BASIC_DIR/$i/test of=/dev/null bs=1M oflag=nocache
E.SD卡测试
当IBR210从eMMC启动时,SD卡是“/dev/mmcblk1”,可以通过“ls /dev/mmcblk1*”命令看到:
/dev/mmcblk1 /dev/mmcblk1p2 /dev/mmcblk1p4 /dev/mmcblk1p5 /dev/mmcblk1p6
注意:此操作可能会损坏SD卡中存储的数据。在开始测试之前,请确保正在使用的eMMC闪存中没有关键数据。
阅读、书写和检查
SD_DIR =“/运行/媒体/mmcblk1”
#创建数据 file
dd if = / dev / urandom of = / var / data1 bs = 1024k count = 100
#将数据写入SD卡
dd if=/var/data1 of=$SD_DIR/data2 bs=1024k count=100
#读取数据2,并与数据1进行比较
cmp $SD_DIR/data2 /var/data1
SD 卡速度测试
SD_DIR =“/运行/媒体/mmcblk1”
# SD 写入速度
dd if=/dev/zero of=$SD_DIR/test bs=1M count=1000 oflag=nocache
# SD 读取速度
dd if=$SD_DIR/test of=/dev/null bs=1M oflag=nocache
F. RS-232 测试
//打开ttymxc1
fd=打开(/dev/ttymxc1,O_RDWR);
//设置速度
tcgetattr (fd, &opt);
cfsetispeed(&opt,速度);
cfsetospeed(&opt,速度);
tcsetattr(fd,TCSANOW,&opt)
//获取速度
tcgetattr (fd, &opt);
速度 = cfgetispeed(&opt);
//设置奇偶校验
// 选项.c_cflag
选项.c_cflag &= ~CSIZE;
选项.c_cflag &= ~CSIZE;
选项.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); /*输入*/
options.c_oflag &= ~OPOST; /*输出*/
//选项.c_cc
选项.c_cc[VTIME] = 150;
选项.c_cc[VMIN] = 0;
#设置奇偶校验
tcsetattr(fd,TCSANOW,&选项)
//写入ttymxc1
写入(fd,write_buf,sizeof(write_buf));
//读取ttymxc1
读取(fd,read_buf,sizeof(read_buf))
G. RS-485 测试
//打开ttymxc1
fd=打开(/dev/ttymxc1,O_RDWR);
//设置速度
tcgetattr (fd, &opt);
cfsetispeed(&opt,速度);
cfsetospeed(&opt,速度);
tcsetattr(fd,TCSANOW,&opt
//获取速度
tcgetattr (fd, &opt);
速度 = cfgetispeed(&opt);
//设置奇偶校验
// 选项.c_cflag
选项.c_cflag &= ~CSIZE;
选项.c_cflag &= ~CSIZE;
选项.c_cflag &= ~CRTSCTS;
选项.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); /*输入*/
options.c_oflag &= ~OPOST; /*输出*/
//选项.c_cc
选项.c_cc[VTIME] = 150;
选项.c_cc[VMIN] = 0;
#设置奇偶校验
tcsetattr(fd,TCSANOW,&选项)
//写入ttymxc1
写入(fd,write_buf,sizeof(write_buf));
//读取ttymxc1
读取(fd,read_buf,sizeof(read_buf))
H. 音频测试
Yocto/debian/ubuntu
// 通过音频播放 mp3(ALC5640)
gplay-1.0 /home/root/testscript/audio/a.mp3 –audio-sink=”alsasink –device=hw:1”
// 通过音频录制 mp3(ALC5640)
arecord -f cd $basepath/b.mp3 -D plughw:1,0
Android的:
请录制并播放 apk
一、以太网测试
• 以太网 Ping 测试
#ping 服务器 192.168.1.123
ping -c 20 192.168.1.123 >/tmp/ethernet_ping.txt
• 以太网 TCP 测试
#服务器 192.168.1.123 运行命令“iperf3 -s”
#通过iperf192.168.1.123以tcp模式与服务器3通信
iperf3 -c 192.168.1.123 -i 1 -t 20 -w 32M -P 4
• 以太网 UDP 测试
#服务器 192.168.1.123 运行命令“iperf3 -s”
#使用iperf192.168.1.123以udp模式与服务器3通信
iperf3 -c $服务器IP -u -i 1 -b 200M
J. LVDS测试(安卓不支持)
//打开 file 用于阅读和写作
framebuffer_fd = 打开(“/dev/fb0”,O_RDWR);
// 获取固定屏幕信息
ioctl(framebuffer_fd、FBIOGET_FSCREENINFO 和 finfo)
// 获取变量屏幕信息
ioctl(framebuffer_fd、FBIOGET_VSCREENINFO 和 vinfo)
// 计算屏幕大小(以字节为单位)
屏幕尺寸 = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;
// 将设备映射到内存
fbp = (char *)mmap(0,屏幕尺寸,PROT_READ | PROT_WRITE,MAP_SHARED,framebuffer_fd,
0);
// 找出内存中放置像素的位置
memset(fbp,0x00,屏幕尺寸);
//通过fbp绘制点
长整型位置=0;
位置 = (x+g_xoffset) * (g_bits_per_pixel/8) +
(y+g_y偏移)*g_line_length;
*(fbp + 位置 + 0)= color_b;
*(fbp + 位置 + 1)= color_g;
*(fbp + 位置 + 2)= color_r;
//关闭帧缓冲区fd
关闭(framebuffer_fd);
K. HDMI测试
• HDMI 显示测试
//打开 file 用于阅读和写作
framebuffer_fd = 打开(“/dev/fb2”,O_RDWR);
// 获取固定屏幕信息
ioctl(framebuffer_fd、FBIOGET_FSCREENINFO 和 finfo)
// 获取变量屏幕信息
ioctl(framebuffer_fd、FBIOGET_VSCREENINFO 和 vinfo)
// 计算屏幕大小(以字节为单位)
屏幕尺寸 = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8;
// 将设备映射到内存
fbp = (char *)mmap(0,屏幕尺寸,PROT_READ | PROT_WRITE,MAP_SHARED,
帧缓冲区_fd, 0);
// 找出内存中放置像素的位置
memset(fbp,0x00,屏幕尺寸);
//通过fbp绘制点
长整型位置=0;
位置 = (x+g_xoffset) * (g_bits_per_pixel/8) +
(y+g_y偏移)*g_line_length;
*(fbp + 位置 + 0)= color_b;
*(fbp + 位置 + 1)= color_g;
*(fbp + 位置 + 2)= color_r;
//关闭帧缓冲区fd
关闭(framebuffer_fd);
• HDMI 音频测试
#启用 HDMI 音频
echo 0 > /sys/class/graphics/fb2/blank
#播放 wav file 通过 HDMI 音频
aplay /home/root/testscript/hdmi/1K.wav -D plughw:0,0
L. 3G测试(不适用于android,android设置中有3g配置)
• 检查 3G 状态
#检查UC20模块状态和SIM状态
猫/ dev / ttyUSB4&
• 测试 3G
# 该命令将连接 3g 到网络
# 确保 SIM 卡插入正确,并且 ANT 已连接
pppd 调用 quectel-ppp
echo “ping www.baidu.com 确认网络正常”
ping www.baidu.com
M. 板载连接器类型

连接器类型可能会发生变化,恕不另行通知。
阅读有关本手册的更多信息并下载 PDF:
文件/资源
![]()  | 
						IBASE IBR215系列加固型嵌入式计算机 [pdf] 用户手册 IBR215 系列加固型嵌入式计算机、IBR215 系列、加固型嵌入式计算机、嵌入式计算机、计算机  | 
