meta-atmel
. The source for this layer are hosted on Linux4SAM GitHub accountgit-lfs
to the package requirement list from whichever Linux distribution you use.
For instance, on Ubuntu or debian, these packages need to be installed on your development host:
sudo apt-get install gawk wget git-core git-lfs diffstat unzip texinfo gcc-multilib \ build-essential chrpath socat cpio python3 python3-pip python3-pexpect \ xz-utils debianutils iputils-ping python3-git python3-jinja2 libegl1-mesa libsdl1.2-dev \ pylint3 xterm
meta-atmel
layer. This file in the meta-atmel layer repository must be considered as the reference and the following copy can be out-of-sync.
Linux4SAM 2021.04
release, the meta-atmel
layer supports Yocto templates, so make sure you create a new build environment using oe-init-build-env
This layer provides support for Microchip microprocessors (aka AT91) ==================================================================== For more information about the Microchip MPU product line see: http://www.microchip.com/design-centers/32-bit-mpus Linux & Open Source on Microchip microprocessors: http://www.linux4sam.org Supported SoCs / MACHINE names ============================== Note that most of the machine names below, have a SD Card variant that can be built by adding an "-sd" suffix to the machine name. - SAMA5D2 product family / sama5d2-xplained, sama5d2-xplained-emmc, sama5d27-som1-ek-sd, sama5d27-som1-ek-optee-sd, sama5d2-ptc-ek, sama5d2-icp, sama5d27-wlsom1-ek-sd - 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 - SAM9X60 / sam9x60ek, sam9x60-curiosity - SAMA7G5 / sama7g5ek-sd, sama7g5ek-emmc, sama7g5ek-ospi Sources ======= - meta-atmel URI: https://github.com/linux4sam/meta-atmel.git Branch: kirkstone Dependencies ============ This Layer depends on : - poky URI: https://git.yoctoproject.org/poky Branch: kirkstone Tag:yocto-4.0.9 - meta-openembedded URI: https://git.openembedded.org/meta-openembedded Branch: kirkstone Tag/commit:df452d9d98659b49888fa8a5428a0a8bd3e3aaec - meta-arm (for optee components) URI: https://git.yoctoproject.org/meta-arm Branch: kirkstone Tag:yocto-4.0.1 Build procedure =============== 0/ Create a directory mkdir my_dir cd my_dir 1/ Clone yocto/poky git repository with the proper branch ready git clone https://git.yoctoproject.org/poky -b kirkstone 2/ Clone meta-openembedded git repository with the proper branch ready git clone https://git.openembedded.org/meta-openembedded -b kirkstone 3/ Clone meta-atmel layer with the proper branch ready git clone https://github.com/linux4sam/meta-atmel.git -b kirkstone 4/ Clone meta-arm layer with the proper branch ready git clone https://git.yoctoproject.org/meta-arm -b kirkstone 5/ Enter the poky directory to configure the build system and start the build process cd poky If not created yet, add a new "build-microchip" directory: mkdir build-microchip Else, if it's the first time you use Yocto Project templates, and if the build-microchip directory remains from a previous use, we advise you to start from a fresh directory. Keep your build-microchip/conf/local.conf file for reference. 6/ Inside the .templateconf file, you will need to modify the TEMPLATECONF variable to match the path to the meta-atmel layer "conf" directory: export TEMPLATECONF=${TEMPLATECONF:-../meta-atmel/conf} 7/ Initialize build directory source oe-init-build-env build-microchip 8/ To build a small image provided by Yocto Project: [MACHINE=] bitbake core-image-minimal Example for sama5d2-xplained-sd SD card image: MACHINE=sama5d2-xplained-sd bitbake core-image-minimal 9/ To build the microchip image with no graphics support: [MACHINE= ] bitbake microchip-headless-image Example for sama5d2-xplained-sd SD card image: MACHINE=sama5d2-xplained-sd bitbake microchip-headless-image 10/ To build the microchip image with graphics support (EGT): [MACHINE= ] bitbake microchip-graphics-image Example for sama5d2-xplained-sd SD card image: MACHINE=sama5d2-xplained-sd bitbake microchip-graphics-image Typical bitbake output ====================== Build Configuration: BB_VERSION = "2.0.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "arm-poky-linux-gnueabi" MACHINE = "sam9x60-curiosity-sd" DISTRO = "poky-atmel" DISTRO_VERSION = "4.0.9" TUNE_FEATURES = "arm armv5 thumb dsp" TARGET_FPU = "soft" meta meta-poky meta-yocto-bsp = "HEAD:09def309f91929f47c6cce386016ccb777bd2cfc" meta-oe meta-networking meta-webserver meta-python meta-initramfs = "kirkstone:df452d9d98659b49888fa8a5428a0a8bd3e3aaec" meta-atmel = "kirkstone:753a41158c0daa8db36b9b547e529ab0501ecd68" meta-multimedia = "kirkstone:df452d9d98659b49888fa8a5428a0a8bd3e3aaec" meta-arm meta-arm-toolchain = "kirkstone:bafd1d013c2470bcec123ba4eb8232ab879b2660" 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. Microchip Forum: https://www.microchip.com/forums/f542.aspx for some useful guidelines to be followed when submitting patches: http://www.openembedded.org/wiki/How_to_submit_a_patch_to_OpenEmbedded Maintainers: Hari Prasath G E Nicolas Ferre 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'
populate_sdk
.
bitbake -c populate_sdk microchip-graphics-imageor
bitbake -c populate_sdk microchip-headless-imageIt will produce a comprehensive SDK script (auto-extracting archive) available in the deployment directory: from the build directory it is usually located in
tmp/deploy/sdk
.tmp/deploy/sdk/poky-atmel-glibc-x86_64-microchip-graphics-image-cortexa5t2hf-neon-vfpv4-sama5d27-wlsom1-ek-sd-toolchain-4.0.9.sh
Kirkstone
branch of OpenEmbedded present in Linux4SAM 2022.10
:
$ ./poky-atmel-glibc-x86_64-microchip-graphics-image-cortexa5t2hf-neon-vfpv4-sama5d27-wlsom1-ek-sd-toolchain-4.0.9.sh Poky (Yocto Project Reference Distro) SDK installer version 4.0.9 ================================================================= Enter target directory for SDK (default: /opt/poky-atmel/4.0.9): You are about to install the SDK to "/opt/poky-atmel/4.0.9". Proceed [Y/n]? [sudo] password for dharma: Extracting SDK........................................................................................................................................................................................................................done Setting it up...done SDK has been successfully set up and is ready to be used. Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /opt/poky-atmel/4.0.9/environment-setup-cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi
cd /opt/poky-atmel/4.0.9/ source environment-setup-cortexa5t2hf-neon-vfpv4-poky-linux-gnueabiYou can check your new environment
export | less [...] declare -x AR="arm-poky-linux-gnueabi-ar" declare -x ARCH="arm" declare -x AS="arm-poky-linux-gnueabi-as " declare -x CC="arm-poky-linux-gnueabi-gcc -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a5 -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/opt/poky-atmel/4.0.9/sysroots/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi" declare -x CFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types " declare -x CONFIGURE_FLAGS="--target=arm-poky-linux-gnueabi --host=arm-poky-linux-gnueabi --build=x86_64-linux --with-libtool-sysroot=/opt/poky-atmel/4.0.9/sysroots/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi" declare -x CONFIG_SITE="/opt/poky-atmel/4.0.9/site-config-cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi" declare -x CPP="arm-poky-linux-gnueabi-gcc -E -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a5 -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/opt/poky-atmel/4.0.9/sysroots/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi" declare -x CROSS_COMPILE="arm-poky-linux-gnueabi-" declare -x CXX="arm-poky-linux-gnueabi-g++ -mthumb -mfpu=neon-vfpv4 -mfloat-abi=hard -mcpu=cortex-a5 -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/opt/poky-atmel/4.0.9/sysroots/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi" declare -x CXXFLAGS=" -O2 -pipe -g -feliminate-unused-debug-types " declare -x LD="arm-poky-linux-gnueabi-ld --sysroot=/opt/poky-atmel/4.0.9/sysroots/cortexa5t2hf-neon-vfpv4-poky-linux-gnueabi" declare -x LDFLAGS="-Wl,-O1 -Wl,--hash-style=gnu -Wl,--as-needed -Wl,-z,relro,-z,now" [...] declare -x OECORE_DISTRO_VERSION="4.0.9" [...]
$ source /opt/poky-atmel/4.0.9/environment-setup-armv5e-poky-linux-gnueabi $ git clone --recursive https://github.com/linux4sam/egt.git $ cd egt/ $ ./autogen.sh $ ./configure --host="arm" $ make
bitbake -c listtasks <package_name>You can use one of those tasks to have a fine grained control over the package building.
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Microchip® and others, are registered trademarks or trademarks of Microchip Technology Inc. and its subsidiaries.
Arm® and others are registered trademarks or trademarks of Arm Limited (or its affiliates). Other terms and product names may be trademarks of others.
Ideas, requests, contributions ? Connect to LinksToCommunities page.