>>> 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.
To gather more evidence, in GDB, can you disassemble the code from 0x08020000 to 0x08020008 ? (gdb) disas 0x08020000, 0x08020008 -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss