On Apr 17, 1:35 pm, Måns Rullgård <
m...@mansr.com> wrote:
> Phred <
phr...@gmail.com> writes:
> > Hey guys.
>
> > I'm developing code right on the board using Source Navigator + make
> > files and debugging via GDB and Insight. The main problem is that GDB
> > can't see theNEONregisters.... and I need to see those for what I'm
> > doing!
>
> > Anybody figure this out?
>
> The latest codesourcery gdb should have this ability.
Yes. You'll need all the following:
- CS 2009q1 release or later (to be released soon)
- kernel 2.6.29 as-is, or 2.6.28 kernel with following patches
* [ARM] 5388/1: Add hwcap bits for VFPv3 and VFPv3D16
* [ARM] 5387/1: Add ptrace VFP support on ARM
* Add HWCAP_NEON to the ARM hwcap.h file
- gdb needs to be built with expat libs available
- you need to use gdbserver rather than fully hosted debug
With this, you are able to display all NEON/VFPv3 registers. Here's
an example:
(gdb) target remote
127.0.0.1:1234
Remote debugging using
127.0.0.1:1234
0x400007b0 in ?? ()
(gdb) cont
Continuing.
^C
Program received signal SIGINT, Interrupt.
0x00008b34 in ?? ()
(gdb) info all-registers
r0 0xbef54624 -1091221980
r1 0x0 0
r2 0xbef5161c -1091234276
r3 0xbef56408 -1091214328
r4 0x595d 22877
r5 0x376 886
r6 0xbef56408 -1091214328
r7 0xbef56420 -1091214304
r8 0xbef56410 -1091214320
r9 0xbef523fc -1091230724
r10 0x11400 70656
r11 0xbef553fc -1091218436
r12 0xbef52624 -1091230172
sp 0xbef513b0 0xbef513b0
lr 0xbef55624 -1091217884
pc 0x8b68 0x8b68
cpsr 0x20000010 536870928
d0 {u8 = {0xfb, 0xfe, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}, u16
= {
0xfefb, 0xffff, 0x0, 0x0}, u32 = {0xfffffefb, 0x0}, u64 =
0xfffffefb,
f32 = {0x0, 0x0}, f64 = 0x0}
d1 {u8 = {0xff, 0xfe, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}, u16
= {
0xfeff, 0xffff, 0x0, 0x0}, u32 = {0xfffffeff, 0x0}, u64 =
0xfffffeff,
f32 = {0x0, 0x0}, f64 = 0x0}
<snip>
(gdb) print $d3
$1 = {u8 = {202, 239, 255, 255, 0, 0, 0, 0}, u16 = {61386, 65535, 0,
0},
u32 = {4294963146, 0}, u64 = 4294963146, f32 = {-nan(0x7fefca), 0},
f64 = 2.1219937405928421e-314}
(gdb) print $d3.u8
$2 = {202, 239, 255, 255, 0, 0, 0, 0}
(gdb) print/x $d3.u8
$3 = {0xca, 0xef, 0xff, 0xff, 0x0, 0x0, 0x0, 0x0}