In the "Learning ARM assembly" thread, links to quite a few resources
on learning ARM assembly was given. Yet, from what I can tell, there's
precious little in the way of tutorials for the latest ARM models. The
latest ARM models (ARMv7) have classes of instructions like the
following:
- SIMD/NEON
- VFP
- Saturating instructions
- Long multiply instructions
In none of the tutorials I've come across have these been covered, so
I was wondering if anyone knows any educational resources (even books)
that deals with these classes of instructions?
Unlike the "base instruction set" of the ARM, many of the new ones are
highly specialised, where it may not at all be obvious what a given
instruction is useful for, so any pointers are appreciated.
By the way, any resources on OMAP programming would also be
appreciated (beyond what can be found at the TI site).
Regards,
Terje
> Hi all.
>
> In the "Learning ARM assembly" thread, links to quite a few resources
> on learning ARM assembly was given. Yet, from what I can tell, there's
> precious little in the way of tutorials for the latest ARM models. The
> latest ARM models (ARMv7) have classes of instructions like the
> following:
>
> - SIMD/NEON
> - VFP
> - Saturating instructions
> - Long multiply instructions
http://forums.arm.com/index.php?showtopic=13836
seems active, maybe ask there.
Ron M
Thanks for the tip, I'll check that up. Also, I found when doing a
search at Amazon that, finally, several new books on ARM assembly have
been published, I have the ARMv7 Architecture Reference Manual, and
it's a great reference, but it doesn't teach you how to make effective
use of the new ARM models (and SoCs), and the books and tutorials I've
found so far on this topic have only covered up to ARMv3 or so.
Regards,
Terje
<snip>
> I have the ARMv7 Architecture Reference Manual, and
> it's a great reference, but it doesn't teach you how to make effective
> use of the new ARM models (and SoCs), and the books and tutorials I've
> found so far on this topic have only covered up to ARMv3 or so.
By the Armv7 manual do you mean the Armv7-A and Armv7-R edition?
You have to do (a free) registration to download that. (Firefox)
From the Arm site, they state they are hand coding a neon interface
for the OpenMAX application layer, and OpenMAX apppears to be huge in
all types of media support.
Ron M
Yes, as I said, I have that one (the ARMv7-A manual), but apart from
defining how instructions work, it doesn't cover what they may
actually be used for. It's like the difference between learning about
classes and hierarchies, and learning about OO programming.
Unfortunately I found that the recently published books either covered
just the fundamentals of ARM programming, or, amazingly enough,
despite being recently published, only covered up to ARMv4.
> From the Arm site, they state they are hand coding a neon interface
> for the OpenMAX application layer, and OpenMAX apppears to be huge in
> all types of media support.
Interesting, that's good.
Regards,
Terje
> > From the Arm site, they state they are hand coding a neon interface
> > for the OpenMAX application layer, and OpenMAX apppears to be huge in
> > all types of media support.
>
> Interesting, that's good.
>
Marvell have got this armada 510 coming out early 2010.
http://www.windowsfordevices.com/images/stories/marvell_armada510_devkit.jpg
The diagram states FPU v.3 but in the specifications it's only VFP.
The Armada range seems to be CortexA8 compatible instead of Xscale.
Not Neon though, they are using Intel's WMMX2.
Cheers, Ron M