Login

ARM The Architecture For The Digital World  

ARM Community: Software Enablement - ARM Community

Jump to content

Design West (ESC) Day 1: Optimizing Your Software on ARM

It was a full first day at the ESC Summit of Design West. I spent most of the time doing what I love to do best: talking with ARM Partners. Most of the conversations focused on how engineers can achieve better software on their ARM processor-based SoCs.

Andy Frame had a few meetings in the morning so he passed the baton (microphone) to me so I can share some of the insights with the ARMFlix followers. I’m looking forward to Day 2 and speaking with more of the ARM Partners at ESC (check out our handy map). Don’t miss the ARM Connected Community Theatre at ...

Ne10: A New Open Source Library to Accelerate your Applications with NEON

The past three years we have seen explosive growth in the use of the NEON™ SIMD engine by many of our software partners in the open-source community. The engine itself, defined as part of the ARM® Architecture, Version 7 (ARMv7), has shown itself to be extremely flexible and able to accelerate everything from Video Codecs such as VP8 to elements of the emerging HTML5 standard including <svg> and <canvas> filters. From an applications developer viewpoint, all of this acceleration takes place behind the scenes in upstream open source projects that are harvested to build the latest and greatest open source operating systems and frameworks such as Android™ and QT. While it is good to kno...

Setting Up Android Mobile Phone to Use ARM Streamline for Profiling

This is an article describing the steps how to set up your Android Phone to run ARM Streamline Performance Analyzer.

ARM Streamline Performance Analyzer is a system-wide visualizer and profiler for targets running ARM Linux or Android native applications and libraries. Combining an ARM Linux kernel module, target daemon, and a graphical user interface, it transforms system trace and sampling data into reports that present the data in both visual and statistical forms.

Streamline supports Cortex™-A8, Cortex-A9, ...

Developing Top Performing Graphics Applications for Android Made Easy

The new DS-5 Community Edition brings CPU and GPU statistics together to speed up Android games and applications

Game Developers Conference (GDC), San Francisco - These are very special days for Android application developers targeting ARM processor-based devices.


Attached Image
On March 2nd the version of the ARM® Development Studio 5 (DS-5™) toolchain dedicated to Android native application developers, the DS-5 Community Edition (CE), was selected as finalist for the Eclipse Community Awards in the ...

Annotating ARM Streamline Profiles of Mozilla Browsers from JavaScript

I have recently been using the ARM Streamline profiler to study the behaviour of Mozilla Mobile Firefox (code-named Fennec) on Android. Streamline is a graphical profiling tool that is provided with ARM's DS-5™ development tool suite. Some time ago, whilst investigating a Fennec performance regression bug using Streamline, I had noticed some unexpected activity on the browser's main process. However, it was not clear whether the activity was some periodic event unrelated to the benchmark (perhaps related to garbage collection) or something triggered by the benchmark itself. The graphical timeline view in Streamline is very good for identifying areas that might benefit from optimization, and for highlighting anomalies and bottlenecks. Howe...

Top 2011 ARM Software blogs: Android, NEON, RISC vs CISC & Assembly

2011 was a busy year for developing software on ARM and the activity is reflected in the page views of top Software Enablement blogs. The topics included managing caches, Android (multiple), NEON (multiple), Memory Access Ordering, RISC vs CISC architectures (multiple), and optimizing assembly code (listed by popularity below). In addition, the Software Enablement Community pages (Linux, Solution Center for Android, RTOS, Microsoft, etc) were some of the highest referenced pages on the ARM site. Please let us know if you have more ideas for easing your software development on the ...

ARM DS-5 Community Edition: Enabling the Android Developer Community

The need for quality professional tools for cross platform development when battling obscure software bugs and performance issues cannot be understated. With the ARM® Development Studio 5 (DS-5™) Community Edition (CE) we deliver some of the professional development capabilities of the DS-5 toolkit to the Android developer community. In this blog we’ll explore a few of the debug features of DS-5 CE and look at how it enables application development on Android.

Is DS-5 Community Edition for me?
The purpose of DS-5 CE is to bring the power of DS-5 tools to small development firms (with 10 or fewer employees) and individuals who publish applications for Android. This edition of DS-5 tools supports debug of native C/C++ libraries included in Android applications, on real devices and emulators. DS-5 CE also includes a basic version of the ...

Optimizing DirectFB with ARM NEON

DirectFB (Direct Frame Buffer) is a graphics library that is widely used in embedded systems, especially home market. More and more applications or libraries choose DirectFB as backend, such as Cairo, GDK, Qt, V8, X11 and Webkit. ARM NEON technology could be well used in 2D acceleration. In this blog, I’ll describe how to optimize DirecFB using NEON.

1. Introduction
1.1 DirectFB Introduction
DirectFB (Direct Frame Buffer) is a thin library that provides hardware graphics acceleration, input device handling and abstraction, integrated windowing system with support for translucent windows and multiple display layers. It is free software licensed under the terms of the GNU Lesser General Public License (LGPL). Graphics features provided by DirectFB including Rectangle Filling/Drawing; Triangle Filling/Drawing; Line Drawing Blit; Alpha Blending (texture alpha, alpha modulation); Porter/Duff; Colorizing; Source Color Ke...

定位,合作,共享 - 中科创达(Thundersoft)的Android红海战略

简介:ThundersoftAndroid核心技术和整体解决方案提供商, 通过提供完整的Android方案和服务,帮助OEM客户快速推出高品质产品。Thundersoft公司在Android 系统底层技术、中间件和应用开发、集成和服务方面经验丰富,在智能手机, 平板电脑等移动互联网终端产业链中具有独特优势Thundersoft...

Debugging Airplay Android applications on the PandaBoard

This blog describes some of the techniques available to deploy and debug native Android applications on target. My main focus for setting about on this debug session was to debug an application generated by the Airplay SDK (see footnote#), a cross-platform development SDK that primarily uses host debug tools like Visual Studio and Xcode to debug a version of the mobile application built for the desktop. Using workflows that combine the powerful and easy to use DS-5 Debugger with Airplay SDK, developers can gain the convenience and flexibility which they greatly need when debugging code on target.

I’m going to start from the point of view that you already have the Android SDK and NDK installed since Google’s documentation goes through that process with some step-by-step instructions. I als...

Analysis of Airplay Android apps using ARM Streamline

On how many occasions have you engineered an application that works perfectly well on the Android SDK emulator, only to find that the performance is not quite the same when testing on a real device? My job in the ARM® Development Studio 5 (DS-5™) applications engineering team is to figure out ways in which the tools we produce can deliver quantifiable value for application developers by solving problems they face day to day.

I happened to see a partner presentation on Airplay SDK (see footnote#), which is an Ideaworks product that makes cross platform application development easy. Airplay supports Android as a target OS for the SDK. This blog entry is about my attempt to explore a sensible, easy way of using Airplay and ...

谷歌V8部署到ARM上:性能得到5倍提升

Attached Image
]现代网页主要构建于三大技术HTMLCSS和JavaScript。JavaScript推动了交互式网页的发展JavaScript执行速度慢也就意味着网页打开的速度慢。所以现在,人们做了大量的工作,努力改善JavaScript的性能,让我们能够拥有与台式机相同的功能,无论身处何处,都能轻松体验到强大的网页应用

GmailGoogle MapsGoogle Docs等网络应用程序均广泛使用JavaScript,借助快速高效的JavaScript引擎,各类系统的用户体验得到了极大改善。正是在此驱使下,2008...

Android 2.3 (Gingerbread) NDK现在更加接近纯本机开发

随着近期Gingerbread的发布及基于ARMAndroid每日激活数量达到300,000参见James Bruce的博客),开发人员迎来了前所未有的好机遇。开发人员所使用的工具也比以前要好。Gingerbread的更新引起了对如何支持开发人员为快速成长的消费市场创建优质内容的强烈关注。

Android很早就随软件开发套件(SDK)提供了一套本机开发套件(NDK)NDK可以支持以C/ARM...

如何将Android带入互联网数字家庭? 第四篇

在第一篇中,我们分享了数字家庭软件平台的发展趋势和特点
在第二篇中,我们归纳了将Android移植到电视、机顶盒平台需要面对的五大技术挑战并重点探讨了挑战1 : 符合电视体验的2D/3D图形性能和用户交互模式方面的挑战

在第三篇中, 我们探讨了更多的挑战, 包括“适合大屏的丰富多媒体影音体验”,“如何集成数字电视相关功能”, “如何推动应用开发者开发适合于TV的Android应用”
在本篇中,我们将一起来关注在内容保护/系统安全方面的挑战以及And...

关于Android NDK的10个技巧

随着Android NDK本机开发套件)披露了许多的新设备和新功能现在我们可以充分利用这些ARM设备了。下面列举了一些快速提示,希望对您有所帮助。

1 - 关注目标

最新的设备一般是ARMv7,这意味着它可以使用v7版本和功能。最新版的NDK增加了ARMv7NEON代码支持,可以实现关键循环操作和媒体操作优化,远超其它方法。NDK提供小型静态库,可以帮助您识别运行时的选项。有关如何使用这些功能的示例,请参见NDK样本目录中的...

From Zero to Boot: Porting Android to your ARM platform

This article describes how to get Android running on your favourite ARM-based System on Chip (SoC) board. We run through the overall procedure and point out potential pitfalls and other things that you may encounter.

Since the Android software stack was primarily designed around the ARM Architecture, there are not many things that need amending to get it to work on another ARM platform.

We assume that your workstation has Ubuntu (10.10 or later) Operating System installed, and that you have already followed the instructions found at [1] to be ready to build Android sources. These instructions have been tested with Ubuntu 10.10, but they should be compatible with other GNU/Linux OSes.

Terminology

For the purposes of this document, we use the following terms.

Mainline kernel ...

如何将Android带入互联网数字家庭? 第二篇

在上一篇中,我们探讨了数字电视/机顶盒软件架构的现状与未来,分享了数字家庭软件平台未来的发展趋势和特点(http://bit.ly/jCvlNs)。在本篇中,我们将一起来探讨为什么Android能够成为未来数字家庭软件平台的选择之一;而我们又如何才能将原本为手持设备量身定做的Android移植到电视/机顶盒平台?

1. 首先,我们需要回答的第一个问题就是:
Why Android?
为什么
Android能够成为未来数字家庭软件平台的有力竞争者?
先来看看Android自身的天然的优势:
Android 是一套完整的消费电子设备的软件解决方案,它包括:...

如何将Android带入互联网数字家庭? 第一篇

Android作为优秀的开源软件解决方案, 它的作用域已经从手机市场,波及到了平板电脑,甚至以数字电视、机顶盒为典型应用的数字家庭领域。Android最初是为手机移动设备量身定做的,它默认支持的分辨率,色彩深度, 多媒体播放架构,用户交互方式,2D/3D图形的性能等都无法适应类似于数字电视,机顶盒这样的家庭应用。
因此,将Android移植到数字电视或机顶盒需要对Android进行大量的定制和修改。这些修改和定制涉及到Android软件架构中的各个层面,我将用四篇Blog来依次介绍如何将标准的Android移植到数字电视或机顶盒平台。

在开始我们的讨论之前, 我们先来简单探讨一下目前数字电视和机顶盒软件的现状和未来
数字电视/机顶盒软件的现状
1 软件架构的差异化

目前, 数字电视和机顶盒的软件架构中由于使用了不同的操作系统, ...

Linaro Second Engineering Cycle Highlights

As we come to the end of our second engineering cycle, I thought it would be interesting to highlight 4 of the initiatives happening in Linaro that I believe are having the biggest impact on how we are demonstrating Linaro delivering on its initial mandate.

Linaro Evaluation Builds (LEBs): We’ve had an almost universally positive reaction to the initiative we started this year – to deliver evaluation builds of popular OSS distributions on our Member’s hardware. Our initial targets are Android and Ubuntu. The LEBs provide an integration point for Linaro Working Group developments, delivered on a set of reference platforms for the relevant OS. LEBs were created to make it easier for companies producing distributions or vertically integrated open source stacks to adopt Linaro software, reduce time to market for our Members through streamlined integration and validation of our Landing Team efforts, and mediate the flow of innovation between Linaro and their engineering teams ...

Google's V8 on ARM: Five Times Better

Attached Image
The modern web is built primarily from three technologies: HTML, CSS and JavaScript. It is JavaScript that drives the interactive web; slow JavaScript means slow web pages. So today, a huge amount of effort is being put into improving the performance of JavaScript, giving us access to powerful web applications, with features from your desktop, but available wherever you are.


Web applications like Gmail, Google Maps and Google Docs use JavaScript extensively, and the user experience is greatly improved on systems with fast, efficient JavaScript engines. In 2008, this motivated Google to create the V8 JavaScript engine project.


V8 is now, on modern benchmarks, the fastest JavaScript engine available. Rather than interpreting JavaScript as the old engines used to do, V8 uses a Just-In-Time compiler to produce and execute native instructions tailored to the processor on which it is running. The generated instructions are cached, avoiding the overhead of repeated code generation, and deleted when no longer needed.


V8 is now the core technology used in a number of important applications. It is the JavaScript engine used in Google's super-f...

Getting Started with Android Development

This blog is aimed at getting you started quickly in the world of Android development. I've included links to some golden tutorials and programs I found useful.. I've also included solutions to the annoying time-wasting problems I encountered when first starting out. I hope they will be helpful and will save you from the frustration I went through.

Setting up your Development environment

To get up and running quickly, follow the instructions from the Android developers site to set up your software development environment. If you don’t have an Android phone, don’t worry, the SDK contains an Android emulator.

I definitely recommend using the Android development tool plug-in for Eclipse. For someone like me who makes lots of common mistakes, such as missing imports of libraries and not putting the right parameters into a method, Eclipse is great because it easily spots common errors and offers quick fixes. There are many versions of Eclipse and it can be confusing which one you need to download. I use Eclipse Gali...

Android 2.3 (Gingerbread) NDK now close to pure Native Development

With the recent release of Gingerbread and the number of daily Android on ARM activations up to 300,000 (see James Bruce’s blog), the opportunity for developers has never been better. The tools developers have to work with have also never been better. The Gingerbread update brings a strong focus on enabling the developer to create premium content for a rapidly growing consumer market.

Android has long since included a Native Development Kit (NDK) alongside their Software Development Kit (SDK). The NDK enables the creation of native functions in C and/or ARM assembly code. These functions can then be called by Java applications via the Java Native Interface (JNI). A principle software engineer at ARM, under the pen name ARM_DaveB, has written a ...

Travels of ARM Rubik’s Cube Lego Speedcuber: 0 to Solved in15 seconds

So I can’t turn down a challenge. How was I going to improve the speed of the solver? Lights, camera, action! Yes I did it. I improved the Rubik Speedcuber from 25 to 15 seconds. And it only took travel, lights, camera, image analysis, native Android coding, a new phone and food. Intrigued? Check out the new demo at the ARM Technology Conference (ARM Techcon) in Santa Clara, California on Thursday Nov 11.

Challenge: How much faster can you make the Speedcuber?
Some people consider me to be a perfectionist. My view on this is just that I like to do things to the best of my ability and am always ready to accept a challenge. So when Ian Pilkington, Applied Systems Engineering Manager at ARM, asked, “How much faster can you make your Speedcuber?” I just had to try…

For those of you who are new to my blogs, you should be aware that I have a passion for LEGO, Rubik’s Cubes and software programming (on ...

Wealth of knowledge found at ARM Techcon: Linux, Android & development tools

The 2010 ARM Technology Conference (Techcon) is taking place in Santa Clara next week. A large number of companies will be presenting their solutions to support development and optimization of products based on ARM technology, and open source will be discussed in many of these with projects like Linux, Android and development tools. For instance, many of these solutions are using open source to leverage earlier work that ARM has done with the open source community, contributing CPU and architecture support to the upstream Linux kernel and GNU compilation tools ahead of partner silicon platforms being available. One of the most recent illustrations is the contribution of Cortex-A15 CPU support to the Linux kernel as the processor was announced. Linux kernel and GNU development tools are key building blocks to support the development of solutions such as Android, ...

Cortex-A15 to A5: Software compatibility from Superphone to Feature phone

It was always about the code (and where it would be used!)

When I was a software developer I would often find that the project team I was in would try to guess how many devices the code would eventually run on. So at the launch of the Cortex-A15 last week one of the main points that hit home for me was just how wide the spectrum of power and performance points the Cortex-A family of processors could cover - from feature phone to superphone, tablet to DTV, home server to web server etc. This means that a developer could now find their software running across a huge range of devices in the future.

So is it the same software?

Absolutely. Cortex-A15 is based on the same ARMv7A architecture that the other Cortex-A processors use, therefore allowing the exact same application code to run on all of them, from a ...

10 Android NDK Tips

With new devices and new capabilities being exposed by the Android NDK (Native Development Kit) it is now possible to really get the best out of these ARM based devices. Here are a few quick tips to help that along.

1 - Stay on Target

The newest devices are generally ARMv7, meaning that it can pay to use v7 builds and features. The latest version of the NDK adds support ARMv7 and NEON code allowing key loops and media operations to be optimized far beyond what would otherwise be possible. The NDK provides a small static library that will allow you to identify what options you have at runtime. For examples of how to use these features, look at the hello-neon example project in the samples directory of the NDK

The older devices are v6, but the NDK does not specifically support it, leaving you with the choice of building safely for v5TE or taking the risk that there may be v5TE devices out there. If you need every iota of speed, and know what hardware you are targeting, then it may be worth building for v6. The newest devices, supporting Android 2.0 and up, seem generally to be ARMv7 based, although yo...

Android Phones, tablets, TV’s… oh my!

I’ve written before about the proliferation of Android as a consumer device platform beyond its humble origins as a handset OS, but I’m continually amazed at the pace of this innovation from consumer electronics companies crafting new and savvy products from Android. I am at Computex this week and there are numerous products on display that fall into this category.

I won’t catalog the litany of devices here, I’m sure you’ll get enough of that via the ARMFlix YouTube channel or your favorite consumer device blog, instead I want to talk about why I think Android is able to adapt at such a breakneck pace. While a case can be made for any number of reasons, fundamentally, I believe there are two overwhelming factors. They are; (1) the architecture and versatility of the Android software stack and (2) the size of the IP and services ecosystem that has rapidly ...

Why is Open Source Important?

Sitting in the airport at the end of a week’s business trip to the US, I reflected back on the week. It turned out that my colleague on this trip has an even worse sense of direction than myself…Potentially disastrous, especially when you’re driving between airports, hotels and meetings in cities that you’ve never visited. This is where Google Maps becomes utterly indispensable. Installed on my Nokia E71 it makes use of the built in GPS and 3G and Edge networks to provide a running view of where we are, driving or walking. Without it we wouldn’t have found the wonderful Boulderado hotel or the Boulder Bookstore with its impressive converted ballroom. Actually, we’d probably still be driving around somewhere near Dallas.

Life changing and mind boggling as the online, always connected life of a sometime digital nomad is, w...

Android inspiring innovation for the home at CCBN

Android is fast becoming a ubiquitous solution for connected devices. We’ve all seen the successful handsets, like the Motorola Droid and the Nexus One. We are now also starting to see large screen Android tablets and netbook devices, and a few lucky folks have even seen the Android powered washing machine and microwave oven showcased at the CES 2010! The merits of Android in these far reaching peripheral categories are endlessly debatable. One thing is clear, the connectivity, application and content frameworks and low power technologies pioneered by the mobile industry and delivered through the Android platform on ARM, are equally relevant across a wider range of product categories, and none more so than the home marke...

Hello World! SW Development, Optimization and Partnership on ARM

ARM is hiring smile.gif OK, so that got some people’s attention and confused others – actually we are hiring, and in particular software developers. What can often come as a surprise to people is that as well as having a team of people that go plan and work alongside some our different software partners, ARM has a software engineering group that work on key bits of software, particularly on Cortex-A8 and Cortex-A9 projects. In fact it's very likely that some of the code running your mobile phone was developed by some of the ARM team.

The team cover a wide range of software projects that include:Web and web runtime optimization, for example JavaScript JIT optimization work on projects such as Tamarin, Webkit and Squirrelfish NitroExtreme), and OpenJDK optimization work.Operating System development – including Android, Linux kernel hacking and a ...

  • (15 Pages)
  • +
  • 1
  • 2
  • 3
  • Last »
All company and product names appearing in the ARM Blogs are trademarks and/or registered trademarks of ARM Limited per ARM’s official trademark list. All other product or service names mentioned herein are the trademarks of their respective owners.