Jeeni & ARM720T with GDB

Grant Edwards grante@visi.com
Wed Nov 22 06:36:00 GMT 2000


On Wed, Nov 22, 2000 at 10:35:04AM -0000, danish iftikhar wrote:

> After load Pc shows the address : 0x8060
> 
> The start uo code is :
> (gdb) x/30i $pc
> 0x8060 <warm_reset>:    mrs     r7, cpsr
> 0x8064 <warm_reset+4>:  and     r7, r7, #31     ; 0x1f
> 0x8068 <warm_reset+8>:  cmp     r7, #19 ; 0x13
> 0x806c <warm_reset+12>: beq     0x80a0 <start>

That looks right.

>   i am not able to do step or cont but using stepi i went through this 
> startup function . It seems to loop around between 0x815c & 0x8164 and is 
> not going ahead of that .
> the code at this address is as follows :
> 
> 0x8154  <start+180>:            cmp     r1, r2
> -       0x8158  <start+184>:            beq     0x8168 <start+200>
> -       0x815c  <start+188>:            str     r0, [r1], #4
> -       0x8160  <start+192>:            cmp     r1, r2
> -       0x8164  <start+196>:            bne     0x815c <start+188>
> -       0x8168  <start+200>:            bl      0x1f194 <hal_hardware_init>
> -       0x816c  <start+204>:            bl      0x1ee10 
> <cyg_hal_invoke_constructors>
> -       0x8170  <start+208>:            bl      0x1f358 <cyg_start>

It looks to me like the debugger and emulator are working fine.
The loop you're looking at is zeroing out the bss section.  R2
should contain the address of the end of bss, and R1 should
start at the beginning of bss and increment through the whole
section.  This loop will probably execute tens of thousands of
times, so you can get pretty bored doing a stepi...

Do the addresses in R1 and R2 correspond to your bss section?

Can you set a breakpoint immediately following the loop and do
a cont?

-- 
Grant Edwards
grante@visi.com


More information about the Gdb mailing list