The Wayback Machine - https://web.archive.org/web/20120917050906/http://blogs.arm.com:80/software-enablement/

Login

ARM The Architecture For The Digital World  

ARM Community: Software Enablement - ARM Community

Jump to content

Snowball - a catalyst for mobile innovation

Snowball is a low-cost, feature-rich developer board based on ST-Ericsson’s Nova™ A9500 application processor, embedding a dual-core ARM® Cortex™-A9 along with peripheral interfaces to about everything that ever can be imagined.
Attached Image


With the Snowball, you get easier access to leading-edge technology thus the means you need to accelerate development of system and software innovations. And even better, further stimulating the development and also opening up the possibilities for cooperation with other industry actors, there’s an entire family of Snowball developers out there.

Collaborate

Igloo is the Snowball developers’ community that facilitates and drives software innovation for Android, Ubuntu, Tizen, QT and ...

NEVADA: NEON Visualization for ARM Developers

Embedded devices have rapidly evolved in the past decade. Although these devices are capable of running advanced web and desktop applications with sufficient performance, further improving the software is a never ending task for developers. Recent ARM CPUs include a NEONTM engine with an instruction set used to efficiently process multimedia content. However, since automatic compiler optimizations are limited for Single Instruction Multiple Data (SIMD) instruction sets today, developers need to optimize their software to this instruction set by hand.

The NEON instruction set provides parallel computation without threads, but also requires a new way of thinking for developers, which takes time to master. The most efficient way to learn is observing and modifying the behaviour of small code snippets. However, running and debugging these code snippets requires a full development environment, which might not be available anywhere. Investigating new ideas or demonstrating these ideas to others might be difficult when the environment is not available....

Desperately Seeking Info - a Darwinian approach to technical documentation

As writers at ARM, we always ask ourselves one particular question when we start to create a new document for a product: “What level of knowledge do I assume the audience will have?” If we assume too little, we are in danger of producing a large document that contains superfluous information. If we assume that the audience knows too much, then we risk losing them after the first couple of pages.

Meanwhile, the audience for these documents is trying to find information. Just like the Madonna film, “Desperately Seeking Susan,” where Madonna’s character searches for her soul-sister, the audience is “desperately seeking information.” They are looking for that vital piece of information to reach the next step in their development project. Typically, readers will need to sift through reams and reams of known information in the hope that they may find what they need, or worse, they may become lost in a morass of unfamiliar concepts.

So, the biggest problem that writers face when producing any technical document is that they need to accommodate a diverse audience with varying degrees of knowledge and understanding. Ideally, the writer needs to structure the information in a document such that it is both readily accessible and appropriate to the specific and immediate needs of ...

Fast Model Evaluation: Helping hardware & software designers sleep better

Virtual Platforms and Fast Models are gaining more advocates: why is this?

It’s probably not the most scientific metric ever. However, if the volume of email, Skype, phone calls and other assorted contacts crossing my desk is anything to go by then the interest in abstract modelling and virtual platforms is escalating rapidly. ARM Partners from all corners of the planet engaged in designs across a broad spectrum of applications are using or evaluating the use of a virtual platform as part of their software and system design process.

Attached Image

When I spent a few minutes - with Outlook switched off - to think about the factors driving this demand it was clear that there are a few recurrent themes and there are a set of conditions in the market place creating (cliché alert) The Perfect Storm.

Each partner will have their own set of criteria that drives the need to adopt the technology, but in the end it comes down to this. Th...

Page Colouring on ARMv6 (and a bit on ARMv7)

Page colouring is a technique for allocating pages for an MMU such that the pages exist in the cache in a particular order. The technique is sometimes used as an optimization (and is not specific to ARM), but as a result of the cache architecture some ARMv6 processors actually require that the allocator uses some page colouring. Some ARMv7 processors also have related (though much less severe) restrictions. This article will explain why the cache architecture imposes this restriction, and what it means in practice.

Note that this restriction only very rarely needs to be considered outside of the physical memory allocator in the kernel (or other privileged code). Typical user-space code probably won't have to deal with this directly, though understanding page colouring can help to explain why some mmap calls work on ARMv7 but fail on ARMv6, for example.

The restriction stems from the fact that many ARMv6 processors use VIPT caches. VIPT means "virtually indexed, physically tagged". If you're not familiar with cache terminology, that probably won't mean a lot, but I will try to explain by way of example.

In general, ARMv7 is not affected by ARMv6's page colouring restrictions. However, ARMv7 can have VIPT ...

  • (21 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.

"});} $('gbl_d').update("");_last=ipsLightbox.lightboxImage.src;}} _to=setTimeout("gbl_addDownloadButton()",1000);}