Archive

Posts Tagged ‘openembedded’

Free Electrons Publishes Yocto & OpenEmbedded Training Materials

November 2nd, 2014 1 comment

Free Electrons is a small (9 people) engineering company focusing on embedded Linux / Android, and open source software, which also happens to have ported several ARM SoC to the mainline kernel. From time to time, they also offer training sessions, and release course materials publicly. Their latest training is a 3-day course dealing with the Yocto Project and OpenEmbedded, using BeagbleBone Black development board for lab sessions, and all materials have been released under a Creative Commons license.

Yocto_Project_Training_MaterialsThe training consists in:

  • Understanding the Yocto Project
  • Using it to build a root filesystem and run it on your target
  • Writing and extending recipes
  • Creating layers
  • Integrating your board in a BSP
  • Creating custom images
  • Application development with an Eclipse SDK

Three files are released:

  • yocto-slides.pdf – Yocto Project and OpenEmbedded Training presentation slides (245 pages) give an overview of various build systems, before getting more details about the Yocto Project, and Poky distributions.
  • yocto-labs.pdf – Practical sessions with BeagleBone Black board and a Nunchuk (Wii Remote).
  • yocto-labs.tar.xz – Lab data consisting of a script, and a few patches

If you are interested in attending an actual training session, the company organizes a course in Toulouse, France on November 18-20, which costs 1690 Euros per attendee.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 14.10 Release with Kernel 3.17 and Android 4.4.4, Debian ARM64 Port Almost Complete

October 31st, 2014 No comments

Linaro 14.10 has just been released with Linux kernel 3.17 (baseline), Linux 3.10.54 & 3.14.19 (LSK, same versions as last month), and Android 4.4.2 & 4.4.4.

Most of the work is a continuation of previous months working member hardware, and ARM64, but one particularly interesting point is that 90% of Debian packages have been built for ARM64, and the next version of Debian should have an official ARM64 port.

Here are the highlights of this release:

  • Linux Linaro 3.17-2014.10
    • updated linaro-android topic. In particular, CONFIG_IPV6=y is no longer the requirement for linux-linaro tree builds
    • GATOR version 5.19 (same version as in 2014.08 release). gatord is fixed to build for ARMv8.
    • dropped multi_pmu_v2 topic by ARM LT (no longer used)
    • updated topic from Qualcomm LT (include IFC6410 board support)
    • replaced integration-linaro-vexpress topic by integration-linaro-vexpress64. Starting from 2014.10 release, linux-linaro kernel tree will use the mainline support for 32-bit vexpress boards. integration-linaro-vexpress64 carried over FVP Base and Foundation models, and Juno support from the integration-linaro-vexpress.
    • updated LLVM topic (uses llvmlinux-2014.10.01 branch – the most recent v3.17-based version of llvmlinux-latest)
    • dropped ARMv7 big endian topic(obsoleted; most of the patches are upstream)
    • added ILP32 patch set v3 with one minor build fix. (ILP32 vs LP64 data models)
    • config fragments changes – distribution.conf: CONFIG_IPV6=y replaced with CONFIG_IPV6=m
  • Linux Linaro LSK 2014.10:
    • The v3.14 based LSK based on kernel.org 3.14.19 stable tree
    • Updates to:
      • kernel.org 3.10.55 stable tree
      • Android support (from Google and Linaro)
      • ARMv8 fixes and performance enhancements
      • UEFI support
      • Mailbox framework
  • Linaro Toolchain Binaries 2014.10
    • based on GCC 4.9 and updated to latest Linaro TCWG releases (Linaro GCC 4.9-2014.10)
    • first release built with cbuild2, adding more maintainable code base and automatic testing
    • binary tarballs have been splitted into 3 parts. As a result, you can install only the parts needed:
      • gcc-linaro-*.tar.xz – the compiler and tools
      • runtime-linaro-*.tar.xz – runtime libraries needed on the target
      • sysroot-linaro-*.tar.xz – sysroot (a set of libraries and headers to develop against)
  • Linaro builds of AOSP 14.10
    • built with Linaro GCC 4.9-2014.10
    • AOSP master build for Juno is cleaned up. It now builds without any patches on AOSP projects. It builds by adding 9 projects to AOSP manifest related to device, kernel, toolchain and helper tools.
    • LSK Android testing issues are fixed for ARMv8 Fast Models
    • bc tool is added to ARMv8 Android Juno build
  • Linaro OpenEmbedded 2014.10
    • integrated Linaro GCC 4.9-2014.10
    • fixed shadow securetty for SBSA compatible UART
    • switched OpenJDK to upstream aarch64 hg repos
    • dropped mongodb from LAMP images
    • upstreaming:
      • updated acpica 20140828 release
      • updated acpitests 20140828 release
      • updated pm-qa to 0.4.14 release
      • added aarch64 support to libunwind
      • fixed PHP build warnings
  • Linaro Ubuntu 14.10 – Updated packages: Juno firmware 0.8.2, LSK 3.10.58/3.14.22 and linux-linaro 3.17 kernels, xf86-video-freedreno 1.3.0
  • Debian arm64 support is going very well. More than 90% of the packages are built. The effort is on track to get next Debian release with an officially supported arm64 architecture.
  • KVM CI loop on Juno is completed. The remaining work is happening on Xen CI loop.

You can visit https://wiki.linaro.org/Cycles/1410/Release for a list of known issues, and further release details about the LEB, LMB (Linaro Member Builds), and community builds, as well as Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 14.09 Release with Kernel 3.17 and Android 4.4.4

September 27th, 2014 No comments

Linaro 14.09 has just been released with Linux kernel 3.17-rc4 (baseline), Linux 3.10.54 & 3.14.19 (LSK), and Android 4.4.2 & 4.4.4.

Linaro has kept working on their member boards such as IFC6410 (Qualcomm), D01 (Huawei/Hisilicon), Ardnale (Samsung), and Juno (ARM). They’ve also announced they’ll change the tools to build GCC by using cbuild2 instead of cbuild1 for next release, and they’ve enabled a build with gcov (for code coverage analysis) which may mean they’ll work on reducing the kernel size by getting rid off unused code. I’ve also noticed the Arndale and Arndale Octa Ubuntu images are now based on Linux LSK with Mali GPU support since last month.

Here are the highlights of this release:

  • Linux Linaro 3.17-rc4-2014.09
    • GATOR version 5.19
    • updated topic from Qualcomm LT (ifc6410 board support) and HiSilicon LT
    • updated Versatile Express ARM64 support (FVP Base and Foundation models, Juno) from ARM LT.
    • updated Versatile Express patches from ARM LT
    • updated LLVM topic (follows the community llvmlinux-latest branch)
    • Big endian support (the 2014.05 topic version rebased to 3.17 kernel)
    • config fragments changes – added gcov config fragment, disabled DRM_EXYNOS_IOMMU to work around boot failure on Arndale
  • Linaro Toolchain Binaries 2014.09
    • based on GCC 4.9 and updated to latest Linaro TCWG releases: Linaro GCC 4.9-2014.09, Linaro binutils 2.24-2014.09, and Linaro GDB 7.8-2014.09.
    • This will be the last release done with cbuild1 and crosstool-ng. Next releases will be done with cbuild2. Official support for very old host environments will be dropped.
  • Linaro builds of AOSP 14.09 built with Linaro GCC 4.9-2014.09.
  • Linaro OpenEmbedded 2014.09
    • integrated Linaro GCC 4.9-2014.09, Linaro binutils 2.24-2014.09, integrated Linaro GDB 7.8-2014.09.
    • imported Linaro eglibc 2.19 into meta-linaro after OE-core switched to glibc 2.20
    • fixed shadow securetty for Qualcomm and STMicroelectronics SoCs
    • upstreaming – fixed libpng on aarch64 (neon symbol), updated PM QA to 0.4.14, updated libunwind to include aarch64 support
  • Linaro Ubuntu 14.09
    • added linux-tools (perf standalone, splitted from kernel build)
    • updated packages: Juno firmware 0.8.1, LSK 3.10.55/3.14.19 and linux-linaro 3.17-rc4 kernels.
  • A gcov enabled build has been added
  • Linaro builds of the Android NDK have been updated to current upstream sources and current Linaro toolchain component releases.
  • Standalone Android toolchain binary builds now use Linaro binutils for improved armv8 support.

You can visit https://wiki.linaro.org/Cycles/1409/Release for a list of known issues, and further release details about the LEB, LMB (Linaro Member Builds), and community builds, as well as Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 14.08 Release with Kernel 3.16 and Android 4.4.4

September 2nd, 2014 No comments

I’m a little late for that one, as Linaro 14.08 was released last Thursday. Nevertheless, this release features Linux kernel 3.16 (baseline), Linux 3.10.52 (LSK), and Android 4.4.4.

As usual Linaro has worked on member hardware such as Qualcomm based IFC6410 and ARM Juno &Vexpress boards. They’ve also committed changes for LLVM, big Endian, and added a workload generator tool (rt-app) to the Ubuntu and Android image. This tool has been developed and used by the power management working group, presumably to measure and optimize power consumption under various loads.

Here are the highlights of this release:

  • Linux Linaro 3.16-2014.08
    • GATOR version 5.19 (new version)
    • updated topic from Qualcomm LT (ifc6410 board support)
    • updated Versatile Express ARM64 support (FVP Base and Foundation models, Juno) from ARM LT (Landing Team)
    • updated Versatile Express patches from ARM LT
    • updated LLVM topic (follows the community llvmlinux-latest branch)
    • Big endian support (the 2014.05 topic version rebased to 3.16 kernel)
    • config fragments changes: CONFIG_DEBUG_INFO=y added to linaro-base.conf. This is needed to get the debug package containing vmlinux to be built, and vmlinux is required to run perf.
  • Linaro Toolchain Binaries 2014.08 – Based on GCC 4.9, and updated to latest Linaro TCWG releases:
    • Linaro GCC 4.9-2014.08
    • Linaro EGLIBC 2.19-2014.08
    • Linaro binutils 2.24-2014.08
    • Linaro GDB 7.8-2014.08
  • Linaro Android 14.08 – Built with Linaro GCC 4.9-2014.08
  • Linaro OpenEmbedded 2014.08
    • integrated Linaro GCC 4.9-2014.08, Linaro EGLIBC 2.19-2014.08, Linaro binutils 2.24-2014.08, and Linaro GDB 7.8-2014.08
    • added rt-app (contributed from Power Management WG)
    • updated GATOR to 5.19,  LSK kernels, and QEMU to 2.1.0
    • fixed boot wrapper build
    • upstreaming:
      • fixed kexec-tools
      • fixed udev startup script to fix mysql launch failure
      • updated PM QA to 0.4.12
      • fixed PHP build
      • fixed hugetlbfs
  • Linaro Ubuntu 14.08
    • added rt-app
    • updated packages: GATOR 5.19, LSK 3.10.52/3.14.16 and linux-linaro 3.16 kernels.
  • KVM ARMv8 Continuous Integration and Testing is completed
  • Make debug symbols available for Versatile Express ALIP image

You can visit https://wiki.linaro.org/Cycles/1408/Release for a list of known issues, and further release details about the LEB, LMB (Linaro Member Builds), and community builds, as well as Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Embedded Linux Conference Europe 2014 Schedule – IoT, ARM vs x86, Optimization, Power Management, Debugging…

August 21st, 2014 2 comments

The Embedded Linux Conference Europe (ELC 2014), CloudOpen, and LinuxCon Europe will jointly take place at the Congress Centre Düsseldorf, in Germany on October 13 – 15, 2014. The 3-day events will consists of keynotes, presentations, and tutorials. Each day will open with two or three keynotes by speakers including  Jim Zemlin (Executive Director, Linux Foundation), and Jono Bacon (XPRIZE), followed by presentation and tutorials. There will be 45 presentations for ELCE, 58 for LinuxCon, and 47 for CloudOpen, I’ll make a virtual schedule with a few sessions part of the Embedded Linux Conference Europe “track”.

ELCE_2014

Monday, October 13

When faced with a performance problem, the initial steps towards a solution include identifying the sections of code responsible and the precise reasons they are time-consuming. To this end, the ‘perf’ profiling tools provide valuable insight into the characteristics of a program. The presentation will show, using real-world examples, how the ‘perf’ tools can be used to pinpoint the parts of a program in need of optimization.

It’s not uncommon to produce embedded Linux based devices that end up with long and inconvenient boot times – yet eliminating boot time delays can be difficult and time consuming. Furthermore once a minimal boot time has been achieved it’s often just as difficult to maintain it through subsequent software development.

In this presentation, Andrew unfolds 12 keys lessons learned in his experience of boot time reduction. These lessons provide an insight into the common causes of boot time delays, why they are present and how they can be overcome. In describing these lessons Andrew will also take you on a journey that indicates why file system benchmarks should probably be ignored (with respect to boot time reduction) and a journey that illustrates that the Linux kernel is rarely the worst offender for boot delays.

With the introduction of Bluetooth Smart (aka Low Energy), the ubiquity of Bluetooth is more and more present. Millions of devices support Bluetooth Low Energy and with Bluetooth 4.1 specification, they are ready for the Internet of Things. This presentation will give an overview of Bluetooth Low Energy, and its usage for the Internet of Things. It will also introduce 6loWPAN over Bluetooth and show the possibilities this opens for Linux.

With experience developing community based open hardware for both the ARM based PandaBoard project and the x86 based MinnowBoard project, this presentation will provide a detailed comparison of the pros and cons of each platform with highlights of what each platform can learn from the other. Not only limited to the hardware aspect of the platforms, but also discuss community, software, corporate and general embedded aspects.

For almost as long as there have been deployments of Linux, there has been someone wondering “how can I get the device started quicker?” and “how do I configure some redundancy, easily, in case something goes wrong?”. And for the longest time, the answer has been “hack this and this and that” or “hire these consultants, they have done it before”. In this presentation, Tom will show what you need to turn on and the prep work required for, getting a lot of those items out of the box in U-Boot, what the hardware (and/or ROM) needs to do, and the what works is left going forward.

Got a question, comment, gripe, praise, or other communication for the Yocto Project and/or OpenEmbedded? Or maybe you’d just like to learn more about these projects and their influence on the world of embedded Linux? Feel free to join us for an informal BoF.

Tuesday, October 14

While user experiences are increasingly moving to 3D, rendering of 2D content remains at the core of how we interact with computer applications today. Skia is an open-source project maintained by Google whose goal is to bring the best 2D graphics library to a variety of targets, from mobile to desktop and embedded. Skia is used in highly popular projects like Mozilla Firefox, the Chromium browser and Android.

This talk will introduce Skia to developers and users, giving an overview of its design, architecture and features. It will also discuss briefly how hardware acceleration improves performance of Skia in the context of new devices, form-factors and the industry shift to mobile; with focus set on Linux and Android platforms.

The 4.4 KitKat release includes the results of “Project Svelte”: a set of tweaks to the operating system to make it run more easily on devices with around 512 MB RAM. This is especially important for people working with Android Wearables and “Embedded Android”, that is, implementing Android on devices at the lower end of the Android ecosystem. A large part of the problem is knowing how much RAM is really being used. Android offers a variety of tools for the purpose: procrank, procmem, meminfo and procstats, which Chris covers in the first part of the talk. In the second part, he takes a real-world example and show the practical steps you can take to optimize memory use including tuning the size of the Dalvik heap, enabling KSM (Kernel samepage merging) and swap to zRAM.

Android has relied from its early days on the Linux kernel for sandboxing the processes it runs. Yet, the permission model presented to app developers is significantly different from the Unix permission model. What’s the relationship between those two models? How is Android’s app security framework tied to the Linux kernel’s security model? More recently, Android has started using SELinux and has been extended by SEAndroid to support similar functionality. How is SELinux used by Android and what is SEAndroid about? Furthermore, how does Android provide support for multiple users?

This talk will explore Android’s security model in great detail and explain how the functionality found in the kernel is used to isolate user processes and the SE enhancements are leveraged by Android. As we’ll see, there are quite a few moving parts in Android’s security model.

Since last year, Free Electrons has been working on supporting the SoCs from Allwinner, a Chinese SoC vendor, in the mainline kernel. These SoCs are cheap, wide-spread, backed by a strong community and, until last year, only supported by an out-of-tree kernel. Through this talk, Maxime will share the status of this effort: the status a year ago, what solutions were in place, where we are currently, and what to expect from the future. He will also focus on the community around these SoCs, the work that is done there, etc.

Enlightenment Foundation Library is a set of libraries designed to use the full potential of any hardware to do great UI. It has been designed with the embedded devices in mind, but it is a desktop class toolkit. Being done in C, it is providing a stable API/ABI, high efficiency, low memory and low battery usage for all kind of Linux devices. Enabling development of modern UI adapted to any hardware that run Linux. These are the reason why Samsung uses it in its Tizen devices. This talk, after a short overview of what this libraries cover, will focus on this year improvement, and where it is heading. It will also be an opportunity to learn about project around EFL that will help people develop product with it. And it would also be a good opportunity to see where EFL are used with some real use case.

Wednesday, October 15

A major issue the community faces is the lack of power measurement (PM) instrumentation, coupled with poor integration: development boards not designed for it, expensive high-precision lab equipment not accessible to hobbyists (plus limited Linux support), limited low-cost solutions (precision, sampling rate) to monitor high-performance SoC (System On Chips) platforms (e.g. smartphones, tablets, IoT, …). After a brief introduction to the problematic (PM techniques, sense resistor / ADC selection, …) and a comparative study of existing solutions, this presentation will focus on a new upcoming initiative to close these gaps and bring a full-blown multi-channel but low-cost power (and temperature) measurement equipment to the community, including the definition of an open standard PM connector. After having covered motivations, challenges, key decisions, a live demo will close the talk.

In 2013, at the Embedded Linux Conference in Europe in Edinburgh, there was a race between a dog and a blimp. It was said that despite the dogs win, that the blimp had participated in the miracle of flight. In 2014, John wants to show that the brains of that dog can be transplanted and that it too, can participate in the miracle of flight. The talk is mainly targeting taking an off the shelf embedded platform, Minnowboard Max, and it’s use in UAVs, specifically quad-copters. With the ability to do real time computer vision, as well as various GPIO capabilities he will explore the directions that significantly more autonomous UAVs can take with Linux and embedded platforms using, mostly, off the shelf components.

There have been many presentations on what a device tree looks like and how to create a device tree. This talk instead examines how the Linux kernel uses a device tree. Topics include the kernel device tree framework, device creation, resource allocation, driver binding, and connecting objects. Troubleshooting will consider initialization, allocation, and binding ordering; kernel configuration; and driver problems.

Providing real-time capabilities to a general purpose operating system is an outstanding technical problem, and Linux Preempt-RT has been developed for 10 years for this goal. In this presentation, Jim proposes a lightweight open source para-virtualization layer, called “rtmux”, using resource-multiplexing techniques to provide a highly deterministic RT environment for Linux/ARM. Typically, less than 500 lines modification against Linux kernel are required to enable rtmux accompanied by POSIX/PSE51 compatible runtime.

During the last 2.5 years, a team of engineers at Free Electrons has been involved in mainlining the support for several ARM processors from Marvell, converting the not-so-great vendor-specific BSP into mainline quality code progressively merged upstream. This effort of several hundreds working days, has led to the integration of hundreds of patches in the kernel. Through this talk, Thomas will share some lessons learned regarding this mainlining effort, which could be useful to other engineers involved in ARM SoC support, as well as detail the steps Free Electrons engineers have gone through, the mistakes made and how they’ve been solved, as well as their overall experience on this project.

To make your own schedule matching your interests, you can check out the events’ program.

To attend the conference, you can register online.

The fees are listed as follows:

  • All-access Registration Fee – $600 until August 22 (tomorrow), $750 until October 2, and $850 afterwards
  • Attendee Networking Pass Registration – No access to conference sessions. $250 until August 22, $300 afterwards.
  • Student Registration Fee – $200 (valid student id required).
  • Registration Discount Scholar – $300. For active open source community members who can’t be sponsored by their company. .

Fees are significantly higher than last year, because there are only all-in-one (ELCE, CloudOpen and LinuxCon )options, and you can’t simply register to one single event.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro 14.07 Release with Linux Kernel 3.16 and Android 4.4

August 1st, 2014 No comments

Linaro 14.07 has just been released with Linux Kernel 3.16-rc6 (baseline), Linux Kernel 3.10.50 (LSK), and Android 4.4.4.

This month, Linaro has continued development on Juno 64-bit ARM development board, as well as other member boards from Broadcom (Capri), Qualcomm (IFC6410), Hisilicon D01, Samsung (Arndale / Arndale Octa), etc.. Android have been upgraded to version 4.4.4 with images released for Pandaboard, Arndale, Nexus 10, and Nexus 7, built with Linaro GCC 4.9.

Here are the highlights of this release:

  • Linux Linaro 3.16-rc6-2014.07 released
    • GATOR version 5.18 (same version as in 2014.04)
    • updated basic Capri board support from Broadcom LT. Good progress in upstreaming the code: now the topic has 21 patch on top of v3.16-rc4 vs 53 patches on top of v3.15 in 2014.06 cycle
    • removed cortex-strings-arm64 topic as the code is accepted into the mainline
    • new topic from Qualcomm LT to add IFC6410 board support
    • updated Versatile Express ARM64 support (FVP Base and Foundation models, Juno) from ARM LT. cpufreq support for Juno has been added.
    • updated Versatile Express patches from ARM LT
    • more HiP0x Cortex A15 family updates from HiSilicon LT
    • switched to mainline support for Arndale and Arndale-octa boards
    • updated llvm topic (follows the community llvmlinux-latest branch)
    • Big endian support (the 2014.05 topic version rebased to 3.16 kernel)
    • removed ftrace_audit topic as the code is accepted into the mainline
    • config fragments changes – added ifc6410.conf
  • Linaro Toolchain Binaries 2014.07 released – Based on GCC 4.9 and updated to latest Linaro TCWG releases:  Linaro GCC 4.9-2014.07 & Linaro binutils 2.24.0-2014.07
  • Linaro Android 14.07 released
    • built with Linaro GCC 4.9-2014.07
    • Pandaboard, Arndale, Nexus 10, Nexus 7 upgraded to Android 4.4.4.
    • LSK Engineering build moved back to 4.4.2.
    • Android LSK v3.14 CI loop added
  • Linaro OpenEmbedded 2014.07
    • Integrated Linaro GCC 4.9-2014.07
    • Integrated Linaro EGLIBC 2.19-2014.07
    • Integrated Linaro binutils 2.24.0-2014.07
    • Upstreaming:
      • fixes recipes related to oe-core autotools update
      • cleaned up overlayed recipes
      • updated PM QA to 0.4.12
  • Linaro Ubuntu 14.07 released
    • added gstreamer 1.0
    • updated packages: ARM trusted firmware (support latest FVP models), PM QA (0.4.12), LSK 3.10.49/3.14.13 and linux-linaro 3.16-rc6 kernels.
  • Integrate ARMv8 Big endian systems into LAVA and CI
  • Migrate Linaro Android builds to 4.9 Linaro toolchain
  • LSK: add ARMv8 kernel + arm32 rootfs CI loop
  • Package rt-app
  • LSK: enable member kernel configs for build testing

You can visit https://wiki.linaro.org/Cycles/1407/Release for a list of known issues, and further release details about the LEB, LMB (Linaro Member Builds), and community builds, as well as Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain components.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

Linaro Announces 64-bit ARM Android Port on Juno ARM Development Platform

July 3rd, 2014 2 comments

Last week, Linaro 14.06 was released and one of the highlights was Android booting on ARMv8 models, but the organization has actually ported Android to a new 64-bit ARM platform. Juno ARM Development Platform is actually software development platform for ARMv8-A, including Juno Versatile Express board and an ARMv8-A reference software port developed by Linaro.

Juno Versatile Express Board (Click to Enlarge)

Juno Versatile Express Board (Click to Enlarge)

Juno VExpress Board has the following key hardware features:

Juno SoC Block Diagram (Click to Enlarge)

Juno SoC Simplified Block Diagram (Click to Enlarge)

  • SoC – 2x ARM Cortex A57 cores @ 1.1 GHz (2MB L2 cache), 4x Cortex A53 cores @ 850 MHz (1MB L2 cache) in big.LITTLE configuration with Mali-T624 GPU @ 600 MHz. Compliant with SBSA specifications Level 1.
  • I/O FPGA – Xilinx SPARTAN-6
  • MCU – ARM Cortex M3 for Motherboard Configuration Controller (MCC)
  • System Memory – 8GB DDR3L @ 1600 MHz
  • Storage – User and configuration micro SD card lots, 64MB NOR flash, configuration EEPROM
  • Connectivity – 10/100M Ethernet + 10M “configuration” Ethernet
  • Video Output – 2x HDMI
  • USB – 4x USB 2.0 host port + “configuration USB”
  • Serial – 2x UART (1x DB9 interface)
  • Debugging – P-JTAG (Processor CoreSight debug) port, coresight trace port
  • Expansion – 2 headers (HDRX and HDRY) for LogicTile Express FPGA daughterboard
  • Misc – Push buttons, LEDs, energy monitors, etc…

The hardware enables development of ARMv8-A AArch64 kernel and tools, secure OS & hypervisors through ARM Trusted Firmware, 3D graphics and GPU compute with native big.LITTLE and Mali support, Middleware & file systems porting and optimization to 64-bit, and real-time debug, trace and performance tuning with CoreSight technology. Expansion is also provided with LogicTile Express 20MG FPGA board that connects directly to the platform and can be used for driver development and prototyping.

Juno Board Block Diagram (Click to Enlarge)

Juno Board Block Diagram

This type of board is not for everybody, and mostly reserved to silicon vendors, and people working on ARMv8 software development that can’t wait for actual silicon. Juno SoC is not optimized for performance (see relatively low frequencies) and most probably not for power consumption, it’s just to let people run and optimize software for ARMv8. The other reason it’s not for everyone is the price which should be several thousand dollars, and I would not be surprised if this board cost over $10,000, as older versatile express board sell for about $6,000. You can find more details on ARM’s Juno product page.

Linaro’s ARMv8 ports are based on Linux kernel 3.10 (Linaro Stable Kernel), and compiled with GCC 4.9 and can run both Juno and ARMv8 fast models. You can download ARMv8 ports for OpenEmbedded and Android Open Source Project (AOSP).

The OpenEmbedded ARMv8 release supports on-chip USB, non-secure UART, HDMI output, keyboard and mouse functionality of P/S2, and Ethernet. The big.LITTLE multiprocessing implementation supports all 6 cores (optimizations still required), boot is done via UEFI using the NOR flash, USB mass storage, or Ethernet, ARM trusted firmware and SCP firmware are both supported.

The Android ARMv8 release supports all OpenEmbedded features, and comes with a unified kernel and kernel config for Android and Linux, and the AOSP file system based on a snapshot from the 1st of June 2014, with ART Runtime enabled as default and booting in 64-bit primary mode, GPU and HDLCD support, although there are still some bugs leading to visual artifacts.

In theory, it should be possible to run Android or OpenEmbedded ARMv8 ports on any computers using ARMv8 fast models, but be prepared to be very very patient. I won’t try it…

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter