Arm Community
Site
Search
User
Site
Search
User
Arm Community blogs
Jump...
Cancel
More blogs in Arm Community blogs
AI blog
Announcements
Architectures and Processors blog
Automotive blog
Embedded and Microcontrollers blog
Internet of Things (IoT) blog
Laptops and Desktops blog
Mobile, Graphics, and Gaming blog
Operating Systems blog
Servers and Cloud Computing blog
SoC Design and Simulation blog
Tools, Software and IDEs blog
More blogs in this community
Solutions
Product news
Ecosystem news
Tools & Software
IP Products
Research & Education
More
Cancel
Blogs
Latest Blogs
By date
By view count
By comment count
Descending
Ascending
Locks, SWPs and two Smoking Barriers
David Rusling
Before
ARMv6
, the main synchronisation mechanism was the
SWP instruction
. SWP has two aspects, in a
uniprocessor system
it allows the read and write operations not to be interrupted between them. In…
September 11, 2013
How to Call a Function from Arm Assembler
Dave Butcher
Once you move beyond short sequences of optimised Arm assembler, the next likely step will be to managing more complex, optimised routines using macros and functions.
September 11, 2013
"Hello World" in Assembly
Jacob Bramley
This post aims to provide a simple introduction to Arm assembly language.
September 11, 2013
Caches and Self-Modifying Code
Jacob Bramley
Ideally caches act as magic make-it-go-faster logic sitting between processor cores and memory banks. But there are cases where cache behaviour must be considered to get the desired result.
September 11, 2013
Coding for Neon - Part 1: Load and Stores
Martyn
This is the first part of a series on how to write SIMD code for Neon using assembly language. It covers getting started with Neon, using it efficiently, and more.
September 11, 2013
Why is Open Source Important?
David Rusling
Sitting in the airport at the end of a week's business trip to the US, I reflected back on the week. It turned out that my colleague on this trip has an even worse sense of direction than myself.…
September 11, 2013
Coding for Neon - Part 2: Dealing With Leftovers
Martyn
In this post, we deal with an often encountered problem: input data that is not a multiple of the length of the vectors you want to process.
September 11, 2013
Condition Codes 1: Condition Flags and Codes
Jacob Bramley
Arm implements conditional execution using a set of flags which store state information about a previous operation. in this post I shed some light on the operation of these flags.
September 11, 2013
How to Load Constants in Assembly for Arm Architecture
Rodolph Perfetta
This post will show you how we can deal with these limitations and how the latest revision of the Arm architecture (Armv7) provides a simple and efficient solution.
September 11, 2013
Coding for Neon - Part 3: Matrix Multiplication
Martyn
In this post, we will look at how to efficiently multiply four-by-four matrices together, an operation frequently used in the world of 3D graphics.
September 11, 2013
Detecting Overflow from MUL
Jacob Bramley
This blog is a tutorial on detecting overflow from MUL.
September 11, 2013
Cortex-A15 to A5: Software compatibility from Superphone to Feature phone
James McNiven
It was always about the code (and where it would be used!) When I was a software developer I would often find that the project team I was in would try to guess how many devices the code would eventually…
September 11, 2013
Condition Codes 3: Conditional Execution in Thumb-2
Jacob Bramley
Armv8 deprecates the use of the it instruction to make anything other than a single 16-bit instruction conditional. This affects many of the examples in this post.
September 11, 2013
Coding for Neon - Part 4: Shifting Left and Right
Martyn
This article introduces the shifting operations provided by Neon, and shows how they can be used to convert image data between commonly used color depths.
September 11, 2013
Valgrind 3.6.0 for ARM-Linux
Guest Partner Blogger
Version 3.6.0 of Valgrind was released a couple of weeks ago. The largest change this release is the addition of support for Linux running on ARM. Learn more about the release in this blog.
September 11, 2013
Memory access ordering - an introduction
Leif Lindholm
In this post, I will be introducing a few concepts and explain the reasons behind them. In future posts, I will follow up with practical examples.
September 11, 2013
Memory access ordering part 2: Barriers and the Linux kernel
Leif Lindholm
My previous post provided an introduction to memory access ordering. It did not however, provide any solution to the problem. This post covers barrier use within the Linux kernel.
September 11, 2013
Happy Fifth Birthday iPhone! Innovator and Troublemaker
James Bruce
On June 29, 2007 -- the original iPhone went on sale and unleashed an unrivaled period of creative innovation and destruction in the mobile phone business. In case you have forgotten, the original iPhone…
September 11, 2013
CubeStormer II - The Power of Two
David Gilday
I have a confession to make... I started writing this post in November 2011, but in the excitement of the events at the time, I left it unfinished... until today. This morning I stopped at a local supermarket…
September 11, 2013
Transmogrify the Personal Computer using efficient low power SoC solutions
Andrew N. Sloss
Wouldn't it be great if I could transmogrify the PC to become an intelligent network of specialized components? The goal would be to create a much more efficient computation system marrying critical software…
September 11, 2013
Contact-less payments and NFC
Rob Brown
Since you're reading this blog, it's fairly likely you're technically minded and would've heard of
contact-less payment cards
. These smart-chip enabled cards promise to speed checkout for…
September 11, 2013
<
>