Using gdb to debug FIQ on arm9 (imx233), and running into "Cannot find bounds of current function"
Juha Lumme <[email protected]>
| Newsgroups | gmane.comp.gdb.devel |
|---|---|
| Message-ID | <CAF-Ht3yHQOf4h9=5aqupCHiTm5ch6DCvufty+Z51TxSbdq8+Vw@mail.gmail.com> |
Hi, I'm trying to debug my FIQ handler that my driver has initialized, but after breaking into the first instruction in the FIQ, I'm stuck. I'm using GDB 7.5.1, that I compiled with help of buildroot. I'm running openocd 0.6.1 to connect to my ARM-USB-TINY-H debugger + imx233-SJTAG converter (the board doesn't have pins for parallel JTAG). If I debug other c-functions in the driver, the debugger seems to perform as expected, so I'm thinking my setup should be ok. To debug the FIQ, I set the breakpoint to 0xFFFF001C, this is the address, where the fiq handler code I register is copied, when I call set_fiq_handler ( http://lxr.free-electrons.com/source/arch/arm/kernel/fiq.c#L85 ) in my driver. Now I continue executing the code, and initiate the condition to trigger the FIQ, the gdb properly breaks: Breakpoint 1, 0xffff001c in ?? () (gdb) display/i $pc 1: x/i $pc => 0xffff001c: mov r11, #1 That is properly the first instruction in the FIQ. If I type command "layout asm", I can also see the rest of the instructions as expected. But, now I'm stuck, I can't step or next. If I try: (gdb) step Cannot find bounds of current function (gdb) next Cannot find bounds of current function If I try "stepi", the whole thing just locks up, and I can't do anything anymore on that session.. I can't seem to move past this after this, and not sure what to try next.. Any ideas what I might be doing wrong ? Thanks, Juha