building for ZYNQ ZC702 SoC


Elvis Dowson
 

Hi Anup,

On Dec 12, 2012, at 7:32 PM, Anup Kini <akini@synapticon.com> wrote:

I could not find where the arm gcc was included in this build.
I was checking the build process and took the gcc.4.4.6 while building the core-image-minimal.

Hence i wanted to confirm if the arm-gcc can be integrated and steps to do it.
Two things to keep in mind here:

a. Yocto will generate a cross compiler for you. It will be called arm-poky-linux-gcc , and will be located in the poky/build/tmp/sysroots/x86_64-linux/usr/bin folder

This won't appear in your path, unless you explicitly specify it.

You can use this to build u-boot, the linux kernel and the root filesystem for the ZC702.

b. The cross compiler generated from yocto has some issues building the Xilinx SDK sources, for compiling the bsp and fsbl sources. Hence, you can use the default xilinx supplied compiler, which is already setup with Xilinx SDK, to build the bsp and fsbl binaries. You only need the Xilinx supplied gcc toolchain for these tasks, as well as for bare-metal applications using StandAlone OS or XilKernel.

For the rest, yocto gives you an easy way to build a fully working image for the ZC702.

Best regards,

Elvis Dowson


Anup Kini <akini@...>
 

Hi Elvis,

I could not find where the arm gcc was included in this build.
I was checking the build process and took the gcc.4.4.6 while building the core-image-minimal.

Hence i wanted to confirm if the arm-gcc can be integrated and steps to do it.


On 12 December 2012 16:18, Elvis Dowson <elvis.dowson@...> wrote:
Hi Anup,
                Atleast two people on the yocto mailing list have successfully built the toolchain and rootfile system for the ZC702, Philip Balister and myself, using the latest yocto master.

Here are a few steps:

01. Look up the Yocto Quick Start Guide to setup your Ubuntu 12.10 x86 64-bit host development environment.

02. Use Philip Balister's meta-zynq layer located here, and add it to your bblayer.conf file


$ gedit conf/bblayers.conf

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "5"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
  /tool/yocto/poky/meta \
  /tool/yocto/poky/meta-yocto \
  /tool/yocto/meta-openembedded/toolchain-layer \
  /tool/yocto/meta-zynq \
  "

03. Updated your yocto local.conf file as follows:

#
# Xilinx target board configuration.
# Set the target machine details
MACHINE ?= "zynq-zc702"
# Set Xilinx Platform Studio hardware project path
XILINX_BSP_PATH ?= "/project/xilinx-zc702"
# Set target board
XILINX_BOARD ?= "zc702"


04. Download the souces

$ cd /tool/yocto/poky
$ source oe-init-build-env build

### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Common targets are:
    core-image-minimal
    core-image-sato
    meta-toolchain
    meta-toolchain-sdk
    adt-installer
    meta-ide-support

You can also run generated qemu images with a command like 'runqemu qemux86'

$ bitbake -c fetchall core-image-minimal

Build Configuration:
BB_VERSION        = "1.16.0"
TARGET_ARCH       = "arm"
TARGET_OS         = "linux-gnueabi"
MACHINE           = "zynq-zc702"
DISTRO            = "poky"
DISTRO_VERSION    = "1.3+snapshot-20121025"
TUNE_FEATURES     = "armv7a vfp neon cortexa9"
TARGET_FPU        = "vfp-neon"
meta              
meta-yocto        = "master:33440ee70623394d06a4b214c2be10788cba6d08"
toolchain-layer   = "master:55855cd569fbff7182974ca08b1de8435bf0f597"
meta-zynq-balister = "master-xilinx-zc702-gcc-4.7:d168cea411034d1f1530e4eacf6eb3ce4affd1c8"

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks

05. Build the toolchain

$ cd /tool/yocto/poky
$ source oe-init-build-env build
$ bitbake meta-toolchain


06. Build the image

$ bitbake core-image-minimal

07. Use Xilinx PlanAhead 14.3 software design too to create your hardware design.

The only additional step you need to perform is to use the Xilinx PlanAhead software, to export you hardware to the Xilinx SDK, and use the SDK to generate and build the Zynq First Stage Bootloader (zynq_fsbl). After that, create a boot image by using the Xilinx tool menu option, and include the u-boot.elf, system.bit and zynq_fsbl.elf.

Use the scripts in XAPP792 to download the kernel and bootable image to the target using XMD. Or rename the u-boot.bin file to BOOT.bin, copy the uImage generated from the yocto build, and it should all work.

Best regards,

Elvis Dowson


On Dec 12, 2012, at 6:56 PM, Anup Kini <akini@...> wrote:

Hi all,

I am new to Yocto.
I am trying to build an environment with arm-gcc integrated since the ZYNQ board has ARM Cortex A9 ducal core on it.
Let me know if any one has tried something similar or some pointers on how i can proceed.



--
Anup Kini
Systems Engineer

Synapticon  |  Cyber-Physical System Solutions 

Direct:
+49 7335 / 186 999 17
Fax:
+49 7335 / 186 999 19
 
 

synapticon.com  |  @synapticon_co

Synapticon GmbH  |  Hohlbachweg 2  |  73344 Gruibingen, DE
Secretary +49 7335 / 186 999 0  |  General Manager: Nikolai Ensslen 
Registry Court Ulm HRB 725114  |  USt-ID DE271647127

This message and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. 
Please notify the sender immediately if you have received this e-mail by 
mistake and delete it from your system. 


_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto




--

Anup Kini
Systems Engineer


Synapticon  |  Cyber-Physical System Solutions 

Direct:

+49 7335 / 186 999 17

Fax:

+49 7335 / 186 999 19

 

 

synapticon.com  |  @synapticon_co

Synapticon GmbH  |  Hohlbachweg 2  |  73344 Gruibingen, DE
Secretary +49 7335 / 186 999 0  |  General Manager: Nikolai Ensslen 
Registry Court Ulm HRB 725114  |  USt-ID DE271647127

This message and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. 
Please notify the sender immediately if you have received this e-mail by 
mistake and delete it from your system. 



Elvis Dowson
 

Hi Anup,
                Atleast two people on the yocto mailing list have successfully built the toolchain and rootfile system for the ZC702, Philip Balister and myself, using the latest yocto master.

Here are a few steps:

01. Look up the Yocto Quick Start Guide to setup your Ubuntu 12.10 x86 64-bit host development environment.

02. Use Philip Balister's meta-zynq layer located here, and add it to your bblayer.conf file


$ gedit conf/bblayers.conf

# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "5"

BBPATH = "${TOPDIR}"
BBFILES ?= ""

BBLAYERS ?= " \
  /tool/yocto/poky/meta \
  /tool/yocto/poky/meta-yocto \
  /tool/yocto/meta-openembedded/toolchain-layer \
  /tool/yocto/meta-zynq \
  "

03. Updated your yocto local.conf file as follows:

#
# Xilinx target board configuration.
# Set the target machine details
MACHINE ?= "zynq-zc702"
# Set Xilinx Platform Studio hardware project path
XILINX_BSP_PATH ?= "/project/xilinx-zc702"
# Set target board
XILINX_BOARD ?= "zc702"


04. Download the souces

$ cd /tool/yocto/poky
$ source oe-init-build-env build

### Shell environment set up for builds. ###

You can now run 'bitbake <target>'

Common targets are:
    core-image-minimal
    core-image-sato
    meta-toolchain
    meta-toolchain-sdk
    adt-installer
    meta-ide-support

You can also run generated qemu images with a command like 'runqemu qemux86'

$ bitbake -c fetchall core-image-minimal

Build Configuration:
BB_VERSION        = "1.16.0"
TARGET_ARCH       = "arm"
TARGET_OS         = "linux-gnueabi"
MACHINE           = "zynq-zc702"
DISTRO            = "poky"
DISTRO_VERSION    = "1.3+snapshot-20121025"
TUNE_FEATURES     = "armv7a vfp neon cortexa9"
TARGET_FPU        = "vfp-neon"
meta              
meta-yocto        = "master:33440ee70623394d06a4b214c2be10788cba6d08"
toolchain-layer   = "master:55855cd569fbff7182974ca08b1de8435bf0f597"
meta-zynq-balister = "master-xilinx-zc702-gcc-4.7:d168cea411034d1f1530e4eacf6eb3ce4affd1c8"

NOTE: Resolving any missing task queue dependencies
NOTE: Preparing runqueue
NOTE: Executing SetScene Tasks
NOTE: Executing RunQueue Tasks

05. Build the toolchain

$ cd /tool/yocto/poky
$ source oe-init-build-env build
$ bitbake meta-toolchain


06. Build the image

$ bitbake core-image-minimal

07. Use Xilinx PlanAhead 14.3 software design too to create your hardware design.

The only additional step you need to perform is to use the Xilinx PlanAhead software, to export you hardware to the Xilinx SDK, and use the SDK to generate and build the Zynq First Stage Bootloader (zynq_fsbl). After that, create a boot image by using the Xilinx tool menu option, and include the u-boot.elf, system.bit and zynq_fsbl.elf.

Use the scripts in XAPP792 to download the kernel and bootable image to the target using XMD. Or rename the u-boot.bin file to BOOT.bin, copy the uImage generated from the yocto build, and it should all work.

Best regards,

Elvis Dowson


On Dec 12, 2012, at 6:56 PM, Anup Kini <akini@...> wrote:

Hi all,

I am new to Yocto.
I am trying to build an environment with arm-gcc integrated since the ZYNQ board has ARM Cortex A9 ducal core on it.
Let me know if any one has tried something similar or some pointers on how i can proceed.



--
Anup Kini
Systems Engineer

Synapticon  |  Cyber-Physical System Solutions 

Direct:
+49 7335 / 186 999 17
Fax:
+49 7335 / 186 999 19
 
 

synapticon.com  |  @synapticon_co

Synapticon GmbH  |  Hohlbachweg 2  |  73344 Gruibingen, DE
Secretary +49 7335 / 186 999 0  |  General Manager: Nikolai Ensslen 
Registry Court Ulm HRB 725114  |  USt-ID DE271647127

This message and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. 
Please notify the sender immediately if you have received this e-mail by 
mistake and delete it from your system. 


_______________________________________________
yocto mailing list
yocto@...
https://lists.yoctoproject.org/listinfo/yocto


Anup Kini <akini@...>
 

Hi all,

I am new to Yocto.
I am trying to build an environment with arm-gcc integrated since the ZYNQ board has ARM Cortex A9 ducal core on it.
Let me know if any one has tried something similar or some pointers on how i can proceed.



--

Anup Kini
Systems Engineer


Synapticon  |  Cyber-Physical System Solutions 

Direct:

+49 7335 / 186 999 17

Fax:

+49 7335 / 186 999 19

 

 

synapticon.com  |  @synapticon_co

Synapticon GmbH  |  Hohlbachweg 2  |  73344 Gruibingen, DE
Secretary +49 7335 / 186 999 0  |  General Manager: Nikolai Ensslen 
Registry Court Ulm HRB 725114  |  USt-ID DE271647127

This message and any files transmitted with it are confidential and intended 
solely for the use of the individual or entity to whom they are addressed. 
Please notify the sender immediately if you have received this e-mail by 
mistake and delete it from your system.