Created
February 18, 2013 02:33
-
-
Save wolfmanjm/4974793 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> 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