[mc1322x] trace into the ROM

Jon Smirl jonsmirl at gmail.com
Sat Nov 14 00:37:30 EST 2009


why can't I trace into the ROM using gdb?

(gdb) mem 0 128000 ro 8
(gdb) mem 0x00400000 0x00500000 rw 8
(gdb) file example-udp-sender.elf
Load new symbol table from
"/home/apps/contiki-mc1322x/examples/udp-sender-ipv6/example-udp-sender.elf"?
(y or n) y
Reading symbols from
/home/apps/contiki-mc1322x/examples/udp-sender-ipv6/example-udp-sender.elf...done.
(gdb) target remote localhost:1234
Remote debugging using localhost:1234
base () at ../../cpu/mc1322x/./startup.S:62
62	_start:	b       _begin
Current language:  auto; currently asm
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:97
97		msr	CPSR_c, #(FIQ_MODE | IRQ_DISABLE | FIQ_DISABLE)
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:98
98		ldr	sp, =__fiq_stack_top__	/* set the FIQ stack pointer */
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:101
101		msr	CPSR_c, #(IRQ_MODE | IRQ_DISABLE | FIQ_DISABLE)
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:102
102		ldr	sp, =__irq_stack_top__	/* set the IRQ stack pointer */
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:105
105		msr	CPSR_c, #(SVC_MODE | IRQ_DISABLE | FIQ_DISABLE)
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:106
106		ldr	sp, =__svc_stack_top__	/* set the SVC stack pointer */
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:109
109		msr	CPSR_c, #(UND_MODE | IRQ_DISABLE | FIQ_DISABLE)
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:110
110		ldr	sp, =__und_stack_top__	/* set the UND stack pointer */
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:113
113		msr	CPSR_c, #(ABT_MODE | IRQ_DISABLE | FIQ_DISABLE)
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:114
114		ldr	sp, =__abt_stack_top__	/* set the ABT stack pointer */
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:117
117		msr	CPSR_c, #(SYS_MODE | IRQ_DISABLE | FIQ_DISABLE)
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:118
118		ldr	sp, =__sys_stack_top__	/* set the SYS stack pointer */
(gdb) stepi
_begin () at ../../cpu/mc1322x/./startup.S:120
120		bl _rom_data_init+.-base
(gdb) stepi
0x000108d0 in ?? ()
(gdb) stepi
^C
Program received signal SIGINT, Interrupt.
0x000108d0 in ?? ()
(gdb) disassemble 0x000108d0 0x00010900
Dump of assembler code from 0x108d0 to 0x10900:
0x000108d0:	b	0x10a5c
0x000108d4:	stmdavs	r0, {r0, r1, r3, r4, r11, lr}
0x000108d8:	andeq	r4, r0, r0, ror r7
0x000108dc:	strdlt	r11, [r5], r0
0x000108e0:	andeq	r0, sp, r7
0x000108e4:	ldrbcs	r11, [r5, -r0, lsl #9]!
0x000108e8:	blx	0xfeecd8ae
0x000108ec:	adcmi	r11, pc, #32768	; 0x8000
0x000108f0:	eorseq	sp, r8, r1, lsl #6
0x000108f4:	strcs	lr, [r1], #-34
0x000108f8:	ldclne	11, cr1, [r6], #-952
0x000108fc:	ldmdami	r1, {r1, r3, r5, r6, r9, r10, lr}
End of assembler dump.
(gdb) disassemble 0x10a5c 0x10b00
Dump of assembler code from 0x10a5c to 0x10b00:
0x00010a5c:	push	{r0, r4, r5, lr}
0x00010a60:	ldr	r4, [pc, #44]	; 0x10a94
0x00010a64:	ldr	r5, [pc, #44]	; 0x10a98
0x00010a68:	cmp	r4, r5
0x00010a6c:	beq	0x10a8c
0x00010a70:	ldm	r4, {r0, r1, r2}
0x00010a74:	ldr	r3, [r4, #12]
0x00010a78:	add	r4, r4, #16	; 0x10
0x00010a7c:	mov	lr, pc
0x00010a80:	bx	r3
0x00010a84:	cmp	r4, r5
0x00010a88:	bne	0x10a70
0x00010a8c:	pop	{r3, r4, r5, lr}
0x00010a90:	bx	lr
0x00010a94:	andeq	r1, r1, r8, lsl #15
0x00010a98:	andeq	r1, r1, r8, lsr #15
0x00010a9c:	add	r2, r2, r1
0x00010aa0:	cmp	r1, r2
0x00010aa4:	bne	0x10ab4
0x00010aa8:	bx	lr
0x00010aac:	cmp	r1, r2
0x00010ab0:	bxeq	lr
0x00010ab4:	ldrsb	r3, [r1], #1
0x00010ab8:	mov	r12, #0	; 0x0
0x00010abc:	b	0x10ac4
0x00010ac0:	strb	r12, [r0], #1
0x00010ac4:	cmp	r3, #0	; 0x0
0x00010ac8:	beq	0x10aac
0x00010acc:	ldrbmi	r12, [r1], #1
0x00010ad0:	addmi	r3, r3, #1	; 0x1
0x00010ad4:	subpl	r3, r3, #1	; 0x1
0x00010ad8:	b	0x10ac0
0x00010adc:	undefined
0x00010ae0:	mov	r12, r0
0x00010ae4:	tst	r1, #1	; 0x1
0x00010ae8:	strbne	r0, [r1], #1
0x00010aec:	lsrne	r0, r0, #8
0x00010af0:	strh	r0, [r1]
0x00010af4:	lsr	r0, r0, #16
0x00010af8:	strbne	r0, [r1, #2]
---Type <return> to continue, or q <return> to quit---


-- 
Jon Smirl
jonsmirl at gmail.com



More information about the mc1322x mailing list