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
2 answers

Force GCC to access structs with words

On an ARM processor (HT32F1655), a specific section of registers requires word accesses. From the user manual: Note that all peripheral registers in the AHB bus support only word access. But gcc is generating some ldrb (load byte) and strb (store…
Shade
  • 775
  • 3
  • 16
4
votes
2 answers

Strange include path in Eclipse CDT + GNU ARM

After tinkering with some project settings, namely changing the FPU type, some strange entries appeared in the includes, eg.: project/#undef __ARM_NEON These are not shown at any of the usual places where includes can be specified (C/C++ build ->…
hgabe
  • 141
  • 2
  • 9
4
votes
2 answers

How to determine Rasberry Pi board version using Arm Assembly/C?

I'm in the process of developing a Test Kernel for Raspberry Pi devices. In doing so, I need to set-up the UART so we can write data to the device and be able to retrieve data that needs to be handled by the Kernel. I want the test kernel to be…
4
votes
2 answers

Toolchain to crosscompile Applications for BBB

My native machine is ubuntu based 14.04 LTS x86_64 system, I want to cross-compile applications and QT programs for Beaglebone black, which is an armv7 based system running on Debian 2015 distribution. Which toolchain I should install on my native…
user7345878
  • 492
  • 2
  • 7
  • 20
4
votes
1 answer

A Trace32 script simulator?

I'm new to T32 script, and would like to test few scripts from the example of the user guide. However, I don't have a target to hook up with, so I'm wondering if there are something like a simulator which I can try my scripts without connecting to a…
Nobody
  • 179
  • 2
  • 8
4
votes
1 answer

Printk behaviour change with early_printk enabled

Normally printk does not print any messages before console_init which is present in start_kernel. But with early_printk enabled, printk starts printing messages before console initialization. Now how does this behaviour of printk change since I am…
Ivid
  • 203
  • 3
  • 10
4
votes
1 answer

Emulatin Big Endian ARM system with QEMU

Is it possible to compile some Linux Kernel and run it over QEMU, emulating some Big Endian ARM processor? If QEMU is not capable of that, I'd love to hear about other system emulators than can. My basic goal is to run and debug dedicated Big Endian…
Reflection
  • 1,936
  • 3
  • 21
  • 39
4
votes
2 answers

I can't understand some instructions in ARM: SBC, RSC

I don't understand SBC and RSC ARM instructions I know that both deal with the carry flag (C) I think it makes sense adding the result with the carry (ADC) like: ADC r1, r2, r3 @ r1 = r2 + r3 + Carry But subtracting/reverse subtracting with…
Spacey
  • 69
  • 1
  • 4
4
votes
2 answers

Disable CPU caches (L1/L2) on ARMv8-A Linux

I want to disable the low level cache on an ARMv8-A platform running Linux, in order to measure performance of optimized code, independent of cache access. For Intel systems I found the following resource (Is there a way to disable CPU cache (L1/L2)…
silvan
  • 43
  • 1
  • 3
4
votes
0 answers

Failed to request_irq for kernel module

I am trying to port drivers from old kernel to new one on ARM based platform. While porting one of the drivers I have noticed that request_irq fails on new kernel. Actually, what this driver have is a number of hard coded irq numbers, and it tries…
Alex Hoppus
  • 3,821
  • 4
  • 28
  • 47
4
votes
2 answers

How to decode a Windows CE call stack?

Desktop Windows OSs have a "StackWalk64" function, upon which Jochen Kalmbach made a library for decoding the call stack into something human-readable. I need a similar tool, but for Windows CE. WinCE has a function to get the call stack,…
Qwertie
  • 16,354
  • 20
  • 105
  • 148
4
votes
1 answer

ARM-gcc stack usage files empty

I'm trying to analyze stack usage of my embedded program using arm-gcc toolchain. The program is single threaded so I normally can analyze the stack using the -fstack-usage gcc's parameter. Normally this option generates .su files along with the…
Gp2mv3
  • 1,435
  • 20
  • 33
4
votes
1 answer

Why does Clang for arm64 move the frame pointer into itself before every objc_retainAutoreleasedReturnValue call when ARC is on?

When ARC is on, clang for arm64 produces the following in between each objc_msgSend and corresponding objc_retainAutoreleasedReturnValue: MOV X29, X29 X29 is, of course, the frame pointer; from what I can tell, this instruction does nothing. Any…
Brennan Vincent
  • 10,736
  • 9
  • 32
  • 54
4
votes
3 answers

embedded linux ARM booting address

I follow some document to boot embedded Linux on ARM board (ex: Freescale Vybrid tower) via sdcard. in the document there are steps to build uImage and write u-boot into sdcard as below: sudo dd if=u-boot.imx of=/dev/sdX bs=512 seek=2 mkimage -A…
dvn0zzz
  • 337
  • 3
  • 13
4
votes
1 answer

cross-compile with dependencies: how to get target dependencies on host?

I've been struggling to cross-compile OpenCV for arm on my x64 dual Xeon running Ubuntu 16.04 I understand how cross-compiler work, and it's fine compiling a simple project, but OpenCV has lots of dependencies. I do not understand how to load these…
MrE
  • 19,584
  • 12
  • 87
  • 105
1 2 3
99
100