教学平台

更新时间:
2024-03-14
下载文档

教学平台

教学平台简介

SylixOS-EVB-i.MX6Q 验证平台是翼辉信息技术有限公司为方便 SylixOS 用户充分评估 SylixOS 功能和性能推出的高端 ARM-SMP 验证平台。该验证平台基于 i.MX6Q 工业级 CPU 设计,可以直接进行多种软硬件的性能评估和测试。

SylixOS-EVB-i.MX6Q 是翼辉信息技术有限公司推出的第一代 ARM-SMP 验证平台,采用 i.MX6Q Cortex-A9 处理器,可以测试常见的嵌入式通信接口如 RS232、CAN、USB、PCIE、SATA、SDIO、以太网、I2C、LVDS、LCD、HDMI 等。SylixOS-EVB-i.MX6Q 还包含 3 个扩展接口,可以测试自定义的 I2C、SPI、UART 模块或外扩设备。

i.MX6Q 是一款适用于消费电子、工业以及汽车车载娱乐系统等众多领域的新一代应用处理器。i.MX6Q 基于 ARMCortex-A9 架构,40nm 工艺制程,最高运行频率可达 1.2GHz,支持 ARMv7TM、Neon、VFPV3 和 Trustzone。处理器内部为 64/32 位总线结构,32/32KB 一级缓存,1MB 二级缓存,具有 12000DMIPS(每秒运算 12 亿条指令集)的高性能运算能力,并自带 3D 图形加速引擎,2D 图形加速,最大支持 4096x4096pixels 分辨率,视频编码支持 MPEG-4/H.263/H.264 达到 1080p@30fps,解码 MPEG2/VC1/Xvid 视频达到 1080p@30fps,支持高清 HDMI-TV 输出。

i.MX6Q 芯片性能高功耗低,适用于做手持电子设备、通讯设备以及医疗应用设备,涵盖上网本、学习机、监控视频设备和各种人机界面,可应用于高清游戏、无线 GPS 导航、移动视频播放、智能控制、仪器仪表、导航设备、PDA 设备、远程监控、游戏开发等。

i.MX6 的汽车级版本,可广泛用于汽车、工业以及各种高可靠要求的行业。i.MX6Q 核心系统体积小,性能高的特性,有效地提升了系统效率、降低了设备体积、功耗和成本。

SylixOS-EVB-i.MX6Q 可以根据不同的应用场合选择四核处理器或双核处理器,如面向教育培训市场可以选择使用双核处理器,面向科研和项目评估建议选择四核处理。双核和四核处理器的验证平台外设、软件资源完全相同,只是在处理器能力上四核要高于双核。

验证平台实物图

序号接口名称其他说明
1电路板电源开关
2电源输入接口DC-12V
3调试串口DB9 母头
4MiniUSBi.MX6Q 处理器的 USB OTG 接口,可用于系统更新
5RJ45i.MX6Q 处理器原生千兆以太网接口
6HDMIi.MX6Q 处理器原生数字高清接口
7USB HOSTUSB 主接口
8应用串口DB9 公头,可以进行串口应用编程
9音频接口实现音频的输入输出(左边:麦克风、右边:耳机)
10Mini-PCIEPCIEx1 接口
11CAN分别是 CAN1 CAN2
12RTC 电池CR2032
13摄像头接口连接摄像头模块
14SATA 接口SATA2.0 接口,可以连接硬盘
15SATA 电源接口向 SATA 硬盘供电接口(使用电源转接线)
16SPI 扩展模块接口
17I2C 扩展模块接口
18UART 扩展模块接口
19SD 卡
20JTAG 接口可以用于 JTAG 调试
21i.MX6Q 核心板4 核处理器
22LCD 显示LVDS 接口
23键盘键盘输入
24数码管4 位 8 段数码管
25阵列按键4x4 阵列按键
26GPIO 按键用来进行 GPIO 实验
27复位

验证平台硬件配置

SylixOS-EVB-i.MX6Q 电路板包含的资源如下:

核心板

  • MX6Q 工业级 4 核处理器。
  • 1 GB DDR3 内存
  • 2 MB SPI Nor Flash,系统默认从 SPI Flash 启动
  • 4 GB eMMC

底板

  • 1 个电源开关。
  • 1 个 DC-12V 电源接口。
  • 3 路 RS232 接口,其中 1 路为 DB9 母头做 Debug 接口,另外 2 路为 DB9 公头。
  • 1 路 USBOTG 接口。
  • 1 路千兆以太网接口。
  • 1 路 HDMI 接口、1 路 LCD 接口、2 路 LVDS 接口,其中 1 路 LVDS 连接 LCD 液晶屏。
  • 5 路 USB HOST 接口,其中 1 路连接键盘。
  • 1 对音频输入输出接口。
  • 1 路 mini-PCIE 接口。
  • 1 个摄像头接口。
  • 1 个 RTC 芯片 ISL1208。
  • 1 路 SATA 接口,配合 IDE 大 4P 电源接口。
  • 3 个 TTL 电平扩展模块接口,分别有 UART、SPI、I2C。
  • 1 路 SD 卡接口。
  • 7 路 GPIO 按键。
  • 8 路 GPIO 控制的 LED。
  • zlg7290 芯片扩展 4 位数码管和 4x4 阵列按键。
  • 1 路 PWM 接口。

验证平台快速体验

验证平台上电及启动项选择

拨码开关出厂默认位置全部在 “非 ON” 位置。在后续的全部配置过程中,拨码开关都不需要改动。

正确连接 DC-12V 电源、USB 转串口等线缆。在对系统上电之前需要首先开启串口终端程序。当前默认使用 putty(该工具在 SylixOS_CD 中的 tools 目录下有提供),初次打开后步骤如下:

  1. 拷贝 tools 目录下的 putty.zip 和 sscom32.exe 文件到本地某磁盘目录下,如 D:/toolOfWorks 目录下。

  2. 解压 putty.zip 到当前文件,并进入解压后的 putty 目录,双击 PUTTY.EXE 可以启动 putty 软件,也可以通过”右键”→”发送到(N)” →”桌面快捷方式”以方便后续使用。

  3. 在 PuTTY Configuration 对话框中先选择”Serial”通信方式,随后设置串口参数,通常为 115200、8data、1Stop、None Parity、None Flow control,Serial Line 根据自己的 COM 口进行设置,如下图所示。

  4. 常用的 PuTTY 可以在”Saved Sessions”框中将当前的串口配置保存下来,后面使用只需要双击相应名称就可以了。

  5. 启动后,连接好电源、DB9 母头连接 USB 转串口线并连接到 PC 端,网络直接或通过交换机与 PC 主机建立连接,然后对电路板上电。

  6. 上电后会首先输出 u-boot 的信息,在启动时敲击任意键中断 u-boot 的自动启动,进入 u-boot 的命令行模式:

    U-Boot 2015.04-g5464d26-dirty (Nov 09 2016 - 21:58:24)
    CPU:   Freescale i.MX6Q rev1.5 at 792 MHz
    CPU:   Temperature 44 C
    Reset cause: POR
    Board: SylixOS i.MX6 Evaluation Kit
    Model: SYLIXOS-IMX6-6Q-1G
    I2C:   ready
    DRAM:  1 GiB
    MMC:   FSL_SDHC: 0, FSL_SDHC: 1
    SF: Detected SST25VF016B with page size 256 Bytes, erase size 4 KiB, total 2 MiB
    No panel detected: default to Hannstar-XGA
    Display: Hannstar-XGA (1024x600)
    In:   serial
    Out:   serial
    Err:   serial
    Net:   using phy at 5
    FEC [PRIME]
    Normal Boot
    Hit any key to stop autoboot:  0
    =>
    =>
    
  7. 输入命令 boot 可重新启动内核,如果不中断 u-boot 的启动会自动加载 SylixOS 镜像并运行。

                          [[                          (R)
 [[[[           [[[[      [[             [[[[    [[[[
[[  [[            [[                    [[  [[  [[  [[
[[      [[  [[    [[    [[[[    [[  [[  [[  [[  [[
 [[     [[  [[    [[      [[    [[  [[  [[  [[   [[
  [[    [[  [[    [[      [[     [[[[   [[  [[    [[
   [[   [[  [[    [[      [[      [[    [[  [[     [[
    [[  [[  [[    [[      [[     [[[[   [[  [[      [[
[[  [[  [[  [[    [[      [[    [[  [[  [[  [[  [[  [[
 [[[[    [[[[   [[[[[[  [[[[[[  [[  [[   [[[[    [[[[
           [[
          [[    KERNEL: LongWing(C) 2.5.1
       [[[[   COPYRIGHT ACOINFO Co. Ltd. 2006 - 2022
SylixOS license: Commercial & GPL.
SylixOS kernel version: 2.5.1 Code name: Enterprise

CPU     : Freescale i.MX6Q (Cortex-A9 Max@1.2GHz NEON VFPv3)
CACHE   : 64KBytes L1-Cache(D-32K/I-32K), 1MBytes L2-Cache
PACKET  : SylixOS EVM
ROM SIZE: 0x00002000 Bytes (0x00000000 - 0x00001fff)
RAM SIZE: 0x40000000 Bytes (0x10000000 - 0x4fffffff)
BSP     : BSP version 1.2.0
[root@sylixos:/root]#

在系统启动后,就可以使用 shell 命令进行各种信息的查看。对刚刚接触嵌入式相关内容的用户来讲,建议直接使用出厂默认部署的系统进行应用方面的学习。读者在熟悉操作系统应用开发后,在进入驱动或 BSP 的学习。

修改系统 IP 地址

接上网线后若要保证验证平台与主机之间能够进行网络通信,需配置验证平台的 IP 地址与主机 IP 地址在一个网段内。

启动系统后通过串口终端进入 etc 目录下用内置的 vi 编辑器修改 ifparam.ini 文件。

[root@sylixos:/root]# cd /etc/ 
[root@sylixos:/root]# vi ifparam.ini 

进入编辑界面后按下键盘上的”i”键,设置 vi 编辑器为编辑模式,根据读者主机的 IP 地址信息修改验证平台上的网络配置信息(主要修改 ipaddr、netmask、gateway 信息)后按下键盘上的”Esc”键设置 vi 编辑器到命令模式,然后输入”:wq”(保存退出)。退出 vi 编辑器后输入 sync 命令然后按回车,确保数据写回存储器。重启后即为新的 IP 地址。

[imx6q_0]
ipaddr = 10.4.120.66
netmask = 255.255.0.0
gateway = 10.4.0.1
txqueue = 512
default=1

重新启动验证平台后,可以使用 ifconfig 命令查看当前验证平台的 ip 地址信息,输入 ifconfig 命令后,系统会有如下响应:

[root@sylixos:/root]# ifconfig
en1       Link encap: Ethernet HWaddr: 00:08:ee:03:a6:cc
          Dev: imx6q_0 Ifidx: 2 DHCP: D4 D6 Spd: 1000 Mbps
          inet addr: 10.4.120.66 netmask: 255.255.0.0
          gateway: 10.4.0.1 broadcast: 10.4.255.255
          inet6 addr: fe80::208:eeff:fe03:a6cc Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          collisions:0 txqueue:512 tcpaf:2 tcpwnd:65535
          RX ucast packets:0 nucast packets:1439 dropped:0
          TX ucast packets:0 nucast packets:8 dropped:0
          RX Bytes:96981 (94.7 KB)  TX Bytes:588 (588.0 B)
lo0       Link encap: Local Loopback
          Dev: N/A Ifidx: 1 DHCP: D4 D6 Spd: N/A
          inet addr: 127.0.0.1 netmask: 255.0.0.0
          P-to-P: 127.0.0.1 broadcast: N/A
          inet6 addr: ::1 Scope:Loopback
          UP LOOPBACK RUNNING  MTU:0  Metric:1
          collisions:0 txqueue:0 tcpaf:2 tcpwnd:262140
          RX ucast packets:3 nucast packets:0 dropped:0
          TX ucast packets:3 nucast packets:0 dropped:0
          RX Bytes:168 (168.0 B)  TX Bytes:168 (168.0 B)
dns0: 0.0.0.0
dns1: 0.0.0.0
dns2: 0.0.0.0
dns3: 0.0.0.0
default device is: en1
list net interface: 2
[root@sylixos:/root]#

使用 ping 命令,测试与 PC 主机的网络链接是否正常,正常后就可通过网络上传应用程序,进行程序调试等工作。

[root@sylixos:/root]# ping 10.4.0.105
Pinging 10.4.0.105
Reply from 10.4.0.105: Bytes=32 time=0.575ms TTL=64
Reply from 10.4.0.105: Bytes=32 time=0.230ms TTL=64
Reply from 10.4.0.105: Bytes=32 time=0.236ms TTL=64
Reply from 10.4.0.105: Bytes=32 time=0.392ms TTL=64
Ping statistics for 10.4.0.105:
    Packets: Send = 4, Received = 4, Lost = 0(0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0.230ms, Maximum = 0.575ms, Average = 0.358ms
[root@sylixos:/root]#

升级系统

若需要对验证平台进行系统升级,可在系统启动后进入”/boot”目录删除旧的 bspimx6.bin 文件,通过 tftp 命令,或 FileZilla 把新的镜像文件上传到”/boot”目录下,也可通过 U 盘进行拷贝。

通过 TFTP 更新

将光盘中的 Tools 中的 tftpd32.exe 拷贝到拥有新镜像的文件夹下并双击运行,开发板接通网线启动后上传新的 bspimx6.bin 文件即可,如下所示:

[root@sylixos:/root]# cd /boot 
[root@sylixos:/root]# tftp -i 10.4.0.105 get bspimx6.bin bspimx6.bin 

重新启动运行的就为更新后的内核。

使用 FileZilla 更新

安装光盘 Tools 目录下的 FileZilla 应用程序并运行,主机(H):填写自己修改后的 ip 地址,用户名和密码都为”root”,单击”快速连接”,如下图所示。链接成功后在”窗口 1”处会显示验证平台上的文件夹,找到 boot 文件夹后,把新的 bspimx6.bin 文件拖到”窗口 2”处。覆盖旧的文件,完成新的 bspimx6.bin 镜像的传输。在串口终端输入”sync”指令。重启验证平台后运行的为新升级的内核。

调试及 u-boot 配置

SylixOS 开发套件在出厂时已经部署 SylixOS 操作系统及其 BSP 固件,能满足一般的应用开发需求。如果用户需要学习底层驱动程序,可以使用套件里面的 BSP 工程源代码进行编译和调试。

当对 BSP 进行修改和调试时,如果每次都把编译好的镜像文件上传到/boot 目录下再重新启动不仅不方便,而且如果修改的 BSP 工程有问题可能导致系统无法启动,需再次烧写,极其费时。因此,可以借助强大的 u-boot 实现镜像的网络传输,每次重新启动后把镜像加载到一段 RAM 中,然后”go”到这段 RAM 的起始地址运行,非常的高效快捷。

基于 u-boot 的文件传输

  1. 将”Tools”目录下的”tftpd32.exe”软件拷贝到与”bspimx6.bin”文件同一目录下,双击打开,”tftpd32”会自动设置当前目录。此工具的作用是在当前主机上建立一个 TFTP 服务器,用来传输系统镜像文件(bspimx6.bin)。设置的“当前目录”是需要传输的系统镜像文件所在目录,“服务器地址”是本机与验证平台相连的网口对应 IP 地址,如果主机有多个网口,需要注意选择正确的 IP 地址。

  2. 将”Tools”目录下的”putty.zip”文件拷贝到本机磁盘的任意一个目录下,解压文件,双击其中的”PUTTY.EXE”文件,打开 putty 软件。

  3. 在左侧”Category”栏里面选择”Serial”,切换到”PuTTY Configuration”配置界面,如下图所示,串口号需要根据本机情况填写。

  4. 单击”Session”选项,在 putty 切换后的界面中选择”Serial”复选框,单击”Open”打开 putty 控制台界面(文章后续简称控制台)。

  5. 将主机的串口与验证平台的调试串口(与 VGA 相临的 DB9)相连。随后给验证平台上电或复位,控制台会输出 bootloader 启动信息,在启动时敲击键盘的任意按键,会进入 u-boot 的命令行界面。

U-Boot 2015.04-g5464d26-dirty (Nov 09 2016 - 21:58:24)
CPU:   Freescale i.MX6Q rev1.5 at 792 MHz
CPU:   Temperature 44 C
Reset cause: POR
Board: SylixOS i.MX6 Evaluation Kit
Model: SYLIXOS-IMX6-6Q-1G
I2C:   ready
DRAM:  1 GiB
MMC:   FSL_SDHC: 0, FSL_SDHC: 1
SF: Detected SST25VF016B with page size 256 Bytes, erase size 4 KiB, total 2 MiB
No panel detected: default to Hannstar-XGA
Display: Hannstar-XGA (1024x600)
In:    serial
Out:   serial
Err:   serial
Net:   using phy at 5
FEC [PRIME]
Normal Boot
Hit any key to stop autoboot:  0
=>
=>
  1. 在控制台中输入”printenv”命令,会显示当前 u-boot 中的相关变量配置,这里对我们有用的是网络配置相关内容,输出如下:
ipaddr=192.168.1.58 
serverip=192.168.1.70 

不同的 PC 主机的 IP 地址会不相同,这里需要根据读者主机的 IP 地址变化进行更改,更改命令如下:

setenv  bootdelay  1                  /* 设置启动延时                 */
setenv  loadaddr  0x10000000          /* 设置加载地址                 */
setenv  ipaddr   10.4.120.66          /* 设置目标板 IP 地址            */
setenv  serverip  10.4.0.105          /* 设置主机的 IP 地址            */
setenv  bootfile   bspimx6.bin        /* 设置 tftp 下载的镜像名           */
setenv  bootcmd  'tftp; dcache flush; dcache off; icache flush; icache off; go 0x10000000' 
saveenv                               /* 保存环境变量                   */

说明:
执行 saveenv 后每次重启都会重新加载镜像,方便调试。如果不执行 saveenv 命令,每次加载镜像需重新输入以上命令。

  1. 输入 boot 命令,进行镜像的下载并启动。
  2. 若上述参数配置无误,网线连接正常,镜像会下载到验证平台中。下载过程中会输出一串”#”提示下载进度,最后系统直接启动。
=> boot
Using FEC device
TFTP from server 10.4.0.105; our IP address is 10.4.120.66
Filename 'bspimx6.bin'.
Load address: 0x10000000
Loading: #################################################################
         #################################################################
         #################################################################
         ##############################################################
         1.3 MiB/s
done
Bytes transferred = 3771144 (398b08 hex)

u-boot 下存储介质操作和系统固化

重新修改并编译的 BSP 镜像没有问题后,即可更新新的镜像并修改 u-boot 从 emmc 启动内核。

  1. 进入系统后把 bspimx6.bin 镜像拷贝到/boot 目录。
  2. 重启验证平台进 u-boot,配置环境变量输入以下指令修改启动方式从 emmc 启动。
=> setenv bootcmd run sylixos_mmc;
=> saveenv
Saving Environment to SPI Flash...
Erasing SPI flash...Writing to SPI flash...done
=> boot
switch to partitions #0, OK
mmc1(part 0) is current device
reading bspimx6.bin
## Starting application at 0x10000000 ...
文档内容是否对您有所帮助?
有帮助
没帮助