IMX6SLEVK快速入门

上次修改时间: 2019-03-25 13:17:00支持 i.MX 6SL Evalutaion Kit

本文档内容

  • 1

    开箱即用
  • 2

    BSP简介
  • 3

    探究

1. 开箱即用

本页将帮助您逐步了解恩智浦Linux®操作系统BSP和i.MX6SL EVK。

评估套件包含:

  • MCIMX6SLEVK
  • 微型USB-B-2-USB-Type A公头,V2.0线缆
  • 100/240V输入,5V,2.4A输出,带AC适配器电源
  • 快速入门指南
  • 两块SD卡:已编程的Android™

1.1 熟悉板

GS-RDIMX6SABREBRD-IMG1 GS-RDIMX6SABREBRD-IMG2

1.2 插入SD卡(SD3)

该套件带有含预建恩智浦Linux® BSP镜像的SD卡。无需修改系统,从镜像中启动将提供具有某些功能的默认系统,在Linux®上构建其他应用。

如需了解有关恩智Linux® BSP镜像的更多信息,请继续阅读以下章节:BSP简介。

1.3 连接USB调试线缆

将所提供的USB线缆的micro-B端连接到调试UART端口J509。将线缆的另一端连接到主机。

终端窗口配置:波特率为115200,数据位为8,停止位为1,无奇偶校验位。

串行通信控制台设置——Linux®

在Linux®主机上,运行以下命令以确定端口号:

$ ls /dev/ttyUSB*

使用以下命令安装串行通信程序:

$ sudo apt-get install minicom

串行通信控制台设置——Windows

在Windows上,如需确定i.MX板虚拟COM端口的端口号,请打开设备管理器并在“端口”分组下查找。

如有必要,可以在以下位置查找串行至USB驱动程序:FTDI芯片驱动程序

不确定如何使用终端应用?尝试以下任一教程:Tera Term教程PuTTY教程

1.4 连接HDMI(可选)

将HDMI线缆的一端与HDMI接头J8连接。将HDMI线缆的另一端与支持HDMI的显示器连接。

1.5 连接用户接口设备(可选)

连接键盘和鼠标,与显示器上显示的操作系统GUI进行交互。如果使用多个设备,将微型USB集线器与微型USB插孔J505连接,并将键盘和鼠标与集线器连接。

1.6 连接以太网线缆(可选)

将以太网线缆连接到以太网插孔J7

1.7 接通电源

将5V电源线与5V DC电源插头P1连接。

接通电源后,处理器开始执行片上ROM的代码。在默认启动开关的设置下,此代码将读取熔丝,查看哪个介质中可以搜索到可启动镜像。然后,它将找到SD卡,并自动开始执行U-Boot。

将在串行控制台中打印信息。如果没有停止U-boot流程,就会启动Linux®内核。

1.8 祝贺! Linux®已启动

一旦启动了Linux®,可以采用用户名根进行登录,无需密码。

要转至U-Boot,在U-Boot环境变量“bootdelay”值降低和超时(默认3秒)之前,请按任意键。如果停止了U-boot流程,可以运行以下命令再次启动Linux® U-Boot >boot .

2. BSP简介

选择开发路径:

i.MX Linux®板级支持包

  • 长期支持内核版本
  • U-Boot

或者

i.MX Android板级支持包

  • Android兼容型测试套件(CTS)兼容版本
  • 扩展的多媒体功能

2.1 概述

Linux®操作系统内核在i.MX板上启动前,需要将Linux®镜像复制到启动设备,而启动开关需要设置为启动此设备。

要启动板并运行Linux®,需要四个元件:

  • 引导加载程序(U-Boot)
  • Linux®内核镜像(zImage)
  • 所用板的设备树文件(.dtb)
  • 特定Linux®镜像的根文件系统(rootfs)

2.2 准备Linux® BSP镜像

预建镜像

此版本包含专为i.MX 6Quad Sabre-SD板构建的预建SD卡镜像。SD卡镜像是通常名为的文件,它是一个特殊构造的磁盘镜像,包括启动板的分区和所有必要的文件,还包括上述所有四个组件。

预建的恩智浦Linux®二进制演示镜像提供典型系统和基本的功能集,采用并评估处理器。用户无需修改系统就可以评估硬件接口,测试SoC功能并运行用户空间应用。

自建镜像

借助源代码和文档,用户还可以为自己的设备定制Linux®镜像,如添加或删除系统组件。

Yocto Project是恩智浦专业支持选择的框架,可构建用来启动Linux®内核的镜像,但也可以采用其他方法。

如需了解更多详细,请参见此处的恩智浦Yocto Project用户指南

2.3 下载Linux® BSP镜像

有多种方法可以为不同的板、启动设备和所需结果下载Linux® BSP镜像。

对于快速入门人员,我们仅列出了将BSP镜像传送到SD卡上的几个方法。经验丰富的Linux®开发人员可以探究其他方案。

.sdcard镜像(来自预建或自建BSP镜像)是可以直接闪存的SD卡镜像。这是最简单的方法,只需一个命令就可将所需一切加载到此卡。

当需要更多灵活性时,SD卡可逐一与单个组件(引导加载程序、内核、dtb文件和roofs文件)一起加载,或者可加载.sdcard镜像,并且特定组件可以覆盖单个部件。

复制整个SD卡镜像

SD/MMC读卡器需要传输引导加载程序和内核镜像,来初始化分区表并复制根文件系统。

Linux®主机:

Linux®主机上运行的Linux®内核为SD/MMC读卡器分配设备节点。

要确定分配给SD/MMC卡的设备节点,执行主机的以下命令:$ cat /proc/partitions

执行以下命令,将SD卡镜像复制到SD/MMC卡。更改以下sdx来匹配SD卡所用的。

$ sudo dd if= of=/dev/sd bs=1M && sync where filename.sdcard> is the correct board specific SD card image.

如需手动设置分区,请查阅i.MX Linux®用户指南中的第4.3.3节

未使用全SD卡镜像时,如需单独加载单个组件,请参阅i.MX Linux®用户指南第4.3.4-3.4.6节。

采用U-Boot

制造工具(简称MfgTool)是在Windows操作系统上运行的工具,可用来将镜像下载到i.MX板上的不同设备。找到的tar.gz文件带有预建Linux®BSP镜像。

制造工具教程——Linux系统

  1. 采用USB线缆连接电脑与板上的USB OTG端口。
  2. 没有为i.MX 6 Quad/QuadPlus SABRE-SD板上的串行下载模式预留专用的DIP启动开关。一个方法是设置启动模式从SD插槽SD3启动,但不插入SD卡,并为板通电。显示"HID Compliant device(HID兼容设备)"消息后,板进入串行下载模式。然后将SD卡插入SD插槽SD3。参见《i.MX Linux®用户指南》中的第4.5.11节“制造工具的串行下载模式”。
  3. 给板上电。
  4. 根据目标设备选择正确*.vbs文件。制造工具根据设备自动提取所需的文件。“制造工具”的默认配置文件假设文件系统是使用bzip2算法打包和压缩的。还可以修改此配置文件来支持其他格式。
  5. 镜像下载完成后,设置启动开关来启动板。参见本“快速入门教程”的第2节或本文“如何启动i.MX板”部分中的下一步。

如需了解详情,请参阅《i.MX Linux®用户指南》的第4.2节“制造工具”。

可以采用USB线缆连接调试UART端口和电脑,并打开串行通信程序进行控制台输出。

GS-RDIMX7DSABREBRD-IMG20

使用制造工具

U-Boot引导加载程序能够通过以太网将镜像下载到RAM,然后写入SD卡。对于此操作,需要配置网络通信。

有关如何将U-Boot下载到MMC/SD卡(未从此卡启动)的说明,请参考第4.4.1节。

镜像可以下载到采用U-Boot的其他启动介质(存储器存储设备)。要使用其他存储器设备,请参考第4.4.1以下部分。

2.4 启动开关设置

i.MX板的启动模式由板上启动配置DIP开关来控制。

S1_2
BOOT_MODE1
S1_1
BOOT_MODE0
从熔丝启动 0 0
串行下载器D 0 1
内部启动 1 0
保留 1 1
SW3_8
BT_CFG1_0
SW3_7
BT_CFG1_1
SW3_6
BT_CFG1_2
SW3_5
BT_CFG1_3
SW3_4
BT_CFG1_4
SW3_3
BT_CFG1_5
SW3_2
BT_CFG1_6
SW3_1
BT_CFG1_7
SD1 * ** * * * 0 1 0
SD2D * ** * * * 0 1 0
SD3 * ** * * * 0 1 0
SD4 * ** * * * 0 1 0
EMMC X X * * * 1 1 0
SPI NOR X X X X 1 1 0 0
SW4_8
BT_CFG2_0
SW4_7
BT_CFG2_1
SW4_6
BT_CFG2_2
SW4_5
BT_CFG2_3
SW4_4
BT_CFG2_4
SW4_3
BT_CFG2_5
SW4_2
BT_CFG2_6
SW4_1
BT_CFG2_7
SD1 * X X 0 0 1 * *
SD2D * X X 1 0 1 * *
SD3 * X X 0 1 1 * *
SD4 * X X 1 1 1 * *
EMMC * * * 1 0 0 1 1
SPI NOR X X X X X X X X
SW5_8
BT_CFG4_0
SW5_7
BT_CFG4_1
SW5_6
BT_CFG4_2
SW5_5
BT_CFG4_3
SW5_4
BT_CFG4_4
SW5_3
BT_CFG4_5
SW5_2
BT_CFG4_6
SW5_1
BT_CFG4_7
SD1 X X X X X X X X
SD2D X X X X X X X X
SD3 X X X X X X X X
SD4 X X X X X X X X
EMMC X X X X X X X X
SPI NOR 0 0 0 1 0 0 X X

X:未指定

D:默认配置

*:将开关配置为高还是低,这取决于应用的需要。请查阅参考手册中的启动配置选项。

**:1=上电时通过SDa_RST_B (SD3_RST)通断电。0=无通断电

如需了解从其他设备(SD3和SATA)中启动的启动开关设置,请参阅i.MX Linux®用户指南的第4.5节

3. 探究

3.1 Linux®的主要特性演示

借助i.MX平台上运行的Linux®,可以评估i.MX SoC提供的特殊功能:

电源管理

i.MX板上有三个主要的电源管理技术:

  • 挂起和恢复命令
  • CPU频率调节
  • 总线频率调节

Linux®安装后,如需了解开发用户空间应用的更多详情,请参见《i.MX6 Linux®参考手册》。

多媒体

Linux®安装后,如需了解开发用户空间应用的更多详情,请参见《i.MX6 Linux®参考手册》。

图形

  • 如需了解更多详情,请查看I.MX Linux®用户指南第8章。
  • 如需了解图形API和驱动程序支持的更多详情,请查阅i.MX6图形用户指南
    • 本文目的是提供有关图形API和驱动程序支持的信息。每一章都介绍了一组特定的API或驱动程序的集成以及专用硬件加速定制。本文的目标读者是编写图形应用程序或视频驱动程序的开发人员
    • i.MX G2D API
    • i.MX 6 EGL和OGL扩展支持
  • 如需了解有关视频处理单元的更多详情,请查看《i.MX VPU编程接口Linux®参考手册》

信息安全

  • 如需了解更多详情,请查看I.MX Linux®用户指南第9章
  • 如需了解安全系统升级的详情,请查阅i.MX Linux®高可靠性启动用户指南

连接

  • Bluetooth支持采用带BlueZ4或BlueZ5的USB Dongle时,效果最佳。
  • Broadcom Wi-Fi和Bluetooth无线技术支持需要从 i.MX软件和开发工具 下载Broadcom固件包。Broadcom设备驱动程序都已集成到内核中,但要运行,还需要下载和整合固件包。
  • 如需了解更多详情,请查看I.MX Linux®用户指南第10章

3.2 应用开发

Linux®安装后,如需了解开发用户空间应用的更多详情,请参见《i.MX6 Linux®参考手册》。

3.3 Yocto Project

恩智浦Yocto Project用户指南涵盖了如何设置Linux®主机,如何运行并配置 Yocto Project,生成镜像以及生成rootfs

如需了解更多详细,请参见恩智浦Yocto Project用户指南

3.4 Android的扩展特性

Wi-Fi Display接收端API

i.MX Android Wi-Fi Display接收端API支持设备作为Wi-Fi Display接收端,实时呈现来自Wi-Fi Display源端的音频和视频内容。

采用i.MX Android Wi-Fi Display接收端API,Android应用可以执行以下操作:

  • 扫描其他Wi-Fi Display源端设备
  • 获得对端名称和MAC地址
  • 设置其他Wi-Fi Display设备中显示的设备名称
  • 设置显示表面,呈现来自Wi-Fi Display源端设备的RTSP流
  • 启动或停止Wi-Fi Display源端和接收端之间的RTSP流
  • 断开Wi-Fi显示与P2P层之间的连接
  • 发送输入活动至Wi-Fi Display源端设备,这称为UIBC

HDCP2.X(高带宽数字内容保护)功能基于Android扩展Wi-Fi Display接收端版本包,旨在创建源端和显示器之间的安全连接,可支持以下操作:

  • Android镜像的高可靠性启动(HAB)
  • 为HDCP2.X密钥生成并配置密钥块

扩展的编解码器

版本说明中所述的特性获得恩智浦实施的媒体框架OMXPlayer的支持。应用android_L5.1.1_2.0.0-ga_omxplayer_source.tar.gz软件包后,才提供这些特性。

OMXPlayer数据包仅包含无许可限制的编解码器。

检测i.MX Android™扩展编解码器版本说明中的视频/音频/解码器/编码器

要安装OMXPlayer数据包,请执行以下步骤:

  1. 将OMXPlayer数据包拷贝到Android根目录
  2. 进入Android根目录并解压OMXPlayer数据包

这一步生成了device/fsl-codecexternal/fsl_imx_omxlean_obj_before_building.shswitch_build_to.sh

$ source build/envsetup.sh
$ lunch  # e.g., sabresd_6dq-user
$./switch_build_to.sh full
$./clean_obj_before_building.sh
$make

3.5 更多资源

LCD/HDMI SD卡用于启动Android

默认的启动模式配置该系统,以便在MCIMX28LCD (单独出售)上显示UI。要更改默认配置,启动MCIMXHDMICARD子板(单独出售),按任意键停止u-boot。一旦出现提示,u-boot可以如下配置:

对于LCD启动,键入以下命令(在一行):

setenv bootargs console=ttymxc0,115200 init=/initandroidboot.console=ttymxc0panel=lcdsaveenvreset

对于HDMI启动,键入以下命令(在一行):

setenv bootargs console=ttymxc0,115200 init=/initandroidboot.console=ttymxc0panel=hdmisaveenvreset

EPDC SD卡用于启动Android

应该使用默认设置,不必更改。

Tera Term教程

Tera Term教程

Tera Term是一款备受欢迎的开源终端仿真应用。此程序可用来显示从恩智浦开发平台虚拟串行端口发送的信息。

  1. 从SourceForge下载Tera Term。下载完成后,运行安装程序,然后返回到该页面继续操作。
  2. 下载

  3. 启动Tera Term。首次启动时,会显示以下对话。选择串行选项。假设已连接了板,列表中会自动填充一个COM端口。
  4. Tera-Term-Connection
  5. 配置串行端口设置(使用之前确定的COM端口号),波特率为115200,数据位为8,无奇偶校验位,停止位为1。要进行此操作,进入Setup -> Serial Port并更改设置。
  6. 确认连接已打开。如已连接,Tera Term将在标题栏中显示以下内容
  7. Tera-Term-Console
  8. 一切就绪

PuTTY教程

PuTTY教程

PuTTY是一款备受欢迎的终端仿真应用。此程序可用来显示从恩智浦开发平台虚拟串行端口发送的信息。

  1. 使用以下按钮下载PuTTY。下载完成后,运行安装程序,然后返回到该页面继续操作。
  2. 下载

  3. 启动PuTTY,可双击下载的*.exe文件或从开始菜单启动,具体取决于您所选的下载类型
  4. 配置在启动的窗口中,选择"Serial"单选按钮并输入之前确定的COM端口号。还要输入波特率,在本例中,为115200
  5. PUTTY-Configuration
  6. 点击“Open”(打开),打开串行连接。假设板已连接,并已输入正确的COM端口,此终端窗口会打开。如果配置不正确,PuTTY将会发出提示
  7. 一切就绪