产品介绍
EVB-6ULX是IoT-6ULX工控模块的评估系统,为客户提供IoT-6ULX核心模块的原始参考设计,方便客户快速应用。
EVB-6ULx主板产品特性
- 采用NXP公司Cortex-A7 I.MX6UL/L处理器,运行最高速度为900MHZ;
- 支持128M-1GB DDR3 SDRAM;
- 支持128M-1G字节 SLC NAND FLASH,
- (QSPI_NOR 32M-64M可选),可启动
- 两路10/100M以太网(焊接CoM-T6UL时可用,焊接IoT-6ULX只有一路);
- 支持一路高速USB HOST、 一路高速OTG;
- 支持一路CAN BUS、二路RS485;
- 支持最高分辨率为1366X768显示接口,18BIT;
- 板载DS1338 RTC时钟(核心板板载);
- 支持JTAG接口,可用于单任务程序的开发和仿真。
- 稳定的操作系统,可预装LINUX 4.14/YOCTO;方便应用开发,快速形成产品!
- 可根据客户应用定制,可作为IoT-6ULX核心模块的测试平台,解除客户量产忧虑。
EVB-6ULx底板兼容支持CoM-T6UL和IoT-6ULx核心板,有关于主板硬件资源的详细介绍请查阅我们的产品硬件手册的相关内容:
- CoM-T6UL核心板硬件电路说明请参考《CoM-T6UL硬件手册》。
- IoT-6ULx核心板硬件电路说明请参考《IoT-6ULx Hardware User Manual》。
- EVB-6ULx核心板硬件电路说明请参考《EVB-6ULx硬件手册》。
以下主要给出了CoM-T6UL和IoT-6ULx核心板的资源对比,以及EVB-6ULx的接口定义,以便用户能快速区分板载核心模块,直观了解到开发板上的接口功能。
表1-1 CoM-T6UL和IoT-6ULx核心板资源说明
板载资源 | CoM-T6UL | IoT-6ULx |
CPU | i.MX6UL/L系列处理器 | i.MX6UL/L系列处理器 |
RAM | DDR3 | DDR3 |
网络 | 板载10/100 Mbps 以太网PHY | 板载WIFI+BT模块 |
存储器 | 支持NAND flash或eMMC存储器 | 支持NAND flash或NOR flash存储器 |
RTC | CPU内置RTC | 板载外部硬件RTC或CPU内置RTC |
模块封装 | 37x39mm,140pin 邮票孔 | 39x39mm,138pin 邮票孔 |
核心板模块图以及底板接口资源分布图如下所示。
CoM-T6UL 核心板eMMC配置(左)与NAND flash配置(右)
CoM-T6UL 核心板NAND配置部件
IoT-6ULx 核心板NAND配置部件
2 硬件准备
如下的框图说明了开发调试平台的搭建
- Windows系统PC机1台
- EVB-6ULx 主板1套
- 5V/2A DC电源供电
2.1 硬件连接
EVB-6ULx主板debug串口(CN6)TTL电平,用我司的kit-cp2102n usb转uart,连接方式如下:
UART debug (CN6) 引脚定义
Pin | Name | Description |
1 | GND | Ground |
2 | UART1_TXD | Transmit data line |
3 | UART1_RXD | Receive data line |
Debug UART 连接示意图
我们在发货清单中提供了一个名为kit-2102n的usb转uart模块。这是一个USB到uart的转换器。
注意:由于EVB-6ULx的调试UART是TTL电平,所以Kit-CP2102N需要设置为USB-to-TTL模式。这是一个USB到uart的转换器。
在Windows和Linux系统使用,串行转换器不需要额外的驱动程序.
接入pc机USB接口,会自动识别设备安装驱动程序
驱动安装完成后,将适配器连接到USB接口。操作系统将提示检测到新硬件。可以在设备管理器中找到新的COM端口。如下图所示:
PC机端口显示CoM信息
Putty超级终端设置
2.2硬件连接
EVB-6ULx底板可兼容 IoT-6ULx核心板和CoM-T6UL核心板,GDB调试时所用的Ethernet不同,前者用CN7以太网端口,系统配置的节点是eth0;后者用CN13以太网端口(需用网络转接线),系统配置的节点是eth1。
EVB-6ULx焊接IoT-6ULx核心板,远程调试网络连接CN7 连接如下:
EVB-6ULx焊接CoM-T6UL核心板,远程调试网络连接CN13,用网络转接线连接如下:
注:root用户登录,登录密码123456
2.3 GDB调试原理
GDB是一个由GNU开源组织发布的、UNIX/LINUX操作系统下的、基于命令行的、功能强大的程序调试工具。 对于一名Linux下工作的c/c++程序员,gdb是必不可少的工具。
GDB调试是应用程序在开发板上运行,然后在PC机上对开发板上得应用程序进行调试,PC机运行GDB,开发板上运行GDBServer。在应用程序调试的时候,pc机上的gdb向开发板上的GDBServer发出命令,而开发板上的gdbserver就会向应用程序发出信号,使应用程序停下来或者完成其他一些工作。
GDB调试有以下两个方式:
1、设置断点:
信号是实现断点的基础,当用breakpoint 设置一个断点后,gdb会在=找到该位置对应的具体地址,然后向该地址写入断点指令INT3,即0xCC。
目标程序运行到这条指令时,就会触发SIGTRAP信号,gdb会首先捕获到这个信号。然后根据目标程序当前停止的位置在gdb维护的断点链表中查询,若存在,则可判定为命中断点。 gdb暂停目标程序运行的方法是想起发送SIGSTOP信号。
2、next单步调试:
next指令可以实现单步调试,即每次只执行一行语句。一行语句可能对应多条及其指令,当执行next指令时,gdb会计算下一条语句对应的第一条指令的地址,然后控制目标程序走到该位置停止。
Windows系统Eclipse IDE开发调试所必备以下几个条件:
1)、Eclipse IDE开发调试软件
2)、程序运行的X86/ARM等其它主板
3)、以太网通信正常,电脑主机和调试主板ip在同一个网段,连接同一个路由(交换机)
4)、调试主板系统有开启SSH服务进程
5)、服务器(Eclipse IDE)电脑主机和调试主板有gdb调试功能
2.4 GDB调试必备条件
2.4.1 Ethernet网络连接局域网
Ethernet网络ip可以更改,要让Eclipse IDE开发主机ip与EVB-6ULx主板ip在同一个网段,网络连同一个路由(交换机)。例如:eth0 IP 192.168.0.60 ;eth1 IP 192.168.0.6
IoT-6ULx核心板配置eth0连接GDB调试
CoM-T6UL核心板配置eth1连接GDB调试
2.4.2 开启SSH服务
EVB-6ULx主板系统软件是否支持SSH服务功能,可用putty SSH方式连接验证。电脑打开putty终端,SSH连接设置如下图
EVB-6ULx主板上电启动进入shell,登录账户:embfly,登录密码:embfly168,如下图所示:
这就验证EVB-6ULx主板SSH远程登录成功
2.4.3 开启gdb功能
EVB-6ULx主板上电进入shell,输入指令查看:# gdbserver –version
下一章节将详细介绍Eclipse IDE开发环境搭建,安装交叉编译工具(windows版本),例如:PC机gdb调试工具在D:\gcc-linaro-7.2.1-2017.11-x86_64_arm-linux-gnueabihf\bin目录下,如下图所示: