运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

本文是接着上一篇评测继续,不熟悉的朋友可以先参考前一篇评测:性能再次提升——Atmel SAMA5D4 Xplained Ultra评测

SAMA5D4 yocto编译

Atmel官方为Atmel SAMA5D4 Xplained 提供了多个开发系统,Android,Windows 和Linux版本。Linux也用了可以采用自定制的Yocto。

此文以Ubuntu 14.04操作系统为主机,来编译SAMA5D4的Yocto Linux操作系统。

首先需要安装必须的编译工具:

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

接下来需要下载所需的代码,因为Yocto的代码不停在更新,Atmel的代码也在更新,会出现每个托管的代码可能不匹配。因此需要注意下载同一个fido分支。

先创建一个用于编译的文件夹yocto,

1. git下载poky代码,注意是fido分支

git clone git://git.yoctoproject.org/poky -b fido

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

2. git下载meta-openembedded代码

git clone git://git.openembedded.org/meta-openembedded -b fido

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

3. git下载meta-qt5代码

git clone git://github.com/meta-qt5/meta-qt5.git -b fido

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

4. git下载meta-atmel代码

git clone git://github.com/linux4sam/meta-atmel.git -b fido

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

Atmel 开发板推荐:

  • ATSAMA5D36 评估套件  一款基于 ARM Cortex-A5 SAMA5D36嵌入式微处理器可运行Linux的微处理器设计开发板。
  • ATSAM4E-XPRO评估套件  一款用来评估ATSAM4E16E微控制器携带嵌入式调试器,拥有足够的外设接口的设计开发板。
  • SAM4E评估套件  一款基于ARM  Cortex-M4处理器的给具有高灵活性的各种各样的应用的评估解决方案。

5. 进入poky文件夹,然后用下面的命令初始化编译目录

source oe-init-build-env build-atmel

此时目录就会切换到poky/build-atmel

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

6. 在bblayer配置文件里添加meta-atmel层

vim conf/bblayers.conf

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf

# changes incompatibly

LCONF_VERSION = "6"

BBPATH = "${TOPDIR}"

BBFILES ?= ""

BSPDIR := "${@os.path.abspath(os.path.dirname(d.getVar('FILE', True)) + '/../../..')}"

BBLAYERS ?= " \

${BSPDIR}/meta-atmel \

${BSPDIR}/meta-qt5 \

${BSPDIR}/poky/meta \

${BSPDIR}/poky/meta-yocto \

${BSPDIR}/poky/meta-yocto-bsp \

${BSPDIR}/meta-openembedded/meta-oe \

${BSPDIR}/meta-openembedded/meta-networking \

${BSPDIR}/meta-openembedded/meta-python \

${BSPDIR}/meta-openembedded/meta-ruby \

${BSPDIR}/meta-openembedded/meta-multimedia \

"

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

Atmel 开发板推荐:

  • ATSAMA5D36 评估套件  一款基于 ARM Cortex-A5 SAMA5D36嵌入式微处理器可运行Linux的微处理器设计开发板。
  • ATSAM4E-XPRO评估套件  一款用来评估ATSAM4E16E微控制器携带嵌入式调试器,拥有足够的外设接口的设计开发板。
  • SAM4E评估套件  一款基于ARM  Cortex-M4处理器的给具有高灵活性的各种各样的应用的评估解决方案。

7. 编辑local.conf,指定特定的目标机,代码和程序包类型(ipk)

vim conf/local.conf

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

[...]

MACHINE ??= "sama5d3-xplained"

[...]

DL_DIR ?= “${TOPDIR}/downloads”

[...]

PACKAGE_CLASSES ?= "package_ipk"

DISTRO = "poky-atmel"

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

8. 此时已经配置完成,可以开始编译。

bitbake core-image-minimal

此时如果配置正确,会开始下载和编译代码,因为代码托管在github上,有的代码甚至是在googlecode上,因此国内访问受限,1627个任务所需要的时间会有很大不同。

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

下面这张图就是编译完成后的界面

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

Atmel 开发板推荐:

  • ATSAMA5D36 评估套件  一款基于 ARM Cortex-A5 SAMA5D36嵌入式微处理器可运行Linux的微处理器设计开发板。
  • ATSAM4E-XPRO评估套件  一款用来评估ATSAM4E16E微控制器携带嵌入式调试器,拥有足够的外设接口的设计开发板。
  • SAM4E评估套件  一款基于ARM  Cortex-M4处理器的给具有高灵活性的各种各样的应用的评估解决方案。

9. 编译qt版本也是类似的操作步骤

首先,编辑conf/local.conf文件

vim conf/local.conf

在文件的最后添加下面两行

LICENSE_FLAGS_WHITELIST += "commercial"

SYSVINIT_ENABLED_GETTYS = ""

如图所示:

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

bitbake atmel-qt5-demo-image,开始下载qt5所需的代码包,并且编译

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

编译成功后,整个yocto目录占用了30G+

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

下载并使用编译的操作系统

编译好了操作系统,接下来就要开始下载系统到板子上

在http://www.atmel.com/tools/ATMELSAM-BAIN-SYSTEMPROGRAMMER.aspx 下载并安装SAM-BA工具。

硬件连接需要特别注意,笔者因为连接的问题折腾了好长时间。

MicroUSB要连接到J11(也就是中间的USB,这个USB除了供电外,就是用于SAM-BA下载程序)

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

接下来也是特别需要注意的地方,否则会下载不了程序:

在插上USB之前先把JP7用跳线帽短接

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

插上USB后,再把JP7打开

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

最后再打开SAM-BA软件,此时程序就能自动识别到J11这个USB的COM(每个人的COM编号可能不一样,不要执着于不一致)。

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

需要对上面的步骤作一下解释:

JP7是用来控制启动顺序的,打开的时候系统会从Nand或者串行的Flash启动,SAM-BA同样需要在JP7断开的时候才能下载程序到板子上。短接时候就是禁止系统就不会从板子上启动。

这个USB又有供电功能,如果一开始没有短接,那么系统直接启动,SAM-BA就无效了。

而SAM-BA下载程序同样需要JP7断开,因此在上电后断开JP7就可以用来下载程序了。

评测的时候我用一根USB-TTL接在板子方便查看信息。

Atmel 开发板推荐:

  • ATSAMA5D36 评估套件  一款基于 ARM Cortex-A5 SAMA5D36嵌入式微处理器可运行Linux的微处理器设计开发板。
  • ATSAM4E-XPRO评估套件  一款用来评估ATSAM4E16E微控制器携带嵌入式调试器,拥有足够的外设接口的设计开发板。
  • SAM4E评估套件  一款基于ARM  Cortex-M4处理器的给具有高灵活性的各种各样的应用的评估解决方案。

完成上面的步骤后,SAM-BA接管了板子。如下在打开的SAM-BA软件,选择NandFlash页,然后在Script菜单中,选择Enable NandFlash,然后Execute。

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

如同上面的步骤,执行Enable OS PMECC parameters

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

因为板子上原来就有程序,在刷写新的程序前,需要先擦除Flash,同上面的步骤类似,选择Erase All

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

接下来要开始程序下载步骤,开始之前先查看编译目录里的文件,里面混杂着qt5和mini core两次编译的输出文件

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

另一方面,也要注意NAND FLASH里的地址映射,避免刷写到错误的位置。

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

我也刷写之前先把要刷写的文件都列清楚,方便查找(每个人的编译日期不一样,文件名也会不一样)。

sama5d4_xplained-nandflashboot-uboot-3.8-alpha7.bin

0x00040000     u-boot-sama5d4-xplained-v2015.01-at91-r0.bin

0x00180000     zImage--3.18+git0+0a6f1113a2-r0-at91-sama5d4_xplained_hdmi-20151015094017.dtb

0x00200000     zImage--3.18+git0+0a6f1113a2-r0-sama5d4-xplained-20151015094017.bin

0x00800000     atmel-qt5-demo-image-sama5d4-xplained-20151016035957.rootfs.ubi

1. 烧写AT91Bootstrap引导文件,这次的方式有别于后面的步骤,需要注意

在Script选择Send Boot File,然后Execute后选择sama5d4_xplained-nandflashboot-uboot-3.8-alpha7.bin文件运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

2. 烧写U-Boot文件

此后的步骤不再使用Script里的命令,要注意。

  1. 找到u-boot-sama5d4-xplained-v2015.01-at91-r0.bin文件
  2. 地址写入0x00040000
  3. Send File

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

3. 烧写Linux dtb文件

  1. 选择zImage--3.18+git0+0a6f1113a2-r0-at91-sama5d4_xplained_hdmi-20151015094017.dtb文件,有几种可选的dtb,顾名思义有HDMI和PDA(RGB接口的屏幕)两种可选输出,可以按需要选择。运行yocto系统——SAMA5D4 Xplained Ultra评测(二)
  2. 地址0x00180000
  3. Send File

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

4. 烧写Linux Kernel文件

  1. 找到zImage--3.18+git0+0a6f1113a2-r0-sama5d4-xplained-20151015094017.bin文件
  2. 地址写入0x00200000
  3. Send File

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

5. 烧写rootfs UBI文件

  1. 找到atmel-qt5-demo-image-sama5d4-xplained-20151016035957.rootfs.ubi文件
  2. 地址写入0x00800000
  3. Send File

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

至此程序全部烧写成功。接下就可以拔插USB或者按复位按键来验证。

启动后可以看到明显的Yocto项目的提示运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

用root登录后,系统还是没有其它进程运行。

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

Atmel 开发板推荐:

  • ATSAMA5D36 评估套件  一款基于 ARM Cortex-A5 SAMA5D36嵌入式微处理器可运行Linux的微处理器设计开发板。
  • ATSAM4E-XPRO评估套件  一款用来评估ATSAM4E16E微控制器携带嵌入式调试器,拥有足够的外设接口的设计开发板。
  • SAM4E评估套件  一款基于ARM  Cortex-M4处理器的给具有高灵活性的各种各样的应用的评估解决方案。

原创申明:本文为爱板网原创,谢绝转载!

本文是接着上一篇评测继续,不熟悉的朋友可以先参考前一篇评测:性能再次提升——Atmel SAMA5D4 Xplained Ultra评测

SAMA5D4 yocto编译

Atmel官方为Atmel SAMA5D4 Xplained 提供了多个开发系统,Android,Windows 和Linux版本。Linux也用了可以采用自定制的Yocto。

此文以Ubuntu 14.04操作系统为主机,来编译SAMA5D4的Yocto Linux操作系统。

首先需要安装必须的编译工具:

sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib build-essential chrpath socat

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

接下来需要下载所需的代码,因为Yocto的代码不停在更新,Atmel的代码也在更新,会出现每个托管的代码可能不匹配。因此需要注意下载同一个fido分支。

先创建一个用于编译的文件夹yocto,

1. git下载poky代码,注意是fido分支

git clone git://git.yoctoproject.org/poky -b fido

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

2. git下载meta-openembedded代码

git clone git://git.openembedded.org/meta-openembedded -b fido

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

3. git下载meta-qt5代码

git clone git://github.com/meta-qt5/meta-qt5.git -b fido

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

4. git下载meta-atmel代码

git clone git://github.com/linux4sam/meta-atmel.git -b fido

运行yocto系统——SAMA5D4 Xplained Ultra评测(二)

Atmel 开发板推荐:

  • ATSAMA5D36 评估套件  一款基于 ARM Cortex-A5 SAMA5D36嵌入式微处理器可运行Linux的微处理器设计开发板。
  • ATSAM4E-XPRO评估套件  一款用来评估ATSAM4E16E微控制器携带嵌入式调试器,拥有足够的外设接口的设计开发板。
  • SAM4E评估套件  一款基于ARM  Cortex-M4处理器的给具有高灵活性的各种各样的应用的评估解决方案。

  • 运行yocto系统——SAMA5D4 Xplained Ultra评测(二)已关闭评论
    A+
发布日期:2019年07月03日  所属分类:参考设计