Archive

Posts Tagged ‘aosp’

LeMaker HiKey 96Boards Board Sells for $29.70 (Promo)

November 29th, 2016 18 comments

[Update: The promo is over back!]

You’d think Cyber Monday should be over by now, but ITEAD Studio still has a clearance with real 70% discount, as 96Boards hardware compliant LeMaker Hikey board is now sold for just $29.70 instead of the usual $99 price.

96boards-discountA quick reminder of the specifications:

  • SoC – HiSilicon Kirin 620 octa core Cortex A53 processor @ 1.2 GHz with ARM Mali-450MP4 GPU
  • System Memory – 2 GB LPDDR3 @ 800 MHz
  • Storage – 8GB eMMC + micro SD slot
  • Video Output / Display – HDMI up to 1080p, MIPI-DSI interface
  • Connectivity – 802.11 a/b/g/n Wi-Fi, Bluetooth 4.1 LE (WL1835MOD module)
  • USB – 2x USB 2.0 host ports, 1x micro USB OTG
  • Camera – MIPI CSI interface
  • Debugging – UART header), unpopulated 10-pin JTAG header (back)
  • Expansion headers
    • 40-pin LS (Low Speed) Expansion connector – UART, I2C, 12x GPIOs, SPI, PCM, PWM, SYS_DCIN, 1.8V, 5V, and GND,
    • 60-pin HS (High Speed) Expansion connector – SDIO, MIPI_DSI, MIPI_CSI, I2C, USB 2
  • Misc – Power button, jumper for power/boot/user, LEDs for Wi-Fi/Bt, and 4x User LED
  • Power Supply – 8-18V @ 3A as per 96Boards specs via 4.5/1.7mm power jack. Hi6553V100 PMU
  • Dimensions – 85 x 55 mm

You’ll be able to run Android and Debian images provided by Linaro. The board is also one the rare development board to be officially supported by AOSP.

You may also be interested in LeMaker Guitar quad core ARM Cortex A9 board sold for $13.50 with 1GB RAM.

Thanks to Nanik for the tip.

$79 HiSilicon Poplar is the First 96Boards TV Platform Compliant Board

August 30th, 2016 32 comments

At the end of last month I wrote about 96Boards TV Platform specifications, and noticed Hisilicon had one such boards, but details were sparse. Linaro has now officially unveiled HiSilicon Poplar board, the first 96Boards TV Platform board, sold for $79 + shipping on Aliexpress.

Click to Enlarge

Click to Enlarge

Poplar board specifications:

  • SoC – HiSilicon Hi3798C V200 quad-core 64-bit ARM Cortex-A53 CPU up to 2.0 GHz per core with ARM Mali-T720 GPU supporting OpenGL ES 3.1/3.0/2.0/1.1/1.0, OpenVG 1.1, OpenCL 1.2/1.1 Full Profile, RenderScript, and Microsoft DirectX 11 FL9_3
  • Memory – 1 or 2 GB DDR3 (Specs are conflicting depending where you look)
  • Storage – 8GB eMMC flash + micro SD card slot
  • Video Output – HDMI 2.0a with HDCP 2.2 up to 4K @ 60Hz
  • Video Decoding – H.265/HEVC Main/Main10 and VP9 up to 4K @ 60 fps
  • Audio Output – HDMI, optical S/PDIF, 3.5mm audio jack
  • Connectivity – Gigabit Ethernet, 802.11 b/g/n/ac WiFi and Bluetooth
  • USB – 1x USB 3.0 port, 2xUSB 2.0 host ports, 1x micro USB OTG port for console
  • Expansion
    • 40-pin Low Speed (LS) connector with UART, SPI, I2S, 2x I2C, 12x GPIO
    • 1x PCIe 2.0 interface
    • 12-pin Smart Card connector (unpopulated)
    • 24-pin connector for tuner (unpopulated)
  • Debugging – 1x JTAG port, 1x UART connector
  • Misc – IR receiver, boot selection jumper, LEDs, power button
  • Security – ARM Trustzone, trusted execution environment, secure boot, secure storage, secure video path, DRM, DCAS
  • Power Supply – 12V / 2A
  • Dimensions – 160 x 120 mm (96Boards TV platform specs)
  • Temperature Range – 0°C to +70°C

Hisilicon Hi3798C V200 is quite an interesting processor with many high speed and media interfaces, and while they used most of them, they did not leverage support for SATA. Luckily, there’s still USB 3.0 and PCIe if you need faster storage.

Hi3798C V200 Block Diagram - Click to Enlarge

Hi3798C V200 Block Diagram – Click to Enlarge

The board is sold with Android 5.1.1, but it will be the main development platform of Linaro Digital Home Group which aims “to continue creating optimized, high-performance secure media solutions for ARM on both Linux- and Android-based platforms. Licensees of the RDK (Linux) will be able to create Open Embedded/Yocto RDK builds for Poplar. The Poplar board will also serve as a common development platform for Android TV (AOSP) as well as for TVOS-based STB solutions used in China.”

In the meantime, you may find some information on Tocoding Poplar page, or access directly the hardware user manual. Eventually, 96Boards Poplar page will be a good place to look.

96Boards Hikey Development Board is Now Officially Supported in AOSP

March 11th, 2016 2 comments

Hikey is a one of the first 96Boards compliant development board manufactured by either LeMaker in China and CircuitCo in the US, and while the hardware requirements of 96Boards specifications are rather easy to meet, the software requirements including “bootloader (open source), accelerated graphics support (binary or open source), a Linux kernel buildable from source code based from mainline, or the latest Google-supported Android kernel version” are much harder to comply with. Linaro had a very good news for Linaro Connect Bangkok as they announced Hikey board was supported in Android Open Source Project (AOSP).

Lemaker_Hikey_Android_Open_Source_ProjectSo that means Hikey board will run the latest version of Android like Google Nexus devices, with the advantage of also getting more recent devices.

If you want to build an Android image from AOSP just retrieve the source code:

Grab & extract vendors binaries for Hikey from Google.com. and complete the build:

And you can find the instructions to load the resulting image to the board on Android.com Devices page.

If you are interested in finding out how Linaro managed to do this feat, and what kind of challenges they had to overcome, you may want to watch Linaro Connect “HiKey and AOSP collaborative experience” presentation.

You can also download the presentation slides for a quick look. Some interesting tidbits in the talk include that Google plans to use Linaro’s Linux 4.4 experimental tree, and Rockchip is also working on doing porting some hardware to AOSP.

Linaro Connect 2016 Bangkok Schedule – March 7-11, 2016

February 15th, 2016 No comments

Linaro Connect Bangkok (BKK16) will take place on March  7 – 11, 2016, and the schedule is now available for the 5-day event with keynotes and sessions. Whether you’re going to attend or not, it’s always interesting to check the schedule to find out what’s going on in terms of ARM Linux development.

Linaro_Connect_2016The five days will focus on work by different Linaro groups, but really sessions are mixed for any given day, and I’ve created a virtual schedule for each day with available information, as Linaro has become a little more closed to the outside than when it was launched a few years ago.

Monday 7 – LITE (Linaro IoT & Embedded Group)

  • 1400 – 14:50 – Evolution of the Reference Software Platform Project

The Reference Software Platform lead project was introduced in Linaro Connect San Francisco 2015, and since then it evolved and matured with the completion of the first tree big milestones (the 15.10, 15.12 and 16.03 releases). This session will revisit the work done as part of the previous releases, covering the projects that were incorporated through the process and our vision for the future milestones.

  • 15:00 – 15:50 – Budget Fair Queueing heuristics in the block layer 

The Budget Fair Queue (BFQ) I/O scheduler in the Linux block layer is a new heuristic approach to improving user-perceived latencies in block accessible media such as hard disks, SSD and (e)MMC and SD cards. Linaro is investing and helping in pushing this development ahead. The session describes what the BFQ patch set does and how.

  • – A Gentle Introduction to Trusted Execution and OP-TEE

Smart connected devices such as mobile phones, tablets and Digital TVs are required to handle data with strong security and confidentiality requirements. A “Trusted Execution Environment” (TEE) provides an environment for processing data securely, protected from normal platform applications. This talk is intended as an introduction to Trusted Execution, and the open-source Trusted Execution Environment OP-TEE in particular. It introduces the GlobalPlatform TEE Specifications, explains how Trusted Execution is implemented by ARM TrustZone and OP-TEE, and outlines how trusted boot software manages the secure boot of an ARM platform. Finally, it gives some pointers on how to get started with OP-TEE.

Tuesday 8 – LHG & LMG (Linaro Digital Home Group and MObile Group)

  • – PlayReady OPTEE Integration with Secure Video Path

This presentation provides a current view of the Security work performed in LHG. The focus is on hardware protected DRM integrated with OP TEE, creation of a Secure Data Path coupled with the Open Content Decryption Module, and the lessons learned from integrating third party libraries into trusted applications.

  • AOSP RAM reduction project retrospective

The Goal: Reduce AOSP memory requirements without hurting performance too badly.

What was tried:

  • Update toolchains
  • Make use of new features in updated toolchains
  • Split libraries into smaller parts
  • Tweak settings
  • Replace the memory allocator
  • Chromium with V4L2 playback – is it ready today?

This BOF session will analyze architectural challenges migrating Chromium from the desktop to embedded devices. The impacts of different GPU libraries with their respective limitations will be discussed. We welcome audience participation in an open discussion on the V4L2 adaptation in Chromium.

  • – What’s broken on ARM64?

The arm64 port is now in pretty good shape with most things ported and built in distros. However we know that there is plenty of software that is not optimised and some may not actually work at all. Please come along and moan about anything you have found which doesn’t work as well on arm64 as it does on x86. We (Linaro, ARM and Debian) want your feedback on where to direct effort next.

  • How to generate power models for EAS and IPA (without talking to a hardware engineer)

Generating a specific power model for the platform is a pre-requirement for deploying EAS (Energy Aware Scheduler) and IPA (Intelligent Power Allocation). This makes understanding power models and how to generate parameters for them a useful skill. In this session we demonstrate how to use workload automation to gather power data from a board. We will then describe how to derive rough values for the EAS and IPA power models using nothing but this easily observable data. We will not rely on any information provided by OEM or SoC vendor.

  • – Upstreaming 201

This session is an advanced course on Linux kernel upstreaming fundamentals. The course covers how the arm-soc kernel tree is maintained and why that is important to ARM Linux kernel developers. The focus of the course is the explanation of the detailed mechanics of creating and posting patch series to upstream mailing lists for several common cases. Annotated session content is made up of previously upstreamed ARM support captured from emails to the kernel mailing lists. The target audience is both software engineers and engineering managers preparing to upstream software into the kernel. The topic requires a solid background in software configuration management terminology and the git SCM tool as well as a good technical understanding of the Linux kernel itself.

Wednesday 9 – LEG (Linaro Enterprise Group)

This presentation provides the background for the requirements of the latest 96Boards TV Platform specification. It describes the range of set-top features that can be delivered and focuses on the key software and firmware support.

  • ARMv8 Server Lab Users BoF

The ARMv8 Server Lab has been up and running for more than a year since the inception in the late Fall of 2014 and helped continuously those who need server-grade hardware to verify their software, from the kernel to user applications. In this BoF at BKK16, the Server Lab users get together for the first time to review what we have accomplished so far and share knowledge obtained from our experiences in the Lab. Constructive feedback from the users should shape the direction of the Lab in the coming months of 2016. The BoF structure is as follows: possibly a few short talks from the users, 10-15 minutes each, will be given after the introductory address of the status of the Lab from the managers, followed by a discussion between the attendees.

  • – ILP32 Performance on AArch64

ILP32 is a programming model that may be useful on AArch64 systems for performance and also for legacy code with 32-bit data size assumptions. We combined ILP32 support from upstream projects with the LEAP distribution to enable experimentation with this model. This talk discusses the relative benchmark performance of the LP64 and ILP32 programming models under AArch64.

  • The tool called Auto-Tuned Optimization System (ATOS)

ATOS is an Auto Tuning Optimization System that is able to find automatically the best performance/size tradeoff from a build system and a training application. The input of ATOS tools are a build command and a run command. From the build command, ATOS will infer an internal build configuration that it will run with different sets of compiler options. These build configurations are executed with the run command from which code size and performance will be extracted.

From the set of build configurations that ATOS explores, one can extract the preferred trade-off between code size and performance. The extracted build configuration can be archived and replayed later in order to generate the optimized executable without any modification into the initial build system.

The nice property of ATOS is that NO modification of the sources or the makefiles are needed. ATOS can work on any large/deep project, as soon as the compiler used is gcc or LLVM under Linux.

  • – Integrating and controlling embedded devices in LAVA

Previous introductory tutorials on LAVA have focused on virtual platforms. This is an end-to-end tutorial as a basis to evaluate LAVA with one or more embedded targets using U-Boot. It integrates both a physical bootloader device with a stand-alone installation of LAVA, along with a simple PDU for target power control which is based on off-the-shelf Arduino components and fully integrated with pdudaemon. It covers device requirements, device configuration for 32- and 64-bit platforms, use of lavatool, tftp, pduclient and logging via the LAVA web interface and /var.

  • – ARMv8 Firmware Mini-Summit

Current state of ACPI on ARM
Support/backing for a longer term organization:  mailing lists ([email protected]), web sites, further meetings…
Use of _DSD device properties
Follow-up on others items from the last meeting (mostly promised documents).

Thursday 10 – LNG (Linaro Networking Group)

  • – Android HAL Consolidation Status

Update on progress and discuss next steps on Android HAL consolidation Lead Project

  • Applications on ODP

Session discussion on various opensource applications on ODP and their implementations. Applications to be discussed include NGiNX, TRex, OFP

  • – Device Tree Standardization

Announcement of the process to update the old specs and kernel documentation into a new Device Tree Specification

  • – Workspace setup tips and tricks 

The complexity of the tools and working environments is very high in IT area, especially in software engineering field. Thanks to Linux’s freedom of choice and flexibility it gets even higher. Due to the amount of time needed for learning all those bits of technology, it is not practically possible to set up an ideal workspace without talking to others and learning the results of their research. So, let’s come together and discuss hardware/software setups for our workspaces and learn from each other.

Friday 11 – 96Boards and Community

  • – Kernel and bootloader consolidation and upstreaming

An update to the state of reference platform kernel and bootloader and a discussion about the patch-inclusion policy. We’ll also cover roadmap plans. Participation is invited if you have ideas on how we can make it easy to use the reference platform kernel for your development projects.

  • 96Boards mezzanine hardware ecosystem

An overview of the work being done to support the mezzanine hardware ecosystem. Will cover the tools available, the boards that have already been created, and materials provided to support mezzanine board designers.

Materials require having registered to Linaro Connect BKK16, but several PDF slides have been uploaded to Linaro slideshare, you can get a peak if one subject interests you.

Anybody can attend, but you’ll need to purchase tickets ranging from 500 GBP ($726) for one day to 1,600 GBP ($2323) for the full week, unless you are a student,work in academia, or open source projects connected with ARM development, in which case you may get a free ticket.

Linaro Releases the First (Alpha) Version of the 96Boards Reference Software Platform

November 9th, 2015 13 comments

Linaro’s 96Boards initiative was launched at the beginning of the year with Hikey board, and beside the hardware specifications, 96Boards also has some software requirements that include support for “bootloader (open source), accelerated graphics support (binary or open source), a Linux kernel buildable from source code based from mainline, or the latest Google-supported Android kernel version, or the last two LTS kernels, and one of more of the following operating systems: Android, Debian/Ubuntu, Fedora/Red Hat, or an OpenEmbedded/Yocto build of a Linux distribution”.

Click to Enlarge

Click to Enlarge

In order to achieve this goal, Linaro introduced the Reference Software Platform for 96Boards, and they’ve now pushed the first Alpha release for Hikey and DragonBoard 410c boards. The release includes a bootloader, the Linux kernel, Debian and AOSP with firmware, source code, and documentation.

Some highlights of the Reference Software Platform 15.10 Alpha release include:

  • CE Debian RPB (Reference Platform Build)
    • Debian 8.2 “Jessie”
    • Linux 4.3 kernel with additional patches
    • OpenJDK 8 included by default
    • 96Boards artworks and default settings
  • CE AOSP RPB (Hikey board only)
    • AOSP Android Marshmallow 6.0
    • Linux 3.18 based kernel

CE refers to the consumer edition of 96Boards specifications, as there’s also an Enterprise Edition (EE), which is not covered by this release.

You can find documentation, including how to build your own image on 96Boards Wiki on Gihub. You can interact with 96Boards community on the forums, the bug tracker, or #96boards on IRC.

If you want to find out more of the Software Reference Lead Project, you can watch the Linaro Connect presentation below (~42 minutes), and/or download the slides.

The next release is planned for December 2015 (15.12 release), and should include:

  • Have both boards using a single kernel tree/branch and a single kernel binary
  • Better understanding about the upstream gaps
  • Adding support for CE AOSP for Dragonboard410c (with freedreno)
  • Adding support for CE OE/Yocto
  • Enterprise Edition

The Enterprise Edition will likely run on AMD Opteron A1100 96Boards.

Google Releases Android 6.0 Source Code and Factory Images for Nexus Devices

October 6th, 2015 5 comments

Google has pushed Android 6.0 source code to AOSP (Android Open Source Project), and released factory images (MRA58K) for Nexus 6 & Nexus 5 smartphones, Nexus Player, as well as Nexus 9 and Nexus 7 (2013) tablets.

Android_6.0_Marshmallow

You can retrieve the code with the usual repo tool:

Some of keys changes are listed on Android Source microsite and include Doze and App Standby to save battery, new authentication interface sich as Fingerprint, Gatekeeper, and Keymaster, adoptable storage, Bluetooth stylus support, and more. If you want a more detailed changelog at the source code, Opersys got you covered by listing all differences between 5.1.1_r24 (LMY48W) to 6.0.0_r1 (MRA58K) with newly added components,  removed components, and modified components.

Linaro 15.07 Release with Linux 4.2 and Android 5.1

July 31st, 2015 No comments

Linaro 15.07 has been released with Linux 4.2-rc3 (Baseline), Linux 3.10.83, 3.14.45 and 3.18.17 (LSK), and Android 5.1.1_r8.

The Linux kernel got various bug fixes, and a power reduction technique has been implemented for Qualcomm processor. Progress has been made to boot Android with UEFI on Hikey board, and work is still on-going on 96boards including Hisilicon Hikey, Qualcomm DragonBoard 410c, and an upcoming and yet-to-be-formally-announced Marvell PXA1928 board called Helium.

Highlights of this release:

  • Linux Linaro 4.2-rc3-2015.07
    • linaro-android topic updated to 4.2-rc3 and recent AOSP/android-3.18
    • included GATOR version 5.21.1
    • llct-misc-fixes topic: “HACK: of: Limit FDT size for CRC check on arm64” has been dropped. FVP model was the last target to require this hack, but the new FVP firmware doesn’t need it anymore
    • updated integration-linaro-vexpress64 topic by ARM LT: Versatile Express TC2 support is back, HDLCD display now works on TC2, the topic will be renamed to integration-linaro-vexpress next cycle
    • updated integration-linux-qcomlt topic by Qualcomm LT: QCOM Core Power Reduction (CPR) support has been added
    • linaro-builddeb-tweaks topic is dropped (most of our changes have been upstreamed)
  • Linaro builds of AOSP 15.07
    • Android baseline updated to 5.1.1_r8
    • ART CI setup for TIP and stable builds
      • Boot to gui tests added for tip and stable builds
      • ART code coverage for tip and stable builds
      • m-preview based builds setup for emulators
      • ART-host-gtests added for tip and stable builds
    • Hikey builds updated to 5.1.1_r8. Android boots with UEFI and GRUB on HiKey. Wifi drivers are integrated in the build system. Drivers are built as part of Android build process.
  • Linaro OpenEmbedded 2015.07
    • integrated Linaro GCC 4.9-2015.06
    • updated linux-linaro to 4.2-rc3
    • disabled aarch64 bootwrapper
    • integrated various improvements for LNG CI
    • upstreaming:
      • fixed bootimg.bbclass to work with all kernel image types
      • fixed cmake builds for native recipes
  • Linaro Ubuntu 15.07 – updated packages: fvp-pre-boot (FVP firmware), LSK 3.10.83/3.14.45/3.18.17 and linux-linaro 4.2-rc3 kernels
  • 96boards contributions:
    • DragonBoard 410c is now using NetworkManager only to manage the network (previously a combination with systemd-networkd/resolved has been used).
    • HiKey made some progress toward the switch to UEFI. GRUB is now integrated into the snapshots builds for both AOSP and Debian.
    • Initial Debian based build for Marvell PXA1928 Helium is setup and available.

Visit https://wiki.linaro.org/Cycles/1507/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.

Linaro 15.05 Release with Linux 4.1 and Android 5.1

May 31st, 2015 6 comments

Linaro 15.04 has been released with Linux 4.1-rc4, Linux 3.10.79 and 3.14.42 (LSK), and Android 5.1_r3. The Ubuntu image is now based on Vivid instead of Utopic.

Android and Debian builds/images have been released for Hikey’s 96boards, Ubuntu Vivid and Android builds have been setup for Qualcomm’s Dragonboard 410c. A new platform, Socionext M8M, has also show in Linaro changelog. I could not find details about M8M, but Socionext is a “new company that designs, develops and delivers System-on-Chip products” and focuses on “imaging, networking and other dynamic technologies”. Their latest press release mentions a 4K media processor with build-in HDMI 2.0 Tx and Rx, so maybe M8M is based on that processor, but I can’t know for sure as they have several chips.

Highlights of this release:

  • Linux Linaro 4.1-rc4-2015.05
    • GATOR updated to version 5.21.1
    • updated integration-linaro-vexpress64 topic by ARM LT: PCI support added – for Juno r1.
  • Linaro builds of AOSP 15.05 is released – baseline updated to android-5.1_r3
  • Linaro OpenEmbedded 2015.05
    • updated linux-linaro to ll-20150519.0 (based on 4.1-rc4)
    • updated linux-linaro-stable (LSK) to 3.10.74
    • update GATOR to 5.21.1
    • updated ODP to v1.0.3
    • Initial for ptest support to LNG images
    • fixed layout differences between external binary linaro toolchains and OE sysroot
    • fixed CI loop code path for external linaro binary toolchains
  • Linaro Ubuntu 15.05
    • migrated from Utopic based images to Vivid
    • fixed transtion from upstart to systemd (introduced with Vivid)
    • updated packages: LSK 3.10.79/3.14.42 and linux-linaro 4.1-rc4 kernels
  • CI bring up: U-Boot upstream
    • upstream U-boot is now build tested and covers all armv7/armv8 configurations (297 in total)
    • build artifacts are published
  • CI bring up: setup Member LCR and Reference LCR builds
  • CI bring up: Socionext M8M board (DEVPLAT-364)
  • 96boards: HiKey Debian and AOSP builds are released
  • 96boards: setup Ubuntu Vivid build for DragonBoard 410c
  • 96Boards: setup Android build for DragonBoard 410c
  • CI bring up: add 3.18 branches for LSK
  • migrating TCWG jenkins jobs and build slaves to ci.linaro.org
  • Ubuntu baseline: Utopic to Vivid migration
  • Linaro CI: added check-lava-status, LAVA job status is now added to the build job on ci.linaro.org (Jenkins)
  • Linaro CI: migration of AOSP based builds from android-build.linaro.org to ci.linaro.org in progress

Visit https://wiki.linaro.org/Cycles/1504/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.