ARM Launches Juno Reference Platform For 64-bit Android Development, Bakes In Linaro Support

One of the trickiest aspects to launching a major new platform update is the chicken and egg problem. Without any hardware to test on or take advantage of, developers are leery of committing to supporting new hardware features. Without software that takes advantage of new hardware capabilities, customers aren't willing to pay for new equipment. We normally think about this problem as strictly an end-user issue, but it actually pops up in multiple contexts -- it's tougher to sell chip designers on a major microarchitecture update if they can't experiment with the product first. Today, ARM is tackling the issue at the manufacturer and design level with a new development platform, codenamed Juno.

The Juno development platform combines several of ARM's most advanced technologies, including the ARMv8 instruction set, all on a single board. The product supports big.Little in an asymmetric configuration; each board ships with two Cortex-A57s, four Cortex-A53s, and a modest Mali T-624 core. The entire chip is tied together by a CCN-400 bus -- this isn't the most advanced interconnect block in ARM's stable, but it's a well-known and popular choice for connecting the various cores, GPU, and on-die functionality.

All this hardware needs an OS to run on -- which is why ARM is announcing a 64-bit port of Android as part of this new development board. By including AOSP support as well as additional hooks and features from Linaro, ARM wants Juno to be a sort-of one-stop shopping product for anyone who needs to test, prototype, or design a 64-bit product for the ARM ecosystem. The Android flavor that's coming over isn't an ancient port -- it's based on Linaro Stable Kernel 3.10 and compiled with GCC 4.9.  32-bit ports and OpenEmbedded ports will also be available.

At launch, Juno will support OpenGL-ES 3.0, on-chip thermal and power management, up to 8GB of RAM (12.8GB/s of bandwidth), an optional FPGA, and USB 2.0.  OpenCL 1.1 will be added in a future product update. The project is positioned as a joint ARM / Linaro launch with ARM handling the hardware and Linaro taking responsibility for the software stack -- including rolling out further optimizations and capabilities down the road. With Google having just announced Android L, ARM thinks its ahead of the curve on offering support for that initiative as well.

ARM's Juno Development Board

Why Does Anyone Need A Dev Board?

One thing I want to clarify is that these kinds of products don't come cheap. Nvidia turned heads earlier this year when they announced a Tegra K1 development board for just $192, but the vast majority of these types of specialty products are expensive  So why buy a chip from ARM when you could buy a device from Samsung, Nvidia, or Qualcomm and develop on that?

In some cases, in fact, that's exactly what you want to do -- but the point of buying into ARM's own product stack is that it gives you a neutral base point from which to work. Many ARM vendors do their own custom work, whether that means Qualcomm's custom CPU cores, Samsung's broken big.LITTLE functionality in the Exynos 5410, or Nvidia's unique Companion Core design. Toss in variations in I/O capability and onboard GPU, and it's difficult for any single SoC to offer a completely dependable standard ARM platform.

That's where Juno comes in. ARM hopes that by partnering with Linaro for software tools and heavy lifting it'll be able to offer developers and designers a robust product stack and a firm baseline for testing ARM-based products.