Using ARM Development Studio 5 (DS-5) Streamline with MK802II mini PC
MK802-II is an Android 4.0 mini PC powered by AllWinner A10 (ARM Cortex A8) with 1GB RAM and 4GB flash. Instructions are also available to run Ubuntu, or other Linux distributions. ARM Development Studio 5 (ARM DS-5) is software development tool suite for ARM processors that can be used for both Linux and Android debugging, and available in 2 versions: professional edition and community edition, the latter being free of charge. I’m writing about both today, because Bob Peng, Technical Marking Engineer for ARM China, recently wrote a blog post in Chinese [Update: An English version is now available] showing how to use MK802-II, preloaded with the required drivers and daemon, with DS-5 Streamline Performance Analyzer with is part of both versions. The community edition may be missing some features of Streamline however.
Streamline Performance Analyzer allows you to:
- Find out which modules or functions to take up most of the CPU, in order for you to optimize the affected code to speed up code execution speed.
- Monitor power, current and voltage in real-time, so that you can optimize the CPU tasks to achieve the best performance at the lowest power consumption.
- Analyze and optimize ARM Mali GPU in real-time, monitor CPU & GPU cache usage, and system memory usage.
Before using DS-5 Streamline Performance Analyzer, you normally need to setup your hardware development environment, and manually compile DS-5 gator driver for Streamline daemon. If you’re just an application developer, it can be a pain because you don’t usually care about low level stuff like compiling the kernel and modules, and your application is (mostly) hardware independent. That’s why, the ARM team in China, as chosen MK802-II as as low cost (about $35) development platform, and pre-built all you need to get going with DS-5 Streamline.
The trick seems you need to buy Rikomagic MK802II mini PC from a specific Aliexpress shop, and ask them to install DS-5 gator driver during the purchase, and you’ll also find ARM DS5 Streamline starting guide and USB driver in /home/ARM-DS-5 directory according to the shop. Sorry, I could not find a link to download the binaries and USB driver (USBDriver_MK802ii.zip) if you already have such device… Let me know if it’s available somewhere. I assume they decided to proceed this way to avoid having to handle different firmware versions, and if you want to use an existing device you should be able to build this yourself.
The instructions to configure the TV Dongle and your computer (Windows, Linux or Mac), install ARM DS-5 (PE or CE) are explained in details in the post, but I’ll skip that, and write directly about the things you can do with Streamline and MK802-II.
Once all is configured properly, you can start ARM DS-5 to analyze your application:
- Timeline view – CPU performance analysis
The part you want for the CPU usage analysis in the screenshot above is the linux Scheduler, branch, and clock section, but this view also include GPU vertex and fragment and Disk IO, and other GPU parts shown in the figure below.
- Timeline View – Mali GPU Performance Analysis
Scrolling down the Timeline View, you’ll find more details about GPU usage such as geometry statistics and GPU vertex processor activity, but you’ll also get information about memory usage, interrupts and more.
- Call Paths View
The call paths view is supposed to show how functions are called, but since they just used the Android Browser for testing it mainly shows the libraries which have been called and the CPU usage.
- Functions view
Again, the example above is not optimal because they used a release binary, but it still shows you which libraries takes the most CPU usage.