Our common tasks are here to help you get started on your next project

Compiling C and C++ code for Arm

Get started compiling for Arm with Arm software tools.

Learn more

Optimizing your software

Get started optimizing your software.

Learn more

Writing Arm assembly code

Get started learning Arm assembly language with our curated resources.

Learn more

Running software on your target

Get started transferring your executable image to a target device.

Learn more

Understanding how your design will perform

Understand what performance you can expect from your system and discover different techniques you can use to analyze performance.

Learn more

Connecting target hardware to a debugger

Find out how to connect your target hardware to a host to perform debugging.

Learn more

Debugging your software

Get started investigating and trouble-shooting the operation of your code.

Learn more

Implement embedded continuous integration: Docker and Jenkins

Learn how to use Jenkins and Docker in a continuous integration development flow with Arm Fast Models to help minimize problems during software development and provide a consistent and automated foundation for your embedded software development work.

Learn more

How to use the Python wrapper for CMSIS-DSP with biquads

Learn how to use the CMSIS-DSP Python wrapper, and how a CMSIS-DSP API is represented in Python.

Learn more

Get started with Arm Fast Models

Learn how to download, license, and install Arm Fast Models, and then run an example system with a simple bare-metal hello world software application.

Learn more

Getting started with Docker

Learn how you can use Docker to simplify multi-architecture application deployment on both embedded devices and servers.

Learn more

Improve embedded software unit testing efficiency

Learn how to increase your unit testing throughput, by running more tests in less time.

Learn more

Analyze performance on the Raspberry Pi with Arm Streamline

Explore Linux application and system performance analysis and learn how to find where a system is spending time.

Learn more

Graphics and Gaming

Developing graphics and gaming software

Get started learning techniques and best practices to improve the performance of your applications.

Learn more

Get started with Graphics Analyzer

Look at the graphics API calls in an application and identify any rendering defects.

Learn more

Get started with Streamline

Capture a profile of your application running on an unrooted Android device, and analyze it using Streamline's interactive charts and data views.

Learn more

Get started with Mali Offline Compiler

Perform offline performance analysis for shader programs.

Learn more

Get started with Performance Advisor

Generate an easy-to-read performance summary from a Streamline capture.

Learn more

Advanced VR graphics techniques

Standalone and mobile virtual reality (VR) requires high performance  and efficiency from a GPU for the highest quality end user experience. Read our guide on creating VR applications on Arm Mali GPUs with Unity.

View the guide

Real-time 3D art best practices: texturing

This guide discusses texture optimizations that can help your games and look better, and run more smoothly.

View the guide

Real-time 3D art best practices: geometry

This guide highlights some key geometry optimizations for 3D assets. Geometry optimizations can make a game both more efficient, and perform better on mobile platforms.

View the guide

Real-time 3D art best practices: materials and shaders

This guide discusses material and shader optimizations that can help your games to look great, and run more efficiently.

View the guide

Get Support

Community Forums

Not answered Updating my avatar 0 votes 61 views 0 replies Started 6 days ago by Oliver Beirne Answer this
Not answered AHB Split and Retry 0 votes 208 views 0 replies Started 11 days ago by Anju Answer this
Not answered How can we route the interrupts to the particular core in GICv2.
  • CoreLink GIC-400
  • Interrupt Handling
  • GICv2
0 votes 282 views 0 replies Started a month ago by Him'z Answer this
Not answered keil 5.30 RTE 0 votes 661 views 0 replies Started 1 months ago by guangzong Answer this
Suggested answer LPC2148 bare-metal programming with gnu tools 0 votes 829 views 0 replies Started 1 months ago by PPNTX Answer this
Not answered CAN baud rate 0 votes 631 views 0 replies Started 1 months ago by Akhilesh Vernekar Answer this
Not answered Updating my avatar Started 6 days ago by Oliver Beirne 0 replies 61 views
Not answered AHB Split and Retry Started 11 days ago by Anju 0 replies 208 views
Not answered How can we route the interrupts to the particular core in GICv2. Started a month ago by Him'z 0 replies 282 views
Not answered keil 5.30 RTE Started 1 months ago by guangzong 0 replies 661 views
Suggested answer LPC2148 bare-metal programming with gnu tools Started 1 months ago by PPNTX 0 replies 829 views
Not answered CAN baud rate Started 1 months ago by Akhilesh Vernekar 0 replies 631 views