Questions tagged [arm]

This tag is used for questions related to the ARM (Advanced RISC Machine) family of computers; that is machines or electronics running on ARM processor cores or systems using an ARM core. For Azure-related questions, use [azure-resource-manager].

ARM (formerly Advanced RISC Machine and Acorn RISC Machine) is a reduced instruction set computer (RISC) instruction set architecture (ISA) developed by Acorn Computers and extended by ARM Holdings. The ARM architecture is the most widely used 32-bit instruction set architecture in numbers produced.

More information can be found in the Wikipedia article on ARM Architecture and the ARM Reference Documents.

There are many different variants of the ARM assembler that have evolved over time. The notation can be confusing. For instance, arm7 and armv7, are completely different. The first is a CPU implementation; the second is a CPU architecture. The architecture, also called a family, is a set of machine instructions (or ISA for instruction set architecture) that are generally compatible. See: Wikipedia's list of ARM microarchitectures for more.

Related tags:

  • - the first version consisted of a reduced set of 16bit instructions. thumb2, introduced with armv6, includes a mix of 16 and 32bit instructions, extended further in armv7 such that it can do most things the normal ARM ISA can.
  • - a SIMD extension for ARM CPUs
  • - an embedded ISA of the armv7 that only supports thumb2.
  • - the application version of armv7 ISA.
  • - the eighth arm architecture (armv8) includes 64bit registers.
  • - a security feature in some armv6, armv8 and armv7 CPUs.
  • - bus or interconnect specification used between CPUs and peripherals.
  • - SWD (Serial Wire Debug) is a light weight version of JTAG designed for ARM MCUs.

Do not create tags such as . Often those posts apply to other cortex-m CPUs and/or the difference between the versions is important to understand. Also newer future CPUs may extend a specific CPU and questions in that tag maybe relevant.

If you are only posting to the tag try to give some specifics about the system you are using.

12252 questions
31
votes
2 answers

What is the difference between a Bootrom vs bootloader on ARM systems

I primarily come from an x86 system background where BIOS (Firmware) is responsible for loading a bootloader (like GRUB) from PowerON which in turn loads the OS. I now have been reading the equivalent boot sequence on ARM systems and it seems there…
modest
  • 1,387
  • 3
  • 16
  • 20
31
votes
4 answers

How does native android code written for ARM run on x86?

Motorola just released an x86 based Android phone. I'm a little confused as to how native apps/libraries written for ARM(netflix for example) can run on this phone. I'd be grateful if someone could explain.
Ayush
  • 709
  • 2
  • 8
  • 17
31
votes
4 answers

Can ARM desktop programs be built using visual studio 2012?

I was working with visual studio 2012 beta and my desktop (win32) program compiled fine in ARM architecture. After upgrading to visual studio 2012 RC, the compiler would not work and spews out the following error: "Compiling Desktop applications for…
Viesturs
  • 1,691
  • 4
  • 21
  • 25
31
votes
2 answers

Cross compiling GCC with newlib for ARM: how to specify GCC options like -march?

I've compiled GCC along with newlib on Mac OS X for ARM targets. However, libc.a was compiled with -fshort-enums, and I don't want that because when I compile stuff for ARM, I use -fno-short-enums. This conflicts, of course: ld: warning:…
Synthetix
  • 2,035
  • 3
  • 24
  • 30
30
votes
2 answers

Beagleboard bare metal programming

I just got my BeagleBoard-Xm and I'm wondering if there is any detailed step by step tutorials on how to get a very simple bare metal software running on the hardware? The reason I ask is I want to deeply understand how the hardware architecture…
MrGigu
  • 1,729
  • 3
  • 23
  • 37
30
votes
4 answers

How to measure program execution time in ARM Cortex-A8 processor?

I'm using an ARM Cortex-A8 based processor called as i.MX515. There is linux Ubuntu 9.10 distribution. I'm running a very big application written in C and I'm making use of gettimeofday(); functions to measure the time my application…
HaggarTheHorrible
  • 7,083
  • 20
  • 70
  • 81
30
votes
5 answers

Linker error on a C project using Eclipse

I want create a project for the STM32F217IG microcontroller. So I installed Eclipse and the GNU for ARM embedded GCC cross compiler. I don't think it is the Code Sourcery one. I used it, because it supports floating point and Code Sourcery does…
damien
  • 415
  • 1
  • 6
  • 13
29
votes
4 answers

Which GCC optimization flags affect binary size the most?

I am developing a C++ for ARM using GCC. I have ran into an issue where, I no optimizations are enabled, I am unable to create a binary (ELF) for my code because it will not fit in the available space. However, if I simply enable optimization for…
Patrick Wright
  • 1,401
  • 7
  • 13
29
votes
2 answers

Windows -1252 is not supported encoding name

I am working with windows 10 universal App and the ARM CPU to create apps for the Raspberry Pi. I get the following error with encoding: Additional information: 'windows-1252' is not a supported encoding name. For information on defining a custom…
Muhand Jumah
  • 291
  • 1
  • 3
  • 3
29
votes
4 answers

Is there a good reference for ARM Neon intrinsics?

The ARM reference manual doesn't go into too much detail into the individual instructions ( http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0348b/BABIIBBG.html ). Is there something that's a little more detailed?
Vineeth
  • 473
  • 1
  • 6
  • 8
29
votes
5 answers

Tool to visualize the device tree file (dtb) used by the Linux kernel?

I am looking for a tool which can graphically represent the hardware device tree used in linux kernel. I am trying to understand linux kernel for particular arm chipset. It would be a really useful tool to have.
Punit Soni
  • 1,229
  • 3
  • 17
  • 26
28
votes
3 answers

Is there a way to compile for ARM rather than Thumb in Xcode 4?

Apple is recommending to compiling for ARM rather than thumb if there are many floating point operations going on. My whole app is almost one big floating point operation. Here's what they say in the iOS App Development Workflow Guide: iOS devices…
openfrog
  • 40,201
  • 65
  • 225
  • 373
28
votes
5 answers

How prevalent is branch prediction on current CPUs?

Due to the huge impact on performance, I never wonder if my current day desktop CPU has branch prediction. Of course it does. But how about the various ARM offerings? Does iPhone or android phones have branch prediction? The older Nintendo DS? How…
porgarmingduod
  • 7,668
  • 10
  • 50
  • 83
28
votes
3 answers

Converting very simple ARM instructions to binary/hex

I've been trying to use this page as well as various other guides to figure out how to express very simple ARM instructions as binary and hex. It seems like it should be a straightforward process to me, but I still don't understand. Here's a few…
n00neimp0rtant
  • 905
  • 1
  • 8
  • 18
27
votes
7 answers

MIPS processors : Are they still in use? Which other architecture should I learn?

I've been programming for x86 & x86-64 in assembly language for few months. Now, I want to move on to some different kind of processors. MIPS, SPARC, PowerPC, Itanium, ARM of these I found ARM is being widely use. But the books I see that…
claws
  • 52,236
  • 58
  • 146
  • 195