Estoy usando GDB para cargar un ejecutable en un dispositivo incrustado. Cuando se carga el ejecutable, el BGF dice:Diferencia entre "contador de programa" y "dirección de inicio"
xPSR: 0x01000000 pc: 0xf0094902 msp: 0x2001b508
Loading section .text, size 0x16240 lma 0x8000000
Loading section .data, size 0x8f0 lma 0x8016240
Start address 0x8000000, load size 92976
Según tengo entendido, el pc
es el puntero de instrucción. Supongo que la "dirección de inicio" es la dirección inicial para el pc
. Sin embargo, en la información que me proporciona GDB, la dirección de inicio (0x8000000, que es lo mismo que .text
) es , no, lo mismo que pc
(0xf0094902).
¿Cuál es la diferencia entre pc
y la dirección de inicio? ¿Tiene sentido que la dirección de inicio sea la misma que .text
?
Después de cargar, intente 'info registers' y compruebe el valor de * pc *. Sospecho que @dwelch tiene razón. Los registros solo tendrán algo malo para su aplicación después de ejecutar 'ejecutar' en GDB. – karlphillip