> (gdb) next
>
> Breakpoint 8, 0x08020000 in ?? ()

Here it looks like you leave the bootloader space and you reach the
start of the application.


> (gdb) next
> Cannot find bounds of current function

This is fine, there are no functions here. Also, you are not debugging
the bootloader anymore, so GDB doesn't know any of the new addresses
to match them with the symbols from the elf file.

> .....
> program just hangs when continued.

It looks like the application has a problem.

>> 4. Try starting your application (0x08020000) from the debugger
>> directly, see if you get the printf.
>
> ...
> (gdb) load
> Loading section .rom_vectors, size 0x8 lma 0x8020000
> Loading section .ARM.extab, size 0x3c lma 0x8020008
> Loading section .ARM.exidx, size 0xc8 lma 0x8020048
> Loading section .text, size 0x586c lma 0x8020110
> Loading section .rodata, size 0x10d lma 0x8025980
> Loading section .data, size 0x268 lma 0x8025a98
> Start address 0x8020110, load size 23789
> Transfer rate: 3 KB/sec, 3398 bytes/write.
> (gdb) next
> Cannot find bounds of current function
> ...

Does it display the printf if you continue? If not, this confirms the
theory that the application does not start correctly from its start
address.

Read Rainer's email, too. He might have spotted the problem.

About GBD, if you are debugging an elf that sits on the flash, load
won't flash it for you (unless you have a really smart debugger). But,
a side effect of the load command is that the PC is pointing to the
start address.


Edgar

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply via email to