Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
meta-ezynq
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
Elphel
meta-ezynq
Commits
4029c7c8
Commit
4029c7c8
authored
Oct 04, 2013
by
Oleg Dzhimiev
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
formatting
parent
87283f55
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
32 additions
and
84 deletions
+32
-84
README.md
README.md
+32
-84
No files found.
README.md
View file @
4029c7c8
meta-ezynq
# meta-ezynq
===========
***
This layer provides an unofficial support for Xilinx Zynq architecture
This layer provides an unofficial support for Xilinx Zynq architecture
as well as evaluation boards.
as well as evaluation boards.
ezynq-u-boot
creates bootable image without any extra proprietary tools required.
*ezynq-u-boot*
creates bootable image without any extra proprietary tools required.
It does not support secure boot functionality and loading the FPGA (PL) part
It does not support secure boot functionality and loading the FPGA (PL) part
with a bitstream - it is planned to do under the control of the operating system -
with a bitstream - it is planned to do under the control of the operating system -
if needed this feature can be implemented using u-boot...
if needed this feature can be implemented using u-boot...
***
## Supported boards/machines
Boards supported by this layer and sub-layers:
Supported Boards/Machines
*
**Avnet MicroZed (Zynq)**
=========================
***
## Dependencies
Boards Supported by this layer and sub-layers:
*
Avnet/Digilent MicroZed (Zynq)
Dependencies
============
This layer depends on:
This layer depends on:
URI: git://git.openembedded.org/bitbake
*
URI:
*git://git.openembedded.org/bitbake*
*
URI:
*git://git.openembedded.org/openembedded-core*
, layers: meta
URI: git://git.openembedded.org/openembedded-core
*
URI:
*git://github.com/MentorEmbedded/meta-sourcery.git*
, layers: meta-sourcery (for external toolchains only)
layers: meta
*
URI:
*git://github.com/Xilinx/u-boot-xlnx.git*
, branch=master-next
*
URI:
*git://git.code.sf.net/p/elphel/ezynq*
(for external toolchains only)
***
URI: git://github.com/MentorEmbedded/meta-sourcery.git
## Sub-layers
layers: meta-sourcery
URI: git://github.com/Xilinx/u-boot-xlnx.git;branch=master-next
URI: git://git.code.sf.net/p/elphel/ezynq
This repository contains the meta-ezynq layer as well as additional board
Sub-Layers
==========
This repository contains the meta-elphel layer as well as additional board
specific layers. Each of these board specific layers provide additional
specific layers. Each of these board specific layers provide additional
configuration for the associated board. Please refer to the associated README
configuration for the associated board. Please refer to the associated README
in each sub-layer for more details.
in each sub-layer for more details.
Note: sub-layers have no dependency between each other, all sub-layers can be
Note: sub-layers have no dependency between each other, all sub-layers can be
used at the same time without conflicts.
used at the same time without conflicts.
***
Build Instructions
## Build instructions
==================
The following instructions require a Poky installation (or equivalent).
The following instructions require a Poky installation (or equivalent).
Initialize a build using the
'oe-init-build-env'
script in Poky. Once
Initialize a build using the
*oe-init-build-env*
script in Poky. Once
initialized configure
bblayers.conf by adding the 'meta-elphel'
layer as
initialized configure
*bblayers.conf*
by adding the
*meta-ezynq*
layer as
well as any or all of the sub-layers of this repository, e.g.:
well as any or all of the sub-layers of this repository, e.g.:
meta-ezynq \
meta-ezynq \
meta-ezynq/meta-microzed \
meta-ezynq/meta-microzed \
To build a specific target BSP configure the associated machine in
local.conf
:
To build a specific target BSP configure the associated machine in
*local.conf*
:
(See associated sub-layers for available machines and additional details)
(See associated sub-layers for available machines and additional details)
MACHINE ?= "microzed"
MACHINE ?= "microzed"
...
@@ -66,58 +52,20 @@ Build U-Boot:
...
@@ -66,58 +52,20 @@ Build U-Boot:
$ bitbake ezynq-u-boot
$ bitbake ezynq-u-boot
Once complete the images for the target machine will be available in the output
Once complete the images for the target machine will be available in the output
directory
'tmp/deploy/images'
.
directory
*tmp/deploy/images*
.
Images generated:
Images generated:
*
boot.bin (fsbl is not required to boot)
Extra Output at 'build/tmp/work/.../ezynq-u-boot/${PV}_${PR}/git/u-boot-xlnx/':
*
**boot.bin**
(fsbl is not required to boot)
*
u-boot.html - configuration settings overview
*
u-boot.map - the bootloader's memory map
Extra output at
*build/tmp/work/.../ezynq-u-boot/${PV}_${PR}/git/u-boot-xlnx/*
:
*
u-boot - ELF file
Booting
*
**u-boot.html**
- configuration settings overview
=======
*
**u-boot.map**
- the bootloader's memory map
*
**u-boot**
- ELF file
***
## Booting
Please see the associated README for the target machine, located in the
Please see the associated README for the target machine, located in the
associated sub-layer.
associated sub-layer.
***
Configuring External Toolchain
\ No newline at end of file
==============================
In order to build with an external toolchain some additional configuration must
be set in the build environments local.conf. The 'meta-sourcery' layer must also
be setup in your bblayers.conf
First configure the use of an external toolchain, including the location to the
toolchain (this example is for a microblazeel toolchain, ensure that you insert
the relevant information for your target machine and target toolchain):
TCMODE = "external-csl"
CSL_TARGET_SYS_<machine name> = "microblazeel-xilinx-linux-gnu"
EXTERNAL_TOOLCHAIN = "<path to toolchain>/microblazeel-xilinx-linux-gnu"
EXTERNAL_TOOLCHAIN_SYSROOT = "<path to toolchain>/microblazeel-xilinx-linux-gnu/microblazeel-xilinx-linux-gnu/libc"
INSANE_SKIP_external-sourcery-toolchain-dev += "ldflags"
Additionally the preferred provider for various packages must be configured to
use the external toolchain:
PREFERRED_PROVIDER_linux-libc-headers = "external-sourcery-toolchain"
PREFERRED_PROVIDER_linux-libc-headers-dev = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-initial = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}gcc-intermediate = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}g++ = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}binutils = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-initial = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}compilerlibs = "external-sourcery-toolchain"
PREFERRED_PROVIDER_libgcc = "external-sourcery-toolchain"
PREFERRED_PROVIDER_eglibc = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/libc = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/libintl = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/libiconv = "external-sourcery-toolchain"
PREFERRED_PROVIDER_glibc-thread-db = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/linux-libc-headers = "external-sourcery-toolchain"
PREFERRED_PROVIDER_virtual/linux-libc-headers-dev = "external-sourcery-toolchain"
PREFERRED_PROVIDER_gdbserver = "external-sourcery-toolchain"
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment