Archive

Posts Tagged ‘debugging’

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

ARM TechCon 2014 Schedule – 64-Bit, IoT, Optimization & Debugging, Security and More

July 23rd, 2014 No comments

ARM Technology Conference (TechCon) 2014 will take place on October 1 – 3, 2014, in Santa Clara, and as every year, there will be a conference with various sessions for suitable engineers and managers, as well as an exposition where companies showcase their latest ARM based products and solutions. The detailed schedule for the conference has just been made available. Last year,  there were 90 sessions organized into 15 tracks, but this year, despite received 300 applications,  the organizers decided to scale it down a bit, and there will be 75 session in the following 11 tracks:ARM_TechCon_2014

  • Chip Implementation
  • Debugging
  • Graphics
  • Heterogeneous Compute
  • New Frontiers
  • Power Efficiency
  • Safety and Security
  • Software Development and Optimization
  • Software Optimization for Infrastructure and Cloud
  • System Design
  • Verification

There are also some paid workshops that take all day with topics such as “Android (NDK) and ARM overview”, “ARM and the Internet of Things”, or “ARM Accredited Engineer Programs”.

As usual, I’ve gone through the schedule builder, and come up with some interesting sessions with my virtual schedule during the 3-day event:

Wednesday – 1st of October

In this session, Dr. Saied Tehrani will discuss how Spansion’s approach to utilize the ARM Cortex-R line of processors to deliver energy efficient solutions for the automotive MCU market has led the company to become a vital part of the movement toward connectivity in cars. Beginning with an overview of the auto industry’s innovation and growth in connected car features, he will explain how these systems require high performance processing to give drivers the fluid experience they expect. Highlights in security and reliability with ARM Cortex-R, including Spansion’s Traveo Family of MCU’s will also be presented.

HEVC and VP9 are the latest video compression standards that significantly improves compression ratio compared to its widely used predecessors H.264 and VP8 standard. In this session the following will be discussed:

  • The market need for GPU accelerated HEVC and VP9 decoders
  • Challenges involved in offloading video decoding algorithms to a GPU, and how Mali GPU is well suited to tackle them
  • Improvement in power consumption and performance of Mali GPU accelerated decoder
  • big.LITTLE architecture and CCI/CCN’s complementing roles in improving the GPU accelerated video decoder’s power consumption

ARM’s Cortex-M family of embedded processors are delivering energy-efficient, highly responsive solutions in a wide variety of application areas right from the lowest-power, general-purpose microcontrollers to specialised devices in advanced SoC designs. This talk will examine how ARM plans to grow the ARM Cortex-M processor family to provide high performance together with flexible memory systems, whilst still maintaining the low-power, low-latency characteristics of ARM’s architecture v7M.

IoT devices as embedded systems cover a large range of devices from low-power, low-performance sensors to high-end gateways. This presentation will highlight the elements an embedded engineer needs to analyse before selecting the MCU for his design. Software is fundamental in IoT: from networking to power management, from vertical market protocols to IoT Cloud protocols and services, from programming languages to remote firmware update, these are all design criteria influencing an IoT device design. Several challenges specific to IoT design will be addressed:

  • Code size and RAM requirements for the major networking stacks
  • Optimizing TCP/IP resources versus performance
  • Using Java from Oracle or from other vendors versus C
  • WiFi (radio only or integrated module)
  • Bluetooth (Classis versus LE) IoT protocols

Thursday – 2nd of October

Amongst ARM’s IP portfolio we have CPUs, GPUs, video engines and display processors, together with fabric interconnect and POP IP, all co-designed, co-verified and co-optimized to produce energy-efficient implementations. In this talk, we will present some of the innovations ARM has introduced to reduce memory bandwidth and system power, both in the IP blocks themselves and the interactions between them, and how this strategy now extends to the new ARM Mali display processors.

Designing a system that has to run on coin cells? There’s little accurate information available about how these batteries behave in systems that spend most of their time sleeping. This class will give design guidance on the batteries, plus examine the many other places power leakages occur, and offer some mitigation strategies.

64-bit is the “new black” across the electronics industry, from server to mobile devices. So if you are building or considering building an ARMv8-A SoC, you shall attend this talk to either check that you know everything or find out what you shall know! Using the ARMv8 Juno ARM Development Platform (ADP) as reference, this session will cover:

  • The ARMv8-A hardware compute subsystem architecture for Cortex-A57, Cortex-A53 & Mali based SoC
  • The associated ARMv8-A software stack
  • The resources available to 64-bit software developers
  • Demonstration of the Android Open Source Project for ARMv8 running on Juno.

Rapid prototyping platforms have become a standard path to develop initial design concepts. They provide an easy-to-use interface with a minimal learning curve and allow ideas to flourish and quickly become reality. Transitioning from a simple, easy-to-use rapid prototyping system can be daunting, but shouldn’t be. This session presents options for starting with mbed as a prototyping environment and moving to full production with the use of development hardware, the open-source mbed SDK and HDK, and the rich ARM ecosystem of hardware and software tools.Attendees will learn how to move from the mbed online prototyping environment to full production software, including:

  • Exporting from mbed to a professional IDE
  • Full run-time control with debugging capabilities
  • Leveraging an expanded SDK with a wider range of integration points
  • Portability of applications from an mbed-enabled HDK to your custom hardware

Statistics is often perceived as scary and dull… but not when you apply it to optimizing your code! You can learn so much about your system and your application by using relatively simple techniques that there’s no excuse not to know them.This presentation will use no slides but will step through a fun and engaging demo of progressively optimizing OpenCL applications on a ARM-powered Chromebook using IPython. Highlights will include analyzing performance counters using radar diagrams, reducing performance variability by optimizing for caches and predicting which program transformations will make a real difference before actually implementing them.

Friday – 3rd of October

The proliferation of mobile devices has led to the need of squeezing every last micro-amp-hour out of batteries. Minimizing the energy profile of a micro-controller is not always straight forward. A combination of sleep modes, peripheral control and other techniques can be used to maximize battery life. In this session, strategies for optimizing micro-controller energy profiles will be examined which will extend battery life while maintaining the integrity of the system. The techniques will be demonstrated on an ARM Cortex-M processor, and include a combination of power modes, software architecture design techniques and various tips and tricks that reduce the energy profile.

One of the obstacles to IoT market growth is guaranteeing interoperability between devices and services . Today, most solutions address applications requirements for specific verticals in isolation from others. Overcoming this shortcoming requires adoption of open standards for data communication, security and device management. Economics, scalability and usability demand a platform that can be used across multiple applications and verticals. This talk covers some of the key standards like constrained application protocol (CoAP), OMA Lightweight M2M and 6LoWPAN. The key features of these standards like Caching Proxy, Eventing, Grouping, Security and Web Resource Model for creating efficient, secure, and open standards based IoT systems will also be discussed.

Virtual Prototypes are gaining widespread acceptance as a strategy for developing and debugging software removing the dependence on the availability of hardware. In this session we will explore how a virtual prototype can be used productively for software debug. We will explain the interfaces that exist for debugging and tracing activity in the virtual prototype, how these are used to attach debug and analysis tools and how these differ from (and improve upon) equivalent hardware capabilities. We will look in depth at strategies for debug and trace and how to leverage the advantages that the virtual environment offers. The presentation will further explore how the virtual prototype connects to hardware simulators to provide cross-domain (hardware and software) debug. The techniques will be illustrated through case studies garnered from experiences working with partners on projects over the last few years.

Attendees will learn:

  • How to set up a Virtual Prototype for debug and trace
  • Connecting debuggers and other analysis tools.
  • Strategies for productive debug of software in a virtual prototype.
  • How to setup trace on a virtual platform, and analysing the results.
  • Hardware in the loop: cross domain debug.
  • Use of Python to control the simulation and trace interfaces for a virtual platform.
  • 14:30 – 15:20 – GPGPU on ARM Systems by Michael Anderson, Chief Scientist, The PTR Group, Inc.

ARM platforms are increasingly coupled with high-performance Graphics Processor Units (GPUs). However the GPU can do more than just render graphics, Today’s GPUs are highly-integrated multi-core processors in their own right and are capable of much more than updating the display. In this session, we will discuss the rationale for harnessing GPUs as compute engines and their implementations. We’ll examine Nvidia’s CUDA, OpenCL and RenderScript as a means to incorporate high-performance computing into low power draw platforms. This session will include some demonstrations of various applications that can leverage the general-purpose GPU compute approach.

Abstract currently not available.

That’s 14 sessions out of the 75 available, and you can make your own schedule depending on your interests with the schedule builder.

In order to attend ARM TechCon 2014, you can register online, although you could always show up and pay the regular on-site, but it will cost you, or your company, extra.

Super Early Bird Rare
Ended June 27
Early Bird Rate
Ends August 8
Advanced Rate
Ends September 19
Regular Rate
VIP $999 $1,299 $1,499 $1,699
All-Access $799 $999 $1,199 $1,399
General Admission $699 $899 $1,099 $1,299
AAE Training $249 $299 $349 $399
Software Developers Workshop $99 $149 $199 $249
Expo FREE FREE $29 $59

There are more types of pass this year, but the 2-day and 1-day pass have gone out of the window. The expo pass used to be free at any time, but this year, you need to register before August 8. VIP and All-access provides access to all events, General Admission excludes AAE workshops and software developer workshops, AAE Training and Software Developers Workshop passes give access to the expo plus specific workshops. Further discounts are available for groups, up to 30% discount.

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

Element14 Design Center Helps You find a Development Board and Tools for Your Project

June 27th, 2014 No comments

Element14 has just launched a Design Center, currently in beta version, which let’s you do parametric searches for development kits, debuggers, software tools, by tools vendor, silicon manufacturers, board features, and processor architecture / type. So for example if you want to work on a low power Linux based gateway with Ethernet and Zigbee, you may search for a board with Ethernet and Zigbee, and comes with an ARM Cortex A5 processor.

Element14 Design Center - Zigbee / Ethernet / ARM Cortex A5 Search

Element14 Design Center – Zigbee / Ethernet / ARM Cortex A5 Search

In this example, the website returned four SAMA5D3x evaluation kits from Atmel which support Ethernet, as well as Zigbee via an external module. Then if you want to find which tools are available from Atmel, you can select “Emulation and Debugging”, “IDE & Compiler”, and “Operating Systems & Stacks”, as well as “Atmel” and “ARM” core architecture which will return Atmel Studio 6, and a JTAG emulator. It’s not quite perfect, as the only features you can search for right now are: 802.15.4, Bluetooth, Ethernet, HDMI, LCD, RJ-45, RS232, USB and Zigbee. It won’t let you search for things like memory and storage capacity, the presence and minimum number of interfaces such as GPIO, SPI, I2C, CAN,  etc…, as is often seen for parametric searches for MCUs. I’m not quite sure the parametric search has to be that fine for development boards though, but more options would certainly be welcomed. Nevertheless, Element14 Design Center may be a starting point to find the development board you need for a given application.

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 2014 Schedule

April 19th, 2014 1 comment

The Tenth Embedded Linux Conference (ELC 2014) will take place on April 29 – May 1, 2014 at the San Jose Marriott in San Jose, California. The event will feature 90+ sessions on embedded Linux, Android and IoT with over 450 attendees expected to attend. It will also be co-located with Android Builders Summit and the AllSeen Alliance Hackfest. Even if you can’t attend it’s still interesting to see what will be discussed at the event to get a grasp of on-going developments, learn a few things about different optimization techniques, and so on. So I’ve gone through the sessions’ description, and I’ve designed my own virtual schedule with sessions that could be of interest.

Embedded_Linux_Conference_2014April 29

Linux has taken the embedded world by storm.  Billions (with a ‘B’) of devices have now shipped with a Linux kernel, and it seems unstoppable.  But will the next 10 billion devices ship with Linux or with something else?  How can Linux be specialized for deeply embedded projects, as characterized by the Internet of Things, while still maintaining the network effects of community cooperation and sharing?  Is this possible or even desirable?  The startling truth might be revealed at this keynote. Or, Tim might just rant a bit about device-tree… who knows?

The past year has seen a remarkable growth of interest in super-low-power and super-low-form-factor computing, in the form of ‘wearables’, the ‘Internet of Things’, and the release of exciting new hardware such as Intel’s Quark and Edison SoCs. Taking advantage of this super-small hardware also implies the need for super-small operating systems and applications to match. This talk will describe a super-small-footprint Linux distribution called ‘microYocto”. The main focus will be the kernel and how we achieved what we think is close to the minimal possible kernel footprint, both in terms of static text size and dynamic memory usage. We’ll talk about the tools and methodologies we used and developed to analyze the problem, such as tracing and machine simulation, and will describe the various technologies developed and applied to achieving this minimalistic system.

Many community resources exist about boot time reduction. However, few of them are up to date and share the exact time savings that can be achieved on recent systems. This talk will detail today’s most efficient techniques to reduce boot time. For each of them, figures will be shared, obtained from recent boot time reduction projects and from the preparation of Free Electrons new workshop on this topic. If you attend this talk, you will know which optimization techniques are worth using first, and will save time not exploring techniques that won’t make a significant difference in your project. Don’t tell your boss, and this will leave your more time to contribute to community projects!

In this talk, Chris will describe the internal workings of the Android graphics stack from the Application layer down through the stack to pixels on the screen. It is a fairly complex journey, taking in two different 2D rendering engines, applications calling OpenGL ES directory, passing buffers on to the system compositor, Surface Flinger, and then down to the display controller or frame buffer. All this requires careful synchronisation so that what appears on the screen is smooth, without jitter, and makes efficient use of memory, CPU, GPU and power resources.

Linux-based platforms such as the Beaglebone and Raspberry Pi are inexpensive powerhouses. But, beyond being cool on their own, what else can you do with them? This presentation will step you through the process of building a Wi-Fi enabled, Linux-based robot that you can build without breaking the bank and without special knowledge of robotics and robotic controls.

Since last year, we have 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, we would like to share the status of this effort: where we were a year ago, what solutions were in place, where we are currently, and what to expect from the future. We will also focus on the community around these SoCs, the work that is done there, etc.

April 30

GCC is an optimizing compiler, currently most common compiler to build software for Embedded Linux systems like Android, Yocto Project etc. This tutorial will introduce specific optimizations and features of GCC which are less known but could benefit optimizing software especially for embedded use while highlight the effect of common optimizations. While it will focus on squeezing most out of GCC, it will also cover some of “pessimizations” to avoid and will tip the developer to write code thats more conducive (compiler friendly) for general optimizations. They will also get some contrast with other compilers when needed.

Throughout the last two 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 we would like to 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 we have gone through, the mistakes we’ve made and how we solved them, and generally our experience on this project.

This BoFs is intended to bring together anybody that tests the Linux kernel to share best practices and brainstorm new ideas. Topics may range from .config testing, module/built-in drivers, test methods and tools for testing specific driver subsystems, VM/scheduler/interrupt stress testing, and beyond. The discussion is targeted at Linux kernel developers, test engineers, and embedded Linux product teams/consultants with the common task of testing Linux kernel integrity. Attendees should have a firm grasp of building and deploying the kernel as well as kernel/userspace kernel APIs.

Several vendors are getting ready to start enabling the upstream kernel for their upcoming 64-bit ARM platforms, and it opens up a few questions on things that are not quite sorted out yet, especially on the embedded and mobile platforms. This is an open discussion on the issues these maintainers are anticipating, and what we should do about it.

Communication between components is necessary for effective power management in mobile devices. The System Power Management Interface, also known as SPMI, is a standardized bus interface intended to provide power-management related connectivity between components. Josh Cartwright will provide a high-level architectural overview of SPMI and discuss how to leverage the Linux Kernel software interfaces (expected to land in 3.15) to communicate with devices on the bus.

May 1

While Android has been created for mobile devices — phones first and now tablets — it can, nonetheless, be used as the basis of any touch-screen system, whether it be mobile or not. Essentially, Android is a custom-built embedded Linux distribution with a very elaborate and rich set of user-space abstractions, APIs, services and virtual machine. This one-day workshop is aimed at embedded developers wanting to build embedded systems using Android. It will cover Android from the ground up, enabling developers to get a firm hold on the components that make up Android and how they need to be adapted to an embedded system. Specifically, we will start by introducing Android’s overall architecture and then proceed to peel Android’s layer one-by-one.

This half-day workshop is aimed at embedded developers that want to use Android in their embedded designs.

The MIPS processor cores are widely used in embedded platforms, including TVs and set-top-boxes. In most of those platforms dedicated graphics hardware exists but it may be specialized for its use in audio and video signal processing: rendering of web content has to be done in software. We implemented optimizations for the software-based QPainter renderer to improve the performance of Qt —including QtWebKit— in MIPS processors. The target platform was the modern 74kf cores, which include new SIMD instructions suitable for graphics operations (alpha blending, color space conversion and JPEG image decoding), and also for non-graphics operations: string functions were also improved. Our figures estimate that web pages are rendered up to 30% faster using hand-coded assembler fast-paths for those operations.

Software Freedom Conservancy announced last year a renewed effort for cross-project collaborative GPL compliance efforts, including copyright holders from BusyBox, Linux, and Samba. Conservancy uses an internal system of communication and collaboration to take input from stakeholders to discuss and engage in compliance activity to ensure compliance with the GPL throughout the technology industry and particularly in the embedded device market. Compliance with the GPL is the responsibility of copyright holders of the software, and Conservancy helps those copyright holders pursue the work, so those developers can focus on coding. In this talk, the President of Conservancy will discuss how Conservancy handles compliance matters, what matters it focuses on, and how the copyright holders that work with Conservancy engage in a collaborative effort to ensure compliance with the GPL.

Ubuntu Touch is the new Ubuntu-based OS for phones and tablets. Announced at the beginning of 2013, it gives a new UI and design proposal, but also a new way of developing and supporting many different devices, using either the Android HAL or the traditional Linux stack to build the platform. This talk will go over the Ubuntu Touch internals, presenting the technical decisions and also the work that was done to bootstrap this new platform (camera, radio, video decode, GLES and etc) and the future challenges to support a single stack across mobile and the traditional desktop.

These are just a few sessions out of the 90+ sessions available at the Embedded Linux Conference and Android Builder Summit. You can check the full schedule to find out which sessions are most interesting to you.

If you’d like to attend the event, you’ll need to register online.

The attendance fees have significantly gone up compared to last year, at least for hobbyists, but include entrance for both ELC and Android Builder Summit:

  • Professional Registration Fee - US$600 (Was US$500 until March 29, 2014)
  • Hobbyist Fee – US$150
  • Student FeeUS$150

After the events, many videos are usually uploaded by the Linux Foundation, and you should be able to find the list of talks with links to presentation slides oneLinux.org.

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.01 Release with Linux Kernel 3.13 and Android 4.4.2

January 31st, 2014 No comments

The first release of the year, Linaro 14.01, is now out with Linux Kernel 3.13 (baseline), Linux Kernel 3.10.28 (LSK), Android 4.4.2, and Ubuntu Linaro 14.01.

The most important part of this release is support for Arndale Octa, which makes big.LITTLE processing code available to a low cost platform. Android 4.4.x is now on par with Android 4.3 in terms of support. Linaro has also decided to provide quarterly stable released with GCC, and Linaro GCC 4.7-2014.01 is the first quarterly stable release with the next one planned with Linaro 14.04.

Here are the highlights of this release:

  • Linaro Stable Kernel (LSK) 3.10.28-2014.01 with latest version of GTS patch set for big.LITTLE, and Android support
  • Linux Linaro 3.13-2014.01:
    • gator version 5.17
    • updated linaro-android-3.13-merge topic by John Stultz, the “Revert “PM / Sleep: Require CAP_BLOCK_SUSPEND to use wake_lock/wake_unlock” patch included
    • uprobes v4
    • updated big-LITTLE-pmu topic from ARM Landing Team (LT)
    • updated basic Capri board support from Broadcom LT (clock framework support added)
    • Arndale Octa board support added by Samsung LT
    • updated Versatile Express patches from ARM LT
    • updated big endian topic
    • vexpress64 support (FVP Base and Foundation models)
    • config fragments changes: BeagleBone / BeagleBoneBlack config fragment created, more config options enabled for libvirt support, virtio mmio support enabled in vexpress.conf.
  • Linaro Toolchain Binaries 2014.01 including Linaro GCC 4.8-2014.01, with enhanced multilib support.
  • Linaro Android 14.01
    • libjpeg-turbo refreshed on Android builds from the Graphics Working Group
    • Kernel CI loop for Android was streamlined for stability and faster builds
    • built with Linaro GCC 4.8-2014.01
  • Linaro OpenEmbedded 2014.01
    • updated LTP to 20140115 releases
    • updated apica-tools to 20131218 release
    • integrated OpenDataPlane
    • merged external toolchain fixes contributed from Freescale
    • integrated Linaro GCC 4.8-2014.01
    • allowed native builds for OpenJDK 8
    • upstreaming: updated acpica-tools to the latest release, updated LTP (Linux Test Project) to the latest release, added Aarch64 support to GRUB2, added Aarch64 support to klibc
  • Linaro Ubuntu 14.01
    • Added packages to support Arndale Octa: arndale-octa-pre-boot, linux-linaro-arndale-octa and u-boot-linaro-arndale-octa
    • Added idlestat package
    • Packages updated: edk2-uefi, flash-kernel, gator and sbsigntool
  • Linux Linaro LNG 3.10.25-2014.01 – PREEMPT_RT patchset rt23, Arndale support
  • Linux Linaro LT HiSilicon 3.13-rc2-2014.01
    • Supports both K3V2 board and S40V200 FPGA board.
    • K3V2 support includes: basic soc, smp, hotplug, clock, i2c, touch, regulator, mmc. S40V200 support includes basic soc, smp, hotplug, clock
    • Integrated into the linux-linaro tree, and HiSilicon BSP code is now available in linux-linaro monthly releases
  • Linaro UEFI 2014.01
    • Rebased to Tianocore EDK2 SVN revision 14795
    • the latest version of the EDK2 code contains support for aarch64 plaforms upstream.
  • Linaro Image Tools 2014.01 – Arndale Octa support
  • Linaro Test Suites 2014.01
    • Android: Added Ethernet Test for Linaro Android
    • Ubuntu: Added WiFi Test for Linux Linaro Ubuntu
    • ltp: Improve parser & add tests
    • netperf: Add parameters and default to eth0
    • acpica-tools: Add acpica-tools test defination
    • ubuntu: Added acpi-smoke-test
    • acpica asl: Update source repository link
    • ltp-realtime: Parse ltp-realtime results for LAVA measurements
    • ubuntu: Added SD MMC Test for Linaro Ubuntu
    • ubuntu: Added Gator Data Streaming Test for Linaro Ubuntu
    • android: Added SD MMC Test for Linaro Android
    • Fixed parse pattern in min_max_avg_parse.py
    • mauve: move the tests instead of making a copy
    • ubuntu: remove unnecessary clone operation
    • oe: remove unnecessary clone operation
    • hackbench: Running hackbench properly with timeout and removed background dd
    • ubuntu/ltp-network: add ltp network test
    • netperf: set the result to skip, remove Sz in test name
  • Linaro idlestat – Tool which can show how long a CPU or cluster enters idle state with information gathered using traces from trace-cmd or ftrace tools
  • Linaro GCC 4.8-2014.01 with enhanced multilib support
  • Linaro GCC 4.7-2014.01

Visit https://wiki.linaro.org/Cycles/1401/Release for a list of known issues, and further release details about the LEB and community builds, Android, Kernel, Graphics, Multimedia, Landing Team, Platform, Power management and Toolchain (GCC / Qemu) 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

Cheap Accessories for Raspberry Pi – Camera, microSD adapter, Debug Board, Heatsink and Enclosure

January 26th, 2014 14 comments

The Raspberry Pi just a great low cost ARM Linux board that costs $25 (Model A) to $35 (Model B), but once you start to add accessories the total cost of ownership may creep up quickly, and in some cases accessories may be more expensive than the board itself. I’ll list some alternative accessories that can be purchased online for a fraction of the cost of the more famous one.

$18 Raspberry Pi Camera

Raspberry_Pi_Camera_CloneThe official Raspberry Pi camera costs $25 + shipping and tax, but you can get a similar 5MP CSI camera for just $18.13 including shipping on Banggood.com. This camera clone should be software compatible with the original one according to the listed features:

  • Plugs directly into the CSI connector on the Raspberry Pi
  • 5MP resolution image (2592 x 1944), or 1080p HD video recording at 30fps
  • 5MP (2592 x 1944 pixels) Omnivision 5647 sensor in a fixed focus module
  • 15 pin Ribbon cable to the dedicated 15-pin MIPI camera serial interface (CSI) included
  • The camera is supported in the latest version of Raspbian
  • Dimensions – 25 x 24 x 9mm

It appears to have similar specifications as the original camera up to to sensor, so I’d guess the image quality should just be the same, but this would probably have to be tested and and compared it to the original R-Pi camera. The Raspberry Pi foundation is most likely getting some funds from your purchase via RS components or Farnell as well, which is not the case with the clone.

$1.62 microSD card adapter

The Raspberry Pi comes with a full sized SD card slot, and when you insert the SD card in the board over half of the card is outside the board, which is not always looking nice, and in some applications may be an issue due to lack of space. To solve this problem, there are a few microSD card adapters from Adafruit ($6) and Pimoroni (about $10) among others, but you could save quite a lot by purchasing a microSD card adapter with the same functionality for $1.62 including shipping from BuyinCoins.

$1.45 USB To TTL debug board

usb_tll_adapterIf you want to see what’s going on at boot time in the bootloader and the linux kernel, you need to connect a USB to TTL to the UART pins of your Raspberry Pi in order to get the boot log in putty, minicom (Linux) or hyperterminal (Windows). Adafruit sells one for $9.95, but you can also buy a cheaper one which should work just as well for $2.19, and yes, it includes shipping, from BuyinCoins. [Update: the previous product uses +5V, so using another one supporting +3.3V won't damaged the R-Pi, and is even cheaper: $1.45]

$1.26 Heat sink set for the Raspberry Pi

The Raspberry Pi should not need heat sinks, but if your board is an environment where proper ventilation is not possible, and/or you overclock your Raspberry Pi to 1GHz or more, hits may be useful, a heat sink kits with 3 heat sinks for Broadcom BCM2835 SoC, LAN9512 Ethernet chip, and the voltage regulator are sold, and made of different materials such as ABS, aluminum and copper. Banggood is probably selling one of the cheapest aluminum kit for $1.26 including shipping. If you want a copper heatsink just for the SoC, there’s one for $1.19.

$3.52 Raspberry Pi Case

Pimoroni Pibow case is one of the most commonly used case for the Raspberry Pi, and it looks very nice, but costs a little over $20. There are many cases for a cheaper price, but this transparent Raspberry Pi case may be one of the cheapest ones for $3.52 including shipping.

Do you know any other cheap accessories for the Raspberry Pi? If so, let us know in the comments.

Thanks to onebir for the links.

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

Raxda Rock Development Board Unboxing, Quick Start Guide, and Benchmarks

January 13th, 2014 9 comments

Radxa Rock is an Android & Linux development board based on Rockchip RK3188 with 2GB RAM, 8GB NAND Flash, several I/Os that’s been available in beta version to a small number of developers in September 2013, with general availability starting at the very end of December 2013. Radxa team has sent me a board for me to try out. I’ll start with some unboxing pictures, write a Quick Start Guide for the first boot with Android 4.2.2, and run some benchmarks on the board. In another post, I’ll try some of the instructions to build Android and Ubuntu for the platform.

Radxa Rock Unboxing Pictures & Video

I’ve received the board in the following package via Fedex.

Radxa_Rock_PackageBeside the board, we’ve got a Wi-Fi antenna, a USB power cable, and a plastic casing.

Radxa Rock Package Content

Radxa Rock Package Content

Checkout Radxa Rock unboxing video below, if you want to find out exactly what’s you get when you receive the board.

Let’s have a closer look at the board.

Top of Radxa Rock Board (Click to Enlarge)

Top of Radxa Rock Board (Click to Enlarge)

The top of the board gets most of the interesting bits. From the bottom right, clockwise: power button, microphone, micro USB OTG port, IR receiver, UART header for serial console, micro SD card, 2x USB 2.0 ports, recovery button, 40 pin “GPIO” header, battery slot, Wi-Fi antenna connector, 10/100M Ethernet port, HDMI output, S/PDIF optical output, AV out, power jack, another 40-pin header, and the reset switch.

Bottom of Radxa Rock Board (Click to Enlarge)

Bottom of Radxa Rock Board (Click to Enlarge)

On the back of the board, we’ve got the Wi-Fi/Bluetooth module (Realtek RTL8723AS), two more RAM chips, as well as the name of all 80 header pins on the silkscreen of the board, which can be convenient.

Radxa Rock Case Assembly

Radxa Rock comes with a plastic case that you have to assemble. It does not look the best, but it’s functional, and both easy to assemble and disassemble. Start by inserting two sides (length) into the base, place the board in the case, add the cover, and finish the assembly by adding the two other sides (width). You’ll also want to add the Wi-Fi antenna, if you plan to use Wi-Fi. At no point you need to force during assembly or disassembly, so it’s unlikely you’ll break the enclosure.

Radxa Rock Enclosure

Radxa Rock Enclosure

The box has been designed so that you can access all ports, including the two 40-pin expansion headers, and the UART header. The two USB ports are a little deep inside though, so I’m not sure if it will work with all USB peripherals, and you’ll have to insert the microSD card before assembly, or using a small tool, e.g. toothpick, to push the card.

[Update: To see how the casing is assembled as well unboxing and first boot, you can also watch that video]

Quick Start Guide for Radxa Rock

I’ve connected an HDMI cable to a TV, an Ethernet cable to a hub, a serial debug board for console access, a USB RF dongle for Mele F10 air mouse, and I used Tronsmart T428 (5V/2A) power adapter for power.

Radxa_Board_ConnectionThe power starts immediately, i.e. there’s no need to press the power button, which is only used to turn off the board, and during boot you’ll see 4 Linux penguins (Tux), an animated “radxa” logo, and after just over 30 seconds you’ll get to the Android Home screen. I’ve tried to take a few screenshots by installing trial versions of apps such as Screenshot IT and Screenshot UX, but the board would just lose display output while taking screenshots, and I’d just see “No signal” message from my TV, requiring a press of the reset button.

Radxa Rock Android Home Screen (Click to Enlarge)

Radxa Rock Android Home Screen (Click to Enlarge)

I could see the kernel messages from the serial console, but for some reasons I was not able to input anything in minicom. This is probably not an issue with Radxa board, as I’ve add this issue randomly with other devices too.

Here’s the boot log for reference:

DDR Version 1.04 20130517
In
DDR3
300MHz
Bus Width=32 Col=10 Bank=8 Row=15 CS=2 Die Bus-Width=16 Size=2048MB
Memory OK
OUT
BUILD=====5
F:32 1061 2 0 40
GetRemapTbl flag = 0
OK! 51786
unsigned!
SecureBootEn = 0 0
Boot ver: 2013-06-20#1.24
start_linux=====63508
2292032 Starting kernel…@0x60408000[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.0.36+ (ty@fae) (gcc version 4.6.x-google 20120103
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: RK30board
[    0.000000] memory reserve: Memory(base:0x8f000000 size:120M) reserved for <>
[    0.000000] memory reserve: Memory(base:0x8e500000 size:11M) reserved for <f>
[    0.000000] memory reserve: Memory(base:0x8dd00000 size:8M) reserved for <ca>
[    0.000000] memory reserve: Total reserved 139M
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] CPU SRAM: copied sram code from c0b55000 to fef00100 – fef02198
[    0.000000] CPU SRAM: copied sram data from c0b57098 to fef02198 – fef0291c
[    0.000000] sram_log:      4q ?&     :     4q ?)     !?, # 0q    *!  ! 3q
[    0.000000] CLKDATA_MSG: pll_flag = 0x00
[    0.000000] CLKDATA_ERR:     can’t get a available nume and deno
[    0.000000] CLKDATA_ERR:     clk_frac_div can’t get rate=48000000,uart0_fracv
[    0.000000] L310 cache controller enabled
[    0.000000] l2x0: 16 ways, CACHE_ID 0x4100c0c8, AUX_CTRL 0x76050001, Cache sB
[    0.000000] DDR DEBUG: version 1.00 20130712
[    0.000000] DDR DEBUG: DDR3 Device
[    0.000000] DDR DEBUG: Bus Width=32 Col=10 Bank=8 Row=15 CS=2 Total CapabiliB
[    0.000000] DDR DEBUG: init success!!! freq=300MHz
[    0.000000] DDR DEBUG: DTONE=0x3, DTERR=0x0, DTIERR=0x0, DTPASS=0x23, DGSL=10
[    0.000000] DDR DEBUG: DTONE=0x3, DTERR=0x0, DTIERR=0x0, DTPASS=0x24, DGSL=10
[    0.000000] DDR DEBUG: DTONE=0x3, DTERR=0x0, DTIERR=0x0, DTPASS=0x24, DGSL=10
[    0.000000] DDR DEBUG: DTONE=0x3, DTERR=0x0, DTIERR=0x0, DTPASS=0x24, DGSL=00
[    0.000000] DDR DEBUG: ZERR=0, ZDONE=0, ZPD=0x0, ZPU=0x0, OPD=0x0, OPU=0x0
[    0.000000] DDR DEBUG: DRV Pull-Up=0xb, DRV Pull-Dwn=0xb
[    0.000000] DDR DEBUG: ODT Pull-Up=0x2, ODT Pull-Dwn=0x2
[    0.000000] PERCPU: Embedded 7 pages/cpu @c313f000 s6976 r8192 d13504 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pa8
[    0.000000] Kernel command line: console=ttyFIQ0 console=tty0 androidboot.co2
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 733MB 1176MB = 1909MB total
[    0.000000] Memory: 1917812k/1917812k available, 179340k reserved, 1204224K m
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 – 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 – 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xff600000 – 0xffe00000   (   8 MB)
[    0.000000]     vmalloc : 0xf7000000 – 0xfe800000   ( 120 MB)
[    0.000000]     lowmem  : 0xc0000000 – 0xf6800000   ( 872 MB)
[    0.000000]     pkmap   : 0xbfe00000 – 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 – 0xbfe00000   (  14 MB)
[    0.000000]       .init : 0xc0408000 – 0xc0434000   ( 176 kB)
[    0.000000]       .text : 0xc0434000 – 0xc0ae17f4   (6838 kB)
[    0.000000]       .data : 0xc0ae2000 – 0xc0b546a8   ( 458 kB)
[    0.000000]        .bss : 0xc0b58024 – 0xc15fdc58   (10904 kB)
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, 1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:352
[    0.000000] rk30_gpio_init: 128 gpio irqs in 4 banks
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 1789s
[    0.000000] rk_timer: version 1.2
[    0.000000] Console: colour dummy device 80×30
[    0.000000] console [tty0] enabled, bootconsole disabled
<hit enter to activate fiq debugger>
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Linux version 3.0.36+ (ty@fae) (gcc version 4.6.x-google 20120103
[    0.000000] CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
[    0.000000] CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
[    0.000000] Machine: RK30board
[    0.000000] memory reserve: Memory(base:0x8f000000 size:120M) reserved for <>
[    0.000000] memory reserve: Memory(base:0x8e500000 size:11M) reserved for <f>
[    0.000000] memory reserve: Memory(base:0x8dd00000 size:8M) reserved for <ca>
[    0.000000] memory reserve: Total reserved 139M
[    0.000000] Memory policy: ECC disabled, Data cache writeback
[    0.000000] bootconsole [earlycon0] enabled
[    0.000000] CPU SRAM: copied sram code from c0b55000 to fef00100 – fef02198
[    0.000000] CPU SRAM: copied sram data from c0b57098 to fef02198 – fef0291c
[    0.000000] sram_log:      4q ?&     :     4q ?)     !?, # 0q    *!  ! 3q
[    0.000000] CLKDATA_MSG: pll_flag = 0x00
[    0.000000] CLKDATA_ERR:     can’t get a available nume and deno
[    0.000000] CLKDATA_ERR:     clk_frac_div can’t get rate=48000000,uart0_fracv
[    0.000000] L310 cache controller enabled
[    0.000000] l2x0: 16 ways, CACHE_ID 0x4100c0c8, AUX_CTRL 0x76050001, Cache sB
[    0.000000] DDR DEBUG: version 1.00 20130712
[    0.000000] DDR DEBUG: DDR3 Device
[    0.000000] DDR DEBUG: Bus Width=32 Col=10 Bank=8 Row=15 CS=2 Total CapabiliB
[    0.000000] DDR DEBUG: init success!!! freq=300MHz
[    0.000000] DDR DEBUG: DTONE=0x3, DTERR=0x0, DTIERR=0x0, DTPASS=0x23, DGSL=10
[    0.000000] DDR DEBUG: DTONE=0x3, DTERR=0x0, DTIERR=0x0, DTPASS=0x24, DGSL=10
[    0.000000] DDR DEBUG: DTONE=0x3, DTERR=0x0, DTIERR=0x0, DTPASS=0x24, DGSL=10
[    0.000000] DDR DEBUG: DTONE=0x3, DTERR=0x0, DTIERR=0x0, DTPASS=0x24, DGSL=00
[    0.000000] DDR DEBUG: ZERR=0, ZDONE=0, ZPD=0x0, ZPU=0x0, OPD=0x0, OPU=0x0
[    0.000000] DDR DEBUG: DRV Pull-Up=0xb, DRV Pull-Dwn=0xb
[    0.000000] DDR DEBUG: ODT Pull-Up=0x2, ODT Pull-Dwn=0x2
[    0.000000] PERCPU: Embedded 7 pages/cpu @c313f000 s6976 r8192 d13504 u32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pa8
[    0.000000] Kernel command line: console=ttyFIQ0 console=tty0 androidboot.co2
[    0.000000] PID hash table entries: 4096 (order: 2, 16384 bytes)
[    0.000000] Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
[    0.000000] Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
[    0.000000] Memory: 733MB 1176MB = 1909MB total
[    0.000000] Memory: 1917812k/1917812k available, 179340k reserved, 1204224K m
[    0.000000] Virtual kernel memory layout:
[    0.000000]     vector  : 0xffff0000 – 0xffff1000   (   4 kB)
[    0.000000]     fixmap  : 0xfff00000 – 0xfffe0000   ( 896 kB)
[    0.000000]     DMA     : 0xff600000 – 0xffe00000   (   8 MB)
[    0.000000]     vmalloc : 0xf7000000 – 0xfe800000   ( 120 MB)
[    0.000000]     lowmem  : 0xc0000000 – 0xf6800000   ( 872 MB)
[    0.000000]     pkmap   : 0xbfe00000 – 0xc0000000   (   2 MB)
[    0.000000]     modules : 0xbf000000 – 0xbfe00000   (  14 MB)
[    0.000000]       .init : 0xc0408000 – 0xc0434000   ( 176 kB)
[    0.000000]       .text : 0xc0434000 – 0xc0ae17f4   (6838 kB)
[    0.000000]       .data : 0xc0ae2000 – 0xc0b546a8   ( 458 kB)
[    0.000000]        .bss : 0xc0b58024 – 0xc15fdc58   (10904 kB)
[    0.000000] SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=4, 1
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000] NR_IRQS:352
[    0.000000] rk30_gpio_init: 128 gpio irqs in 4 banks
[    0.000000] sched_clock: 32 bits at 24MHz, resolution 41ns, wraps every 1789s
[    0.000000] rk_timer: version 1.2
[    0.000000] Console: colour dummy device 80×30
[    0.000000] console [tty0] enabled, bootconsole disabled
[    0.014180] Calibrating delay loop (skipped) preset value.. 1631.46 BogoMIPS)
[    0.014209] pid_max: default: 32768 minimum: 301
[    0.014399] Mount-cache hash table entries: 512
[    0.014909] Initializing cgroup subsys debug
[    0.014931] Initializing cgroup subsys cpuacct
[    0.014970] Initializing cgroup subsys freezer
[    0.015003] CPU: Testing write buffer coherency: ok
[    0.095826] CPU1: Booted secondary processor
[    0.135818] CPU2: Booted secondary processor
[    0.175818] CPU3: Booted secondary processor
[    0.175847] Brought up 4 CPUs
[    0.175884] SMP: Total of 4 processors activated (6525.87 BogoMIPS).
[    0.176217] devtmpfs: initialized
[    0.182178] NET: Registered protocol family 16
[    0.182279] last_log: 0xed900000 map to 0xf7004000 and copy to 0xc0b5c1a0 (v)
[    0.196766] DVFS MSG:        AVS Value(index=0): 114 114 114 114 114 114 114
[    0.315475] lcdc0 is used as external display device contoller!
[    0.315518] lcdc1 is used as primary display device controller!
[    0.415786] rk29sdk_wifi_bt_gpio_control_init: init finished
[    0.419594] console [ttyFIQ0] enabled
[    0.419741] Registered FIQ tty driver ed83dcc0
[    0.926124] bio: create slab <bio-0> at 0
[    0.930527] SCSI subsystem initialized
[    0.930738] usbcore: registered new interface driver usbfs
[    0.930864] usbcore: registered new interface driver hub
[    0.945115] usbcore: registered new device driver usb
[    0.945385] rk30_i2c rk30_i2c.0: i2c-0: RK30 I2C adapter
[    0.945651] rk30_i2c rk30_i2c.1: i2c-1: RK30 I2C adapter
[    0.945846] rk30_i2c rk30_i2c.2: i2c-2: RK30 I2C adapter
[    0.946007] rk30_i2c rk30_i2c.3: i2c-3: RK30 I2C adapter
[    0.946309] rk30_i2c rk30_i2c.4: i2c-4: RK30 I2C adapter
[    0.976723] rk30-adc rk30-adc: rk30 adc: driver initialized
[    0.977019] Advanced Linux Sound Architecture Driver Version 1.0.24.
[    0.977470] Bluetooth: Core ver 2.16
[    0.977551] NET: Registered protocol family 31
[    0.977603] Bluetooth: HCI device and connection manager initialized
[    0.977672] Bluetooth: HCI socket layer initialized
[    0.977724] Bluetooth: L2CAP socket layer initialized
[    0.977790] Bluetooth: SCO socket layer initialized
[    0.978862] rk fb probe ok!
[    0.983665] act8846_set_init,line=17
[    0.983713] act8846_set_init:g_pmic_type=3
[    0.985507] act8846_set_init  act_dcdc1 =1200000mV end
[    0.987393] act8846_set_init  vdd_core =1000000mV end
[    0.989276] act8846_set_init  vdd_cpu =1000000mV end
[    0.991157] act8846_set_init  act_dcdc4 =3300000mV end
[    0.992410] act8846_set_init  act_ldo1 =1000000mV end
[    0.994191] act8846_set_init  act_ldo2 =1200000mV end
[    0.995973] act8846_set_init  act_ldo3 =1800000mV end
[    0.997757] act8846_set_init  act_ldo4 =3300000mV end
[    0.999539] act8846_set_init  act_ldo5 =3300000mV end
[    1.001319] act8846_set_init  act_ldo6 =1800000mV end
[    1.002470] act8846_set_init  act_ldo7 =1800000mV end
[    1.004252] act8846_set_init  act_ldo8 =2800000mV end
[    1.004314] act8846_set_init,line=78 END
[    1.004392] i2c-core: driver [act8846] using legacy suspend method
[    1.004457] i2c-core: driver [act8846] using legacy resume method
[    1.004555] rk1000_control_probe
[    1.029546] rk1000_control_probe ok
[    1.029641] Switching to clocksource rk_timer
[    1.035218] Switched to NOHz mode on CPU #0
[    1.035856] Switched to NOHz mode on CPU #2
[    1.035870] Switched to NOHz mode on CPU #3
[    1.035883] Switched to NOHz mode on CPU #1
[    1.036495] lcdc1:reg_phy_base = 0x1010e000,reg_vir_base:0xf709c000
[    1.036607] fb0:win0
[    1.036612] fb1:win1
[    1.036617] fb2:win2
[    1.036733] rk3188 lcdc1 clk enable…
[    1.036795] rk3188 lcdc1 clk disable…
[    1.064043] fb0:phy:8e500000>>vir:f8000000>>len:0xb00000
[    1.064314] rk_fb_register>>>>>fb0
[    1.064640] rk_fb_register>>>>>fb1
[    1.065084] rk3188 lcdc1 probe ok!
[    1.065152] lcdc0:reg_phy_base = 0x1010c000,reg_vir_base:0xf70a8000
[    1.065238] fb0:win0
[    1.065243] fb1:win1
[    1.065247] fb2:win2
[    1.065360] rk3188 lcdc0 clk enable…
[    1.065413] rk3188 lcdc0 clk disable…
[    1.065460] fb2:phy:8e500000>>vir:f8000000>>len:0xb00000
[    1.065681] rk_fb_register>>>>>fb2
[    1.065954] rk_fb_register>>>>>fb3
[    1.065999] rk3188 lcdc0 probe ok!
[    1.127986] IT66121 probe success.
[    1.137628] cfg80211: Calling CRDA to update world regulatory domain
[    1.213553] NET: Registered protocol family 2
[    1.213716] IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
[    1.214161] TCP established hash table entries: 131072 (order: 8, 1048576 by)
[    1.216127] TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
[    1.217323] TCP: Hash tables configured (established 131072 bind 65536)
[    1.217393] TCP reno registered
[    1.217436] UDP hash table entries: 512 (order: 2, 16384 bytes)
[    1.217523] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
[    1.217892] NET: Registered protocol family 1
[    1.218165] RK29 Backlight Driver Initialized.
[    1.218392] Unpacking initramfs…
[    1.276438] [EDID] check header error
[    1.276503] (NULL device *): [HDMI] parse edid base block error
[    1.276585] (NULL device *): warning: EDID error, assume sink as HDMI !!!!
[    1.276652] (NULL device *): warning: no CEA video mode parsed from EDID !!!*
[    1.276765] Support video mode:
[    1.276801]  1920x1080p@60Hz.
[    1.276835]  1920x1080p@50Hz.
[    1.276868]  1280x720p@60Hz.
[    1.276900]  1280x720p@50Hz.
[    1.276931]  720x576p@50Hz.
[    1.276962]  720x480p@60Hz.
[    1.276993] ******** Show Sink Info ********
[    1.277061] rk3188 lcdc1 clk enable…
[    1.277114] lcdc1: dclk:74250000>>fps:60
[    1.277159] rk30-lcdc rk30-lcdc.1: rk3188_load_screen for lcdc1 ok!
[    1.277231] lcdc1: dclk:74250000>>fps:60
[    1.277273] rk30-lcdc rk30-lcdc.1: rk3188_load_screen for lcdc1 ok!
[    1.277341] lcdc1 wakeup from standby!
[    1.277383] lcdc1 win0 open,atv layer:1
[    1.282616] Freeing initrd memory: 1216K
[    1.282733] PMU: registered new PMU device of type 0
[    1.282912] DVFS MSG: core: dvfs_adjust_table_lmtvolt get leakage_level = 3
[    1.282989] DVFS MSG: aclk_gpu: dvfs_adjust_table_lmtvolt get leakage_level 3
[    1.382349] rk3188 cpufreq version 2.1, suspend freq 816 MHz
[    1.382969] Loaded driver for PL330 DMAC-1 rk29-pl330
[    1.383031]  DBUFF-32x8bytes Num_Chans-6 Num_Peri-12 Num_Events-12
[    1.383252] Loaded driver for PL330 DMAC-2 rk29-pl330
[    1.383315]  DBUFF-64x8bytes Num_Chans-7 Num_Peri-20 Num_Events-14
[    1.410619] highmem bounce pool size: 64 pages
[    1.410832] ashmem: initialized
[    1.420066] fuse init (API version 7.16)
[    1.424803] Block layer SCSI generic (bsg) driver version 0.4 loaded (major )
[    1.424886] io scheduler noop registered
[    1.424933] io scheduler deadline registered
[    1.425015] io scheduler cfq registered (default)
[    1.445254] rga: Driver loaded succesfully
[    1.445378] rk3188 lcdc0 clk enable…
[    1.445428] lcdc0: dclk:74250000>>fps:60
[    1.445469] rk30-lcdc rk30-lcdc.0: rk3188_load_screen for lcdc0 ok!
[    1.445958] lcdc0: dclk:27000000>>fps:60
[    1.448266] rk30-lcdc rk30-lcdc.0: rk3188_load_screen for lcdc0 ok!
[    1.448333] lcdc0: dclk:27000000>>fps:60
[    1.450644] rk30-lcdc rk30-lcdc.0: rk3188_load_screen for lcdc0 ok!
[    1.450707] lcdc0 wakeup from standby!
[    1.450746] lcdc0 win0 open,atv layer:1
[    1.450794] rk1000_tv ver 2.0 probe ok
[    1.451033] rk_serial.c v1.3 2012-12-14
[    1.451316] rk_serial rk_serial.0: dma_rx_buffer 0xffdfc000
[    1.451373] rk_serial rk_serial.0: dma_rx_phy 0x8c956000
[    1.451431] rk_serial rk_serial.0: serial_rk_init_dma_rx sucess
[    1.451491] rk_serial.0: ttyS0 at MMIO 0x10124000 (irq = 66) is a rk29_seria0
[    1.629797] rk_serial rk_serial.0: membase 0xf70c0000
[    1.630036] rk_serial.3: ttyS3 at MMIO 0x20068000 (irq = 69) is a rk29_seria3
[    1.789791] rk_serial rk_serial.3: membase 0xf70c8000
[    1.790825] Rockchip ion module(version: 1.0) is successfully loaded
[    1.797301] loop: module loaded
[    1.797447] Android kernel panic handler initialized (bind=kpanic)
[    2.800542] rk29 vmac rk29 vmac.0: ARC VMAC at 0x10204000 irq 51 62:5f:65:2cd
[    2.800639] PPP generic driver version 2.4.2
[    2.800783] PPP Deflate Compression module registered
[    2.800825] PPP BSD Compression module registered
[    2.822530] PPP MPPE Compression module registered
[    2.822581] NET: Registered protocol family 24
[    2.822672] usbcore: registered new interface driver asix
[    2.822744] usbcore: registered new interface driver cdc_ether
[    2.822808] usbcore: registered new interface driver dm9620
[    2.822870] usbcore: registered new interface driver SR9700_android
[    2.822934] usbcore: registered new interface driver net1080
[    2.822997] usbcore: registered new interface driver cdc_subset
[    2.823060] usbcore: registered new interface driver zaurus
[    2.823111] cdc_ncm: 04-Aug-2011
[    2.823155] usbcore: registered new interface driver cdc_ncm
[    2.823199] Rockchip WiFi SYS interface (V1.00) …
[    2.823261] Initializing USB Mass Storage driver…
[    2.823326] usbcore: registered new interface driver usb-storage
[    2.823375] USB Mass Storage support registered.
[    2.823475] usbcore: registered new interface driver usbserial
[    2.823537] USB Serial support registered for generic
[    2.823599] usbcore: registered new interface driver usbserial_generic
[    2.823649] usbserial: USB Serial Driver core
[    2.823698] USB Serial support registered for GSM modem (1-port)
[    2.823769] usbcore: registered new interface driver option
[    2.823812] option: v0.7.2:USB Driver for GSM modems
[    3.035845] DWC_OTG: ^^^^^^^^^^^^^^^^^Device Mfie
] usug0_otg usb20_otg: DWC OTG Controller
[    3.036009] usb20_otg usb20_otg: new USB bus registered, assigned bus number1
[    3.036095] usb20_otg usb20_otg: irq 48, io mem 0x00000000
[    3.036141] DWC_OTG: dwc_otg_hcd_start controller in device mode,everest
[    3.036228] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    3.036285] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber1
[    3.036344] usb usb1: Product: DWC OTG Controller
[    3.036383] usb usb1: Manufacturer: Linux 3.0.36+ dwc_otg_hcd
[    3.036428] usb usb1: SerialNumber: usb20_otg
[    3.036728] hub 1-0:1.0: USB hub found
[    3.036771] hub 1-0:1.0: 1 port detected

Since I needed to access the command line to try to capture the screen, and I could not type into the serial console I used adb instead. In Linux (Ubuntu 13.10) you need to edit two files, and add one line to each:

  • ~/.android/adb_usb.ini – add 0x2207 at the end
  • /etc/udev/rules.d/51-android.rules – add the following line:
    SUBSYSTEM=="usb", ATTR{idVendor}=="2207", MODE="0666", GROUP="plugdev"

Then you can run adb devices to make sure adb finds the board:

adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
5YEA8SL1TF    device

If the adb daemon was already running before you changed the files, you should run adb kill-server first.

Radxa Rock Benchmark

I’ll just run two benchmark: Antutu and Quadrant, to see how fast the current firmware runs on the board.

Radxa_Rock_AntutuThe board gets nearly 18,000 in Antutu 4 which is consistent with other RK3188 devices.

The score in Quadrant (5464) is also fine for a RK3188 based board.

You can find more information about Radxa Rock, and its little brother Radxa Rock Lite, on radxa.com, and if interested, purchase the board for $99 + shipping via Miniand, Seeedstudio or Aliexpress.

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