X-Git-Url: https://review.openocd.org/gitweb?a=blobdiff_plain;f=src%2Ftarget%2Fstm8.c;h=b62ff131de420702152a7856e68702dc18af88ff;hb=3f8f7352d2f64411df6eee48a63c71e7bded6056;hp=9a57e44908404ed6eeac192f0437bc09cef1bc5f;hpb=97afb8b37229d6a140aaa81a3c71122e5d862296;p=openocd.git diff --git a/src/target/stm8.c b/src/target/stm8.c index 9a57e44908..b62ff131de 100644 --- a/src/target/stm8.c +++ b/src/target/stm8.c @@ -1805,6 +1805,7 @@ static int stm8_blank_check_memory(struct target *target, destroy_mem_param(&mem_params[0]); destroy_mem_param(&mem_params[1]); destroy_reg_param(®_params[0]); + destroy_reg_param(®_params[1]); target_free_working_area(target, erase_check_algorithm); @@ -1889,6 +1890,8 @@ static int stm8_run_algorithm(struct target *target, int num_mem_params, } for (int i = 0; i < num_mem_params; i++) { + if (mem_params[i].direction == PARAM_IN) + continue; retval = target_write_buffer(target, mem_params[i].address, mem_params[i].size, mem_params[i].value); if (retval != ERROR_OK) @@ -1896,6 +1899,9 @@ static int stm8_run_algorithm(struct target *target, int num_mem_params, } for (int i = 0; i < num_reg_params; i++) { + if (reg_params[i].direction == PARAM_IN) + continue; + struct reg *reg = register_get_by_name(stm8->core_cache, reg_params[i].reg_name, 0);