Having started at ARM about a week ago, I have been very excited to work on Juno, ARM's first 64-bit Development Platform.
Juno is aimed at accelerating the development of 64-bit software for the mobile and enterprise markets. Based on the ARMv8-A big.LITTLE™ architecture, Juno offers software developers an open, vendor neutral, reference platform for 64-bit software development. Interestingly, Linaro has also released an Android Open Source Project (AOSP) port for the 64-bit ARMv8-A architecture. The entire software stack for the platform is now available through Linaro. The software bundle includes ARM Trusted Firmware, Linux file systems and a Linux kernel (3.10) that can support both OpenEmbedded Linux and Android (AOSP) file systems.
Juno is aligned with the ARM® Server Base Architecture (SBSA), which means that developers can use the system for early access of porting and performance-tuning OS kernel or driver code to the 64-bit architecture, based on the ARM® Cortex®-A57 and ARM Cortex-A53 processors. This means Juno creates a common foundation for the software developers in the ARMv8 ecosystem and allows early access to the silicon. For the hardware vendors, Juno provides the entire ARMv8 IP portfolio working together in a big.LITTLE™ implementation, delivering high performance and low power consumption.
The timing of the platform release is important, as Google recently announced the details of the their "Android L", which would include a new Virtual Machine "ART" to support both 32 and 64-bit ARM architectures. The platform definitely aims to accelerate the time to market for future 64-bit ARM designs.
The Juno SoC was built by ARM with an aim to keep the implementation functionally correct so that it can be representative of a potential mobile platform. Therefore, like many development platforms, Juno isn't meant to deliver highest standards of performance or efficiency. It is meant
to enable software developers to port their applications to 64-bit ARMv8-A. Juno includes ARM's own Mali™-T624 graphics processor, the mobile-focused CCI-400, dual DDR3 memory controllers, and an ARM® Cortex® M3 System Control Processor that handles SoC-level power management and system control. Juno also offers SoC hardware expansion for customers wishing to implement their own custom RTL designs. This is enabled through the LogicTile design and Thin Links technology, which can be used to prototype custom CPU, GPU and peripheral designs. Lets have a quick look at Juno hardware specs:
ARM® Cortex®-A57 MP2 cluster
Speed: 1.1GHz (Overdrive)
Caches: L1 48KB I, 32KB D, L2 2MB
ARM® Cortex®-A53 MP4 cluster
Speed: 850MHz (Overdrive)
Caches: L1 32KB, L2 1MB
Speed: 600MHz
Caches: L2 128KB
8GB 1600MHz DDR,
64MB user NOR FLASH,
256KB SRAM in IOFPGA
VFS and power gating,
4 energy meters,
DMC-400 dual channel DDR3L interface,
Internal CCI-400, 128-bit, 533MHz
Internal NIC-400, 64-bit, 400MHz
DMAC : PL330, 128-bit
Static Memory Bus Interface : PL354
HDCLD dual video controllers: 1080p
AXI expansion to FPGA daughterboard
USB 2.0 with 4 port hub
ARM® JTAG : 20-way DIL box header
ARM® 32/16 bit parallel trace
ARM has been working closely with Linaro to provide a stable software stack that includes low-level firmware for runtime services and high-level file systems such as OpenEmbedded Linux and Android (AOSP).
Linaro 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. The entire software stack for Juno is available through the Linaro website.
Let's drill-down into the different software components:
MCC Microcontroller Firmware
Systems Control Processor (SCP) Firmware
Clearly, Juno offers software developers and system architects a robust product stack including cutting-edge hardware and software, which would serve as a firm baseline for testing future 64-bit ARM-based designs. It has received a lot of attention in the press. A simple Google News search on "Juno ARM 64-bit" would yield a number of blogs and news articles on the Juno platform, including details about the software stack provided by Linaro. Some of the top links are listed below.
ARM Unveils Juno Platform for 64-Bit Development
ARM arms devs for 64-bit push with 'Juno' board • The Register
ARM releases Juno dev platform for 64-bit computing - Software - News - HEXUS.net
ARM-Launches-New-Reference-Platform-For-64bit-Developers-Bakes-In-Linaro-Support
For support and queries around the Juno platform, contact: juno-support@arm.com
In order to get started with the Juno board, a detailed getting-started guide can be found here.
If you want to learn how you could get Android installed on Juno, watch the following TUTORIAL: Installing Android on Juno ARM Development Platform
Juno ARM Development Platform Technical Reference manual
Juno ARM Development Platform datasheet
Juno ARM Development Platform Technical Overview
Where can I buy the Juno ARMv8 Development Platform in Bangalore, India?