Skip to content

Instantly share code, notes, and snippets.

@wolfmanjm
Created February 18, 2013 02:33
Show Gist options
  • Save wolfmanjm/4974793 to your computer and use it in GitHub Desktop.
Save wolfmanjm/4974793 to your computer and use it in GitHub Desktop.
> ty gdb.txt
#0 on_block_begin (argument=0x0, this=0x10004258) at src/modules/robot/Stepper.cpp:126
#1 Stepper::on_block_begin (this=0x10004258, argument=0x0) at src/modules/robot/Stepper.cpp:112
#2 0x00005c1a in Kernel::call_event (this=<optimized out>, id_event=<optimized out>, argument=0x0) at src/libs/Kernel.cpp:117
#3 0x0000ad62 in Block::release (this=<optimized out>) at src/modules/robot/Block.cpp:213
#4 0x0000e248 in stepper_motor_finished_move (this=<optimized out>, dummy=<optimized out>) at src/modules/robot/Stepper.cpp:166
#5 Stepper::stepper_motor_finished_move (this=<optimized out>, dummy=<optimized out>) at src/modules/robot/Stepper.cpp:159
#6 0x00006cca in call (this=<optimized out>) at ./src/libs/FPointer.h:151
#7 call (this=<optimized out>) at src/libs/StepperMotor.cpp:77
#8 StepperMotor::signal_move_finished (this=0x100040b8) at src/libs/StepperMotor.cpp:84
#9 0x00006f76 in StepTicker::signal_moves_finished (this=0x100021d0) at src/libs/StepTicker.cpp:108
#10 0x000075de in TIMER0_IRQHandler () at src/libs/StepTicker.cpp:180
#11 0xfffffff8 in ?? ()
#12 0xfffffff8 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
121 }else{
122 return;
123 }
124
125 // We can't move with the enable pins off
126 if( this->enable_pins_status == false ){
127 this->turn_enable_pins_on();
128 }
129
130 // Setup : instruct stepper motors to move
Dump of assembler code for function Stepper::on_block_begin(void*):
0x0000e9b0 <+0>: push {r3, r4, r5, r6, r7, lr}
0x0000e9b2 <+2>: mov r4, r1
0x0000e9b4 <+4>: mov r5, r0
0x0000e9b6 <+6>: movs r1, #0
0x0000e9b8 <+8>: ldr r0, [r4, #60] ; 0x3c
0x0000e9ba <+10>: bl 0x26128 <__aeabi_fcmpeq>
0x0000e9be <+14>: cmp r0, #0
0x0000e9c0 <+16>: bne.n 0xea4e <Stepper::on_block_begin(void*)+158>
0x0000e9c2 <+18>: ldr r3, [r4, #36] ; 0x24
0x0000e9c4 <+20>: cbnz r3, 0xe9d0 <Stepper::on_block_begin(void*)+32>
0x0000e9c6 <+22>: ldr r0, [r4, #40] ; 0x28
0x0000e9c8 <+24>: cbnz r0, 0xe9d0 <Stepper::on_block_begin(void*)+32>
0x0000e9ca <+26>: ldr r1, [r4, #44] ; 0x2c
0x0000e9cc <+28>: cmp r1, #0
0x0000e9ce <+30>: beq.n 0xea4e <Stepper::on_block_begin(void*)+158>
0x0000e9d0 <+32>: mov r0, r4
0x0000e9d2 <+34>: bl 0xac30 <Block::take()>
=> 0x0000e9d6 <+38>: ldrb.w r2, [r5, #114] ; 0x72
0x0000e9da <+42>: cmp r2, #0
0x0000e9dc <+44>: beq.n 0xea64 <Stepper::on_block_begin(void*)+180>
0x0000e9de <+46>: ldr r2, [r4, #36] ; 0x24
0x0000e9e0 <+48>: cmp r2, #0
0x0000e9e2 <+50>: bne.n 0xea70 <Stepper::on_block_begin(void*)+192>
0x0000e9e4 <+52>: ldr r2, [r4, #40] ; 0x28
0x0000e9e6 <+54>: cmp r2, #0
0x0000e9e8 <+56>: bne.n 0xea88 <Stepper::on_block_begin(void*)+216>
0x0000e9ea <+58>: ldr r2, [r4, #44] ; 0x2c
0x0000e9ec <+60>: cmp r2, #0
0x0000e9ee <+62>: bne.n 0xea50 <Stepper::on_block_begin(void*)+160>
0x0000e9f0 <+64>: ldr r0, [r4, #76] ; 0x4c
0x0000e9f2 <+66>: str r4, [r5, #8]
0x0000e9f4 <+68>: bl 0x25494 <__floatunsidf>
0x0000e9f8 <+72>: mov r3, r1
0x0000e9fa <+74>: ldr r1, [r5, #4]
0x0000e9fc <+76>: mov r2, r0
0x0000e9fe <+78>: ldr r0, [r1, #12]
0x0000ea00 <+80>: movs r1, #0
0x0000ea02 <+82>: ldr.w r6, [r0, #208] ; 0xd0
0x0000ea06 <+86>: ldr.w r12, [r0, #212] ; 0xd4
0x0000ea0a <+90>: ldr r4, [r6, #44] ; 0x2c
0x0000ea0c <+92>: ldr.w r7, [r12, #44] ; 0x2c
0x0000ea10 <+96>: strd r2, r3, [r5, #64] ; 0x40
0x0000ea14 <+100>: movs r3, #1
0x0000ea16 <+102>: strb.w r3, [r5, #113] ; 0x71
0x0000ea1a <+106>: ldr r3, [pc, #136] ; (0xeaa4 <Stepper::on_block_begin(void*)+244>)
0x0000ea1c <+108>: cmp r7, r4
0x0000ea1e <+110>: str r1, [r3, #0]
0x0000ea20 <+112>: ldr r3, [pc, #132] ; (0xeaa8 <Stepper::on_block_begin(void*)+248>)
0x0000ea22 <+114>: it hi
0x0000ea24 <+116>: movhi r4, r7
0x0000ea26 <+118>: str r1, [r3, #0]
0x0000ea28 <+120>: ldr r3, [pc, #128] ; (0xeaac <Stepper::on_block_begin(void*)+252>)
0x0000ea2a <+122>: str r6, [r5, #120] ; 0x78
0x0000ea2c <+124>: str r1, [r3, #0]
0x0000ea2e <+126>: ldr.w r3, [r0, #216] ; 0xd8
0x0000ea32 <+130>: it hi
0x0000ea34 <+132>: strhi.w r12, [r5, #120] ; 0x78
0x0000ea38 <+136>: ldr r2, [r3, #44] ; 0x2c
0x0000ea3a <+138>: str r1, [r5, #72] ; 0x48
0x0000ea3c <+140>: cmp r4, r2
0x0000ea3e <+142>: it cc
0x0000ea40 <+144>: strcc r3, [r5, #120] ; 0x78
0x0000ea42 <+146>: mov r0, r5
0x0000ea44 <+148>: movs r1, #0
0x0000ea46 <+150>: ldmia.w sp!, {r3, r4, r5, r6, r7, lr}
0x0000ea4a <+154>: b.w 0xe928 <Stepper::synchronize_acceleration(unsigned long)>
0x0000ea4e <+158>: pop {r3, r4, r5, r6, r7, pc}
0x0000ea50 <+160>: ldr r3, [r5, #4]
0x0000ea52 <+162>: ldr r0, [r4, #92] ; 0x5c
0x0000ea54 <+164>: ldr r7, [r3, #12]
0x0000ea56 <+166>: ubfx r1, r0, #2, #1
0x0000ea5a <+170>: ldr.w r0, [r7, #216] ; 0xd8
0x0000ea5e <+174>: bl 0x6d08 <StepperMotor::move(bool, unsigned int)>
0x0000ea62 <+178>: b.n 0xe9f0 <Stepper::on_block_begin(void*)+64>
0x0000ea64 <+180>: mov r0, r5
0x0000ea66 <+182>: bl 0xe2a8 <Stepper::turn_enable_pins_on()>
0x0000ea6a <+186>: ldr r2, [r4, #36] ; 0x24
0x0000ea6c <+188>: cmp r2, #0
0x0000ea6e <+190>: beq.n 0xe9e4 <Stepper::on_block_begin(void*)+52>
0x0000ea70 <+192>: ldr r3, [r5, #4]
0x0000ea72 <+194>: ldr r7, [r4, #92] ; 0x5c
0x0000ea74 <+196>: ldr r6, [r3, #12]
0x0000ea76 <+198>: and.w r1, r7, #1
0x0000ea7a <+202>: ldr.w r0, [r6, #208] ; 0xd0
0x0000ea7e <+206>: bl 0x6d08 <StepperMotor::move(bool, unsigned int)>
0x0000ea82 <+210>: ldr r2, [r4, #40] ; 0x28
0x0000ea84 <+212>: cmp r2, #0
0x0000ea86 <+214>: beq.n 0xe9ea <Stepper::on_block_begin(void*)+58>
0x0000ea88 <+216>: ldr r6, [r5, #4]
0x0000ea8a <+218>: ldr r1, [r4, #92] ; 0x5c
0x0000ea8c <+220>: ldr r0, [r6, #12]
0x0000ea8e <+222>: ubfx r1, r1, #1, #1
0x0000ea92 <+226>: ldr.w r0, [r0, #212] ; 0xd4
0x0000ea96 <+230>: bl 0x6d08 <StepperMotor::move(bool, unsigned int)>
0x0000ea9a <+234>: ldr r2, [r4, #44] ; 0x2c
0x0000ea9c <+236>: cmp r2, #0
0x0000ea9e <+238>: beq.n 0xe9f0 <Stepper::on_block_begin(void*)+64>
0x0000eaa0 <+240>: b.n 0xea50 <Stepper::on_block_begin(void*)+160>
0x0000eaa2 <+242>: nop
0x0000eaa4 <+244>: asrs r0, r1, #4
0x0000eaa6 <+246>: asrs r0, r0, #32
0x0000eaa8 <+248>: asrs r0, r2, #4
0x0000eaaa <+250>: asrs r0, r0, #32
0x0000eaac <+252>: asrs r4, r2, #4
0x0000eaae <+254>: asrs r0, r0, #32
End of assembler dump.
0x10007ea0: 0xe9b1 <Stepper::on_block_begin(void*)> 0x5 0x10004d40 0x10004d3c
0x10007eb0: 0x0 0x5c1b <Kernel::call_event(_EVENT_ENUM, void*)+70> 0xe7 0x10004478
0x10007ec0: 0x0 0x1 0xa 0x10000f30
0x10007ed0: 0x10000af4 0x10005440 0x1 0xad63 <Block::release()+294>
0x10007ee0: 0x100040b8 0x1 0x100021d0 0xe249 <Stepper::stepper_motor_finished_move(unsigned long)+52>
0x10007ef0: 0xe215 <Stepper::stepper_motor_finished_move(unsigned long)> 0x6ccb <StepperMotor::signal_move_finished()+58>0x0 0x6f77 <StepTicker::signal_moves_finished()+54>
0x10007f00: 0x100021d0 0x10000f2c 0x10000f30 0x10001c20
0x10007f10: 0x31b28 <kernel_callback_functions> 0x75df <TIMER0_IRQHandler()+966> 0x10001c20 0x75f9 <TIMER0_IRQHandler()+992>
0x10007f20: 0x6f76 <StepTicker::signal_moves_finished()+54> 0x61000011 0x1 0x100021d0
0x10007f30: 0x10000f2c 0x10005634 0x10001fe0 0x0
0x10007f40: 0x10001c20 0x5000c000 0x0 0xa
0x10007f50: 0x10001c20 0x31b28 <kernel_callback_functions> 0x10000af4 0x10005440
0x10007f60: 0x1 0xfffffff9 0x10000af4 0x0
0x10007f70: 0x0 0x5000c000 0x10005678 0x5b7d <Kernel::call_event(_EVENT_ENUM)+148>
0x10007f80: 0x131a0 <USBHAL::usbisr()+308> 0x41000000 0x96f9 <_ZThn156_N3USB7on_idleEPv+1> 0x10005440
0x10007f90: 0x0 0xa 0x10001c20 0x31b28 <kernel_callback_functions>
0x10007fa0: 0x1 0x10005440 0x1 0x5b7d <Kernel::call_event(_EVENT_ENUM)+148>
0x10007fb0: 0x10001fe8 0x10005550 0x0 0x10001c20
0x10007fc0: 0x10001508 0x31b38 <kernel_callback_functions+16> 0x1 0x10005458
0x10007fd0: 0x1 0x4709 <main()+432> 0x10001fe8 0x10004fcc
0x10007fe0: 0x1 0x15f9 0x431 0x489
0x10007ff0: 0x10001de8 0x1f757 <_start()+46> 0x100013f0 0x21ec5 <Reset_Handler+25>
r0 0x0 0
r1 0x0 0
r2 0x326f8 206584
r3 0x1 1
r4 0x0 0
r5 0x10004258 268452440
r6 0x10004d3c 268455228
r7 0x0 0
r8 0x31b28 203560
r9 0x0 0
r10 0x1 1
r11 0x1 1
r12 0x39ca 14794
sp 0x10007ea0 0x10007ea0
lr 0xe9d7 59863
pc 0xe9d6 0xe9d6 <Stepper::on_block_begin(void*)+38>
xpsr 0x1000011 16777233
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment