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
4
votes
1 answer

How to use QEMU's simple trace backend?

This is a follow up to this question with additional details since no one helped answer it. I cloned the latest QEMU repo and followed this tutorial to create a Hello World program for arm-softmmu. I traced the TCG, rather the registers in the Basic…
Arjun
  • 1,259
  • 1
  • 13
  • 25
4
votes
5 answers

When does malloc return NULL in a bare-metal environment?

There is a c memory model as following : +--------+ Last Address of RAM | Stack | | | | | v | +--------+ RAM | | | | +--------+ | ^ | | | | | Heap …
lrouter
  • 349
  • 1
  • 5
  • 20
4
votes
1 answer

Executing code that is preloaded in flash NOR

I'm building a uClinux system to run on an NXP LPC2478. The chip has 512k on-board fast flash from which it can directly execute code. I want to load and run a user app out of regular external SDRAM. But I have a special graphics library that I…
user126593
  • 2,707
  • 4
  • 21
  • 16
4
votes
0 answers

Retrieving clock cycles with inline ARM assembly

I'm playing around with some C reference code and it came with its own benchmarking routines. Unfortunately, the benchmarking code had a line of inline x86 assembly, and I'm trying to compile it on AArch64 ARMv8 system (a Raspberry Pi 3 if that…
werx216
  • 41
  • 3
4
votes
3 answers

Which of Android Virtual Devices (AVD) is faster?

I've created and run an AVD with CPU/ABI: ARM(armeabi-v7a) When AVD running, the emulator alerts: Is Intel x86 Atom System Image AVD faster than Intel x86 Atom_64 and ARM EABI v7a?
iraj jelodari
  • 3,118
  • 3
  • 35
  • 45
4
votes
1 answer

R7 and R11 relation with Link Register in ARM architecture (thumb/arm) calling convention

I was looking at a arm assembly code generated by gcc, and I noticed that the GCC compiled a function with the following code: 0x00010504 <+0>: push {r7, lr} 0x00010506 <+2>: sub sp, #24 0x00010508 <+4>: add r7, sp, #0 0x0001050a…
Sama Azari
  • 377
  • 4
  • 17
4
votes
0 answers

Including foreign shared library when running a binary with qemu

I have a foreign ARM binary I need to run with Qemu. It relies on an ncurses shared library, libncurses.so.5. I've tried running qemu-arm -L /usr/arm-linux-gnueabihf/ ./program Which complains that it can't find libncurses.so.5. I have the…
4
votes
1 answer

Retrieving return address of an exception on ARM Cortex M0

I am trying to retrieve the return address of an IRQ handler in my code. My aim is to save the value of the PC just before the watchdog timer expires and before the reset for debug purposes, using WDT_IRQHandler(). I am also testing this approach…
Vitomakes
  • 315
  • 4
  • 12
4
votes
1 answer

Purpose of ARM parallel instructions ASX and SAX?

Can someone explain when it's beneficial to use the parallel add/subtract ARM instructions ASX and/or SAX? In what situation/algorithm would one need to exhange the halfwords, then add AND subtract the upper/lower halfwords? Below is the explanation…
barnie82
  • 131
  • 1
  • 9
4
votes
1 answer

With clang to ARM: wrong linker

I'm trying to crosscompile hello world for ARM and I'm stuck with linking. The command clang-3.8 -target thumbv7em-none--eabi main.c seems to pick my system gcc toolchain... And I think that it is not I really want ➜ /tmp clang-3.8 -target…
Kakadu
  • 2,837
  • 19
  • 29
4
votes
1 answer

How to use NEON comparison (greater than or equal to) instruction?

How to use the NEON comparison instructions in general? Here is a case, I want to use, Greater-than-or-equal-to instruction? Currently I have a, int x; ... ... ... if(x >= 0) { .... } In NEON, I would like to use x in the same way, just that x…
HaggarTheHorrible
  • 7,083
  • 20
  • 70
  • 81
4
votes
1 answer

ARM assembly syntax styles

Are there multiple ARM assembly syntax styles as there are for x86? If there are, what support is there for each in different tool chains?
Catalin Vasile
  • 367
  • 5
  • 17
4
votes
1 answer

Running qt creator via remote desktop

We are developing a software using QT creator. The software is meant to run on windows and on an ARM mini-computer running Debian. To test the software on the mini-computer, we logged in on the mini computer using ssh and an exported display. Some…
Paul R.
  • 678
  • 5
  • 19
4
votes
0 answers

Running Android emulator on another computer

I was wondering if there was a way to run an Android emulator on another computer than the one I'm coding / building the app from. I have a very nice computer with good components and I want to code and build from it, but I don't have an Intel CPU,…
Ferdz
  • 1,182
  • 1
  • 13
  • 31
4
votes
2 answers

TBB Intel Threading Building Blocks for Raspberry Pi 3

So I am trying to compile Intel's TBB C++ library which enables parallelisms in programs. I am particularly needing this to use C++ React, which is a library which provides reactive library (e.g. asynchronous loops) for a project I am doing. I have…
1 2 3
99
100