This PDF covers technical details of developing applications that use ARMv7-A architecture technologies (e.g. Cortex-A8, Cortex-A9, Cortex-A5, Cortex-A7 and Cortex-A15 processors). It includes information on memory models, registers, cache, interrupts, porting, NEON, SMP, big.LITTLE, ABIs and more. If you were looking to accelerate and application, improve power management, port a complex application or pass the ARM Accredited Engineering Program exam, this is an excellent study guide.
ARM Development Studio 5 (DS-5™) Community Edition takes Android native development tools to the next level. Conveniently distributed as plug-in for Eclipse, DS-5 CE completes the serious app developer toolkit with a comprehensive C, C++ and Assembly graphical debugger that builds on the Android Debug Bridge (adb), a software performance profiler and system analyzer, and a complete set of resources to guide you through your development cycle. Several ARM engineers have great blogs on setting up and getting the most of DS-5 CE features including:
- A video overview of DS-5 CE
- Installing DS-5 CE and debugging your first Native app
- Setting up Gator on an Android device for Streamline system profiling and performance analysis
- Use an Android device with Gator pre-loaded to enable hassle free Streamline profiling
NEON is ARM's Single Input Multiple Data (SIMD) architecture available on most Android ARM powered devices. It is a powerful engine for accelerating processing of media, augmented reality, gaming graphics and physics engines, DSP, etc. We have some great blogs on how NEON works:
- Coding for NEON - Part 1: Load and Stores
- Coding for NEON - Part 2: Dealing With Leftovers
- Coding for NEON - Part 3: Matrix Multiplication
- Coding for NEON - Part 4: Shifting Left and Right
- Coding for NEON - Part 5: Rearranging Vectors
However, if you are an Android developer without the resources to implement NEON intrinsics for auto vectorization yourself, consider a new open source project targeting Android and Linux apps, Ne10. Project Ne10 has been set up to provide a set of common, useful functions which have been heavily optimized for the ARM Architecture and provide consistent well tested behavior that can be easily incorporated into applications. We have a blog covering the concept behind Ne10 or you can always go straight to our getting started blog and the public Github repository. If you're simply interested in seeing NEON code at work or want a hands on simulator for an algorithm you're working on, check out the NEON visualizer, another great open source project for sharing ARM technology.
ARM® Mali™ family of Graphics Processing Units (GPUs) deliver industry-leading graphics on entry level smartphones, right through to visually stunning user experiences for the future of top-end, cutting-edge superphones, tablets and Smart TVs. It is a resource for all things Mali.