Skip to content

OpenEmbedded/Yocto layer for for Atmel AT91SAM SoC

License

Notifications You must be signed in to change notification settings

evensonbryan/meta-atmel

 
 

Repository files navigation

This layer provides support for Atmel | SMART microprocessors (aka AT91)
========================================================================

For more information about the Atmel | SMART product line see:
http://www.atmel.com/products/microcontrollers/arm/
Linux & Open Source on Atmel | SMART:
http://www.linux4sam.org


Supported SoCs / MACHINE names
==============================
- SAMA5D4 product family / sama5d4ek, sama5d4-xplained
- SAMA5D3 product family / sama5d3xek, sama5d3-xplained
- AT91SAM9x5 product family (AT91SAM9G15, AT91SAM9G25, AT91SAM9X25, AT91SAM9G35 and AT91SAM9X35) / at91sam9x5ek
- AT91SAM9RL / at91sam9rlek
- AT91SAM9G45 / at91sam9m10g45ek


Sources
=======
- meta-atmel
URI: git://github.com/linux4sam/meta-atmel.git
URI: https://github.com/linux4sam/meta-atmel.git
Branch: dizzy


Dependencies
============
This Layer depends on :
- meta-openembedded
URI: git://git.openembedded.org/meta-openembedded
URI: http://cgit.openembedded.org/meta-openembedded/
Branch: dizzy (tested with commit ID: 6413cdb66acf43059f94d0076ec9b8ad6a475b35)

Optionally:
- meta-qt5
URI: git://github.com/meta-qt5/meta-qt5.git
URI: https://github.com/meta-qt5/meta-qt5
Branch: master (tested with commit ID: 22c431e7a1fa525c75bf1fa48c82d01955001350)


Build procedure
===============

1/ Clone yocto/poky git repository
git clone git://git.yoctoproject.org/poky

2/ Checkout dizzy branch
cd poky
git checkout origin/dizzy -b my_branch

3/ Clone meta-openembedded git repository
git clone git://git.openembedded.org/meta-openembedded

4/ Checkout proper meta-openembedded branch
cd meta-openembedded
git checkout origin/dizzy -b my_branch
# come back to the "poky" directory for next steps
cd ..

5/ Clone meta-qt5 git repository
git clone git://github.com/meta-qt5/meta-qt5.git

6/ Checkout proper meta-qt5 branch
cd meta-qt5
git checkout origin/master -b my_branch
# come back to the "poky" directory for next steps
cd ..

7/ Clone meta-atmel layer
git clone git://github.com/linux4sam/meta-atmel.git meta-atmel

8/ Checkout proper meta-atmel branch
cd meta-atmel
git checkout origin/dizzy -b my_branch
# come back to the "poky" directory for next steps
cd ..

9/ Initialize build directory
source oe-init-build-env build-atmel

10/ Add meta-atmel layer patch to bblayer configuration file
vim conf/bblayers.conf

# 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}/meta \
  ${BSPDIR}/meta-yocto \
  ${BSPDIR}/meta-yocto-bsp \
  ${BSPDIR}/meta-openembedded/meta-oe \
  ${BSPDIR}/meta-openembedded/meta-networking \
  ${BSPDIR}/meta-openembedded/meta-python \
  ${BSPDIR}/meta-openembedded/meta-ruby \
  "

11/ Edit local.conf to specify the machine, location of source archived, package type (rpm, deb or ipk)
vim conf/local.conf
[...]
MACHINE ??= "sama5d4ek"
[...]
DL_DIR ?= "your_download_directory_path"
[...]
PACKAGE_CLASSES ?= "package_ipk"

Here are the machines that are supported:
MACHINE ??= "at91sam9rlek"
MACHINE ??= "at91sam9m10g45ek"
MACHINE ??= "at91sam9x5ek"
MACHINE ??= "sama5d3xek"
MACHINE ??= "sama5d3-xplained"
MACHINE ??= "sama5d4ek"
MACHINE ??= "sama5d4-xplained"

To get better performance, use the poky-atmel distribution by also adding that
line:
DISTRO = "poky-atmel"

12/ Build core minimal image
bitbake core-image-minimal

13/ We found that additional local.conf changes are needed for our QT demo
image. You can add these two lines at the end of the file:
vim conf/local.conf
[...]
LICENSE_FLAGS_WHITELIST += "commercial"
SYSVINIT_ENABLED_GETTYS = ""

14/ Build Atmel demo images
bitbake atmel-qt5-demo-image


Typical bitbake output
======================
Build Configuration:
BB_VERSION        = "1.24.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "Ubuntu-12.04"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "sama5d4-xplained"
DISTRO            = "poky-atmel"
DISTRO_VERSION    = "1.7.1"
TUNE_FEATURES     = "arm armv7a vfp thumb neon callconvention-hard cortexa5"
TARGET_FPU        = "vfp-neon"
meta-atmel        = "master:c4f3f1a33c008d26d1a7cd58a025be4ec2af14a1"
meta-qt5          = "master:7a65ba6089560efdd840a9590684c24fbcdb7818"
meta
meta-yocto
meta-yocto-bsp    = "dizzy:6e9632e9798d78587c9317554c5547ab3b53837c"
meta-oe
meta-networking
meta-python
meta-ruby
meta-multimedia   = "dizzy:6413cdb66acf43059f94d0076ec9b8ad6a475b35"


Contributing
============
To contribute to this layer you should submit the patches for review to:
the github pull-request facility directly or the forum. Anyway, don't forget to
Cc the maintainers.

AT91 Forum:
http://www.at91.com/discussions/

for some useful guidelines to be followed when submitting patches:
http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded

Maintainers:
Nicolas Ferre <[email protected]>
Patrice Vilchez <[email protected]>

When creating patches insert the [meta-atmel] tag in the subject, for example
use something like:
git format-patch -s --subject-prefix='meta-atmel][PATCH' <origin>

About

OpenEmbedded/Yocto layer for for Atmel AT91SAM SoC

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • BitBake 97.5%
  • Shell 2.5%