diff options
author | Alan Bowman <alan.michael.bowman@gmail.com> | 2011-05-11 12:12:07 +0100 |
---|---|---|
committer | Øyvind Harboe <oyvind.harboe@zylin.com> | 2011-05-14 16:59:29 +0200 |
commit | 6349a47ebc860681e4dbf3bffa31273c911dc7dd (patch) | |
tree | 6fba64fe983747be72fc4d6e511de8a785f3bee0 | |
parent | 53c0fb6ef5edd2292c29d048c93f73e2be5fa4ba (diff) | |
download | openocd+libswd-6349a47ebc860681e4dbf3bffa31273c911dc7dd.tar.gz openocd+libswd-6349a47ebc860681e4dbf3bffa31273c911dc7dd.tar.bz2 openocd+libswd-6349a47ebc860681e4dbf3bffa31273c911dc7dd.tar.xz openocd+libswd-6349a47ebc860681e4dbf3bffa31273c911dc7dd.zip |
Correct stacking direction and use of address offset
-rw-r--r-- | src/rtos/rtos.c | 4 | ||||
-rw-r--r-- | src/rtos/rtos_standard_stackings.c | 2 |
2 files changed, 3 insertions, 3 deletions
diff --git a/src/rtos/rtos.c b/src/rtos/rtos.c index 9a4af749..d69127e5 100644 --- a/src/rtos/rtos.c +++ b/src/rtos/rtos.c @@ -533,7 +533,7 @@ int rtos_generic_stack_read( struct target * target, const struct rtos_register_ { address -= stacking->stack_registers_size; } - retval = target_read_buffer( target, stack_ptr, stacking->stack_registers_size, stack_data); + retval = target_read_buffer( target, address, stacking->stack_registers_size, stack_data); if ( retval != ERROR_OK ) { LOG_OUTPUT("Error reading stack frame from FreeRTOS thread\r\n"); @@ -553,7 +553,7 @@ int rtos_generic_stack_read( struct target * target, const struct rtos_register_ } *hex_reg_list = (char*)malloc( list_size*2 +1 ); tmp_str_ptr = *hex_reg_list; - new_stack_ptr = stack_ptr + stacking->stack_growth_direction * stacking->stack_registers_size; + new_stack_ptr = stack_ptr - stacking->stack_growth_direction * stacking->stack_registers_size; for( i = 0; i < stacking->num_output_registers; i++ ) { int j; diff --git a/src/rtos/rtos_standard_stackings.c b/src/rtos/rtos_standard_stackings.c index e0ae0655..e15b8b3c 100644 --- a/src/rtos/rtos_standard_stackings.c +++ b/src/rtos/rtos_standard_stackings.c @@ -57,7 +57,7 @@ static const struct stack_register_offset rtos_standard_Cortex_M3_stack_offsets const struct rtos_register_stacking rtos_standard_Cortex_M3_stacking = { 0x40, // stack_registers_size - 1, // stack_growth_direction + -1, // stack_growth_direction 26, // num_output_registers rtos_standard_Cortex_M3_stack_offsets // register_offsets }; |