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.

Other CPU specific tags exist, 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.

10804 questions
268
votes
1 answer

How to affect Delphi XEx code generation for Android/ARM targets?

Update 2017-05-17. I no longer work for the company where this question originated, and do not have access to Delphi XEx. While I was there, the problem was solved by migrating to mixed FPC+GCC (Pascal+C), with NEON intrinsics for some routines…
Side S. Fresh
  • 2,964
  • 2
  • 13
  • 18
229
votes
5 answers

How does the ARM architecture differ from x86?

Is the x86 Architecture specially designed to work with a keyboard while ARM expects to be mobile? What are the key differences between the two?
user1922878
  • 2,477
  • 3
  • 11
  • 7
167
votes
2 answers

What is difference between arm64 and armhf?

Raspberry Pi Type 3 has 64-bit CPU, but its architecture is not arm64 but armhf. What is the difference between arm64 and armhf?
furushchev
  • 1,849
  • 2
  • 8
  • 12
153
votes
1 answer

Why do ARM chips have an instruction with Javascript in the name (FJCVTZS)?

FJCVTZS is "Floating-point Javascript Convert to Signed fixed-point, rounding toward Zero". It is supported in Arm v8.3-A chips and later. Which is odd, because you don't expect to see JavaScript so close to the bare metal. I can find explanations…
Tim Smith
  • 1,444
  • 2
  • 9
  • 14
143
votes
3 answers

Why use armeabi-v7a code over armeabi code?

In my current project I make use of multiple .so files. These are located at the armeabi and armeabi-v7a folder. Unfortunately one of the .so files is a 6MB and I need to reduce file size. Instead of having a fat APK file, I would like to use just…
PaulT
  • 1,757
  • 2
  • 12
  • 13
126
votes
15 answers

Quickly find whether a value is present in a C array?

I have an embedded application with a time-critical ISR that needs to iterate through an array of size 256 (preferably 1024, but 256 is the minimum) and check if a value matches the arrays contents. A bool will be set to true is this is the…
wlamers
  • 1,266
  • 2
  • 10
  • 14
118
votes
9 answers

How to install the Raspberry Pi cross compiler on my Linux host machine?

I am attempting to get cross-compiling for Raspberry Pi working on my Ubuntu machine. During my initial attempts I was using the arm-linux-gnueabi compiler, which is available in the Ubuntu repo. I got this working. I was able to build all my…
pqvst
  • 3,854
  • 6
  • 28
  • 38
106
votes
5 answers

What's the difference between hard and soft floating point numbers?

When I compile C code with my cross toolchain, the linker prints pages of warnings saying that my executable uses hard floats but my libc uses soft floats. What's the difference?
Evan Kroske
  • 4,250
  • 10
  • 34
  • 57
103
votes
4 answers

What is the difference between ELF files and bin files?

The final images produced by compliers contain both bin file and extended loader format ELf file ,what is the difference between the two , especially the utility of ELF file.
Manik Mahajan
  • 1,447
  • 2
  • 13
  • 18
100
votes
3 answers

Differences between arm64 and aarch64

I have two "unlocked" devices, an iPad mini 3, and a Galaxy Edge 6, both endowed with a terminal and a minimalistic set of unix commands. I thought both devices have arm64 processors but when I ran uname -a on both devices I got the following : for…
Olorin
  • 2,083
  • 2
  • 16
  • 35
79
votes
2 answers

What are SP (stack) and LR in ARM?

I am reading definitions over and over again and I still not getting what are SP and LR in ARM? I understand PC (it shows next instruction's address), SP and LR probably are similar, but I just don't get what it is. Could you please help me? edit:…
good_evening
  • 19,773
  • 60
  • 178
  • 288
79
votes
1 answer

What could cause P/Invoke arguments to be out of order when passed?

This is a problem that happens specifically on the ARM, not on x86 or x64. I had this problem reported by a user and was able to reproduce it using UWP on Raspberry Pi 2 via Windows IoT. I've seen this kind of problem before with mismatched…
borrrden
  • 32,544
  • 8
  • 70
  • 106
78
votes
8 answers

Mono on Raspberry Pi

I've seen a lot of talk about running Mono/.NET code on the Raspberry Pi. Has there been any success in actually running any Mono code on a Raspberry Pi? On their site, they list several Linux distributions that work on the device and some of these…
AngryHacker
  • 54,471
  • 90
  • 289
  • 523
75
votes
11 answers

What is the difference between FIQ and IRQ interrupt system?

I want to know the difference between FIQ and IRQ interrupt system in any microprocessor, e.g: ARM926EJ.
Renjith G
  • 5,049
  • 8
  • 25
  • 26
70
votes
2 answers

Android Studio - How Can I Make an AVD With ARM Instead of HAXM?

I'm new to Android Studio. My computer doesn't support HAXM so it won't let me install that to use for virtualization. In some similar questions on this website people mention setting up a virtual device with an ARM instead of HAXM. How can I do…
user2636417
  • 2,149
  • 3
  • 12
  • 8
1
2 3
99 100