搜档网
当前位置:搜档网 › 飞思卡尔6

飞思卡尔6

快速指南

制作Sabrelite Linux SDK开发环境和系统映像

目录

1概述 (3)

2在线获取SDK (4)

2.1下载基础版本 (4)

2.2在线创建自定义版本 (8)

3本地编译SDK (16)

3.1安装SDK (16)

3.2编译SDK (17)

3.2.1编译u-boot (17)

3.2.2编译Linux内核 (19)

3.2.3制作文件系统映像 (20)

4烧写和运行映像文件 (22)

4.1烧写映像文件 (22)

4.1.1准备工具和映像 (22)

4.1.2复制文件 (22)

4.1.3连接硬件 (23)

4.1.4设置USB启动方式 (23)

4.1.5运行Mfgtool并检测Sabrelite板 (23)

4.1.6开始烧写 (24)

4.2运行映像文件 (24)

4.2.1配置SPI-NOR启动 (24)

4.2.2打开终端程序 (25)

4.2.3运行系统映像 (25)

5附录 (27)

6免责声明 (27)

2

1概述

Sabrelite的软件开发环境简称Sarelite SDK,在Sabrelite上运行Linux系统需要经过以下步骤:

1)在线获取SDK

2)在本地编译SDK

3)在Sabrelite上运行编译生成的映像

步骤1有两种方式可供选择,第一种方式为直接下载基础的Sabrelite SDK软件包,第二种方式为在线创建一个自定义SDK版本然后进行下载。

3

2在线获取SDK

2.1下载基础版本

请按照以下步骤从https://www.sodocs.net/doc/a79949905.html,/网站下载Freescale SDK;

1)进入https://www.sodocs.net/doc/a79949905.html,/主页后,单击页面右方的User LinuxLink FREE Register now.(下图

中红色箭头指向的按钮)

图 2-1 Timesys网站主页

4

2)在注册页面填写需要的信息;

图 2-2 Timesys注册页面

页面中带有*号的项目和e-mail地址为必填项。下面的列表简要介绍了这些项目;

表2-1注册信息

项目描述

First Name 输入您的名

Last Name 输入您的姓

Title 选择您的职业

5

6

项目 描述

Phone 输入您的电话号码 Comany 输入您的公司名称 Country 选择您的国家名称 Password

输入一个登录密码 Enter Password Again

再次输入登录密码

Agree to Terms of Service 将该项打钩表示同意服务条款 Board you want to

assemble Linux for 选择您使用的开发板名称。这里选择Freescale i.MX6Q SABRE-Lite 。 Processor of Interest

选择您使用的处理器名称。这里选择Freescale i.MX6。

所有信息填写完毕后,单击页面底部的Get Access Now 完成注册,然后单击页面右上方的Login to LinuxLink ,使用您刚才输入的邮箱地址和密码来登录。

3) 登录后单击页面上方导航栏中的Download BSP/SDK (下图中红色箭头所指);

图 2-3 登录Timesys

4)在下方页面中单击i.MX6Q SABRE-Lite Small Footprint(下图中红色箭头所指);

图 2-4 下载页面

5)在下方的页面中单击位于Download SDK installer后方的链接(下图中红色箭头所指),开始下

载SDK包;

图 2-5 下载SDK包

注意:这里下载的SDK软件包仅包含文件系统映像,不包含文件系统中的各种

工具和u-boot的源代码。您可以单击以上页面底部的View All Files来显示

这些工具和源代码的链接。

7

2.2在线创建自定义版本

请按照以下步骤在https://www.sodocs.net/doc/a79949905.html,/网站上在线创建自定义Freescale SDK;

1)访问https://www.sodocs.net/doc/a79949905.html,/并登录,然后单击顶部导航栏中的Build BSP/SDK,进入下图中的

项目创建页面;

图 2-6 创建项目

单击页面中的Create a Project;

2)在以下页面中输入名称和描述等信息,并在Board下拉菜单中选择Freescale i.MX6Q SABRE-

Lite;

图 2-7 输入项目信息

在页面底部单击Create Projec t;

8

3)在以下页面中单击Create a Workorder;

图 2-8 创建工作单

4)在下方页面中输入新工作单名称等信息,并单击Next;

图 2-9 工作单信息

9

5)在下方页面中选择内核版本,并单击Next;

图 2-10 选择内核版本

6)在下方页面中选择需要的工具链,推荐选择glibc Recommended项,然后单击Next;

图 2-11 选择工具链

10

7)在下方窗口中选择软件组件;

图 2-12 选择软件组件

通过单击页面左方的Select a template可以对某些组合功能进行快速选择,例如Busybox Init,Systemv Init和 X Windows GUI等;

选择完成后单击Next。

注意:默认映像的SDK需要选中Busybox Init功能,以及页面中Demo选项内的

fluidlauncher、qt-about-timesys、timesys-theatre-1080p、nitrogen6x-

addons-tslib,和Multimedia选项中的fsl-mm-aacpdec-codeclib、fsl-codec-

full、libfslcodec。

11

8)在以下页面中保留默认值并单击Next;

图 2-13 配置杂项

12

9)在以下页面中单击Next;

图 2-14 单击Next

13

14

10) 在工作单总览页面可以查看和修改自定义SDK 的所有内容;在页面底部单击Save 可以保存该项

目,单击Build 则开始在线创建自定义SDK ,创建过程需要花费一段时间;创建完成后网站会向您的邮箱发送一封提醒邮件;

图 2-15 保存项目和创建SDK

11)当您收到提醒邮件后,请登录https://www.sodocs.net/doc/a79949905.html,并单击导航栏中的Download BSP/SDK,进入如

下图所示的页面;

图 2-16已完成的自定义SDK

在页面中可以看到已经完成的自定义SDK包;单击图标进入下一页面。

12)在以下页面中单击Download SDK installer右方的链接来下载自定义的SDK软件包(下图中红色

箭头所指)。

图 2-17下载自定义SDK

15

3本地编译SDK

3.1安装SDK

将下载的SDK软件包i.MX6QSABRELite-development-environment.sh保存到用户目录的work文件夹下。然后在Linux平台的Bash Shell环境中通过以下命令安装SDK。

yanglsh@TIOP:~/work$ chmod a+x i.MX6QSABRELite-development-environment.sh

yanglsh@TIOP:~/work$ ./i.MX6QSABRELite-development-environment.sh

注意:黑体字为需要输入的命令。

在安装过程中需要多次按下空格键,最后按下Y键表示同意。安装路径默认为$HOME/timesys。

输入以下命令来查看安装好的SDK文件。

yanglsh@TIOP:~/work$ cd $HOME/timesys

yanglsh@TIOP:~/timesys$ ls -l i_MX6QSABRELite/

total 3684

drwxr-xr-x 2 yanglsh yanglsh 4096 2012-12-17 03:58 bootloader

drwxr-xr-x 3 yanglsh yanglsh 4096 2012-12-17 04:41 kernel-source

drwxr-xr-x 2 yanglsh yanglsh 4096 2013-01-10 15:34 rfs

drwxr-xr-x 12 yanglsh yanglsh 4096 2013-01-10 15:34 toolchain

-rw-r--r-- 1 yanglsh yanglsh 3750792 2013-01-10 15:34 uImage-3.0-ts-armv7l

在bootloader目录下保存有预先编译好的u-boot;uImage-3.0-ts-armv7l是预先编译好的Linux 内核。

最后执行以下命令将交叉编译器放入路径列表。

yanglsh@TIOP:~/timesys$ export PATH=$PATH:$HOME/timesys/i_MX6QSABRELite/toolchain/ccache: $HOME/timesys/i_MX6QSABRELite/toolchain/bin

16

3.2编译SDK

3.2.1编译u-boot

请按照以下步骤完成u-boot的编译。

1)在图 2-17所示页面的底部单击View All Files,并在新打开的页面中单击source/(红色箭头所

指);

图 2-18 查看所有文件

2)在下方页面中单击u/(红色箭头所指);

17

18

图 2-19 单击

u/

3) 在下方页面中单击u-boot/(红色箭头所指);

图 2-20 单击u-boot

4) 在下方页面中单击u-boot-2009.08/(红色箭头所指);

图 2-21 单击u-boot-2009.08

5) 在下方页面中单击u-boot-2009.08.tar.bz2和u-boot-2009.08-imx6-12.09.01-201209111811.patch ,将它们下载到到本地系统文件夹$HOME/timesys/i_MX6QSABRELite 中。

图 2-22 下载u-boot

6) 执行以下命令来解压u-boot 和安装补丁;

yanglsh@TIOP:~/work$ cd $HOME/timesys/i_MX6QSABRELite

yanglsh@TIOP:~/timesys/i_MX6QSABRELite$ tar -xvf u-boot-2009.08.tar.bz2 yanglsh@TIOP:~/timesys/i_MX6QSABRELite$ cd u-boot-2009.08/ yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ patch -p1

<../u-boot-2009.08-imx6-

12.09.01-201209111811.patch

7) 执行以下命令来开始编译;

yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ make CROSS_COMPILE=armv7l-timesys-linux-gnueabi- distclean

yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ make CROSS_COMPILE=armv7l-timesys-

linux-gnueabi- mx6q_sabrelite_config

Configuring for mx6q_sabrelite board...

yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ make CROSS_COMPILE=armv7l-timesys-linux-gnueabi-

Generating include/autoconf.mk

Generating include/autoconf.mk.dep

8)执行以下命令来将工具软件mkimage复制到../toolchain/bin/目录下;

yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ cp tools/mkimage ../toolchain/bin/

3.2.2编译Linux内核

执行以下命令来编译Linux内核;

yanglsh@TIOP:~/timesys/i_MX6QSABRELite/u-boot-2009.08$ cd $HOME/timesys/i_MX6QSABRELite/ke rnel-source/linux-3.0

yanglsh@TIOP:~/timesys/i_MX6QSABRELite/kernel-source/linux-3.0$ make ARCH=arm distclean

CLEAN .

CLEAN arch/arm/kernel

CLEAN drivers/tty/vt

CLEAN drivers/video/logo

CLEAN firmware

CLEAN kernel

CLEAN lib

CLEAN arch/arm/boot/compressed

CLEAN arch/arm/boot

CLEAN .tmp_versions

CLEAN vmlinux System.map .tmp_kallsyms1.o .tmp_kallsyms1.S .tmp_kallsyms2.o .tmp_kallsyms2.S .t mp_vmlinux1 .tmp_vmlinux2 .tmp_System.map

CLEAN scripts/basic

CLEAN scripts/genksyms

19

CLEAN scripts/kconfig

CLEAN scripts/mod

CLEAN scripts

CLEAN include/config include/generated arch/arm/include/generated

CLEAN .config .config.old .version include/linux/version.h Module.symvers

yanglsh@TIOP:~/timesys/i_MX6QSABRELite/kernel-source/linux-3.0$ make ARCH=arm imx6_defconfig HOSTCC scripts/basic/fixdep

HOSTCC scripts/kconfig/conf.o

SHIPPED scripts/kconfig/zconf.tab.c

SHIPPED scripts/kconfig/lex.zconf.c

SHIPPED scripts/kconfig/zconf.hash.c

HOSTCC scripts/kconfig/zconf.tab.o

HOSTLD scripts/kconfig/conf

#

# configuration written to .config

#

yanglsh@TIOP:~/timesys/i_MX6QSABRELite/kernel-source/linux-3.0$ make ARCH=arm CROSS_COMPILE =armv7l-timesys-linux-gnueabi- uImage

scripts/kconfig/conf --silentoldconfig Kconfig

CHK include/linux/version.h

UPD include/linux/version.h

编译完成后生成的uImage文件保存于路径$HOME/timesys/i_MX6QSABRELite/kernel-source/linux-

3.0/arch/arm/boot/下。

3.2.3制作文件系统映像

1)执行以下命令来解压压缩包;

yanglsh@TIOP:~/timesys/i_MX6QSABRELite/kernel-source/linux-3.0$ cd $HOME/timesys/i_MX6QSABRE Lite/rfs

yanglsh@TIOP:~/timesys/i_MX6QSABRELite/rfs$ mkdir rootfs

20

相关主题