I just saw you did re-post... but you only waited 4 hours. That is not enough time. You need to wait 12-24 hours, preferably 24.
On Wed, 2009-07-08 at 13:50 -0700, Zach Welch wrote: > You need to re-post patches when they change substantially. You added > new code that was not in the original patch. > > It still has whitespace problems. > > On Wed, 2009-07-08 at 20:29 +0200, ohar...@mail.berlios.de wrote: > > Author: oharboe > > Date: 2009-07-08 20:29:03 +0200 (Wed, 08 Jul 2009) > > New Revision: 2499 > > > > Modified: > > trunk/src/flash/aduc702x.c > > Log: > > Fix SEGFAULTs and broken error handling for flash programming w/working area > > > > Modified: trunk/src/flash/aduc702x.c > > =================================================================== > > --- trunk/src/flash/aduc702x.c 2009-07-08 10:38:50 UTC (rev 2498) > > +++ trunk/src/flash/aduc702x.c 2009-07-08 18:29:03 UTC (rev 2499) > > @@ -193,6 +193,11 @@ > > return ERROR_FLASH_OPERATION_FAILED; > > } > > > > +/* If this fn returns ERROR_TARGET_RESOURCE_NOT_AVAILABLE, then the caller > > can fall > > + * back to another mechanism that does not require onboard RAM > > + * > > + * Caller should not check for other return values specifically > > + */ > > static int aduc702x_write_block(struct flash_bank_s *bank, uint8_t > > *buffer, uint32_t offset, uint32_t count) > > { > > aduc702x_flash_bank_t *aduc702x_info = bank->driver_priv; > > @@ -204,6 +209,12 @@ > > armv4_5_algorithm_t armv4_5_info; > > int retval = ERROR_OK; > > > > + if (((count%2)!=0)||((offset%2)!=0)) > > + { > > + LOG_ERROR("write block must be multiple of two bytes in offset > > & length"); > > + return ERROR_FAIL; > > + } > > + > > /* parameters: > > > > r0 - address of source data (absolute) > > @@ -249,8 +260,12 @@ > > return ERROR_TARGET_RESOURCE_NOT_AVAILABLE; > > }; > > > > - target_write_buffer(target, aduc702x_info->write_algorithm->address, > > + retval=target_write_buffer(target, > > aduc702x_info->write_algorithm->address, > > sizeof(aduc702x_flash_write_code), > > (uint8_t*)aduc702x_flash_write_code); > > + if (retval!=ERROR_OK) > > + { > > + return retval; > > + } > > > > /* memory buffer */ > > while (target_alloc_working_area(target, buffer_size, &source) != > > ERROR_OK) > > @@ -279,12 +294,16 @@ > > > > while (count > 0) > > { > > - uint32_t thisrun_count = (count > (buffer_size / 2)) ? > > (buffer_size / 2) : count; > > + uint32_t thisrun_count = (count > buffer_size) ? buffer_size : > > count; > > > > - target_write_buffer(target, source->address, thisrun_count * 2, > > buffer); > > + retval=target_write_buffer(target, source->address, > > thisrun_count, buffer); > > + if (retval!=ERROR_OK) > > + { > > + break; > > + } > > > > buf_set_u32(reg_params[0].value, 0, 32, source->address); > > - buf_set_u32(reg_params[1].value, 0, 32, thisrun_count); > > + buf_set_u32(reg_params[1].value, 0, 32, thisrun_count/2); > > buf_set_u32(reg_params[2].value, 0, 32, address); > > buf_set_u32(reg_params[4].value, 0, 32, 0xFFFFF800); > > > > @@ -294,17 +313,19 @@ > > 10000, &armv4_5_info)) != ERROR_OK) > > { > > LOG_ERROR("error executing aduc702x flash write > > algorithm"); > > - retval = ERROR_FLASH_OPERATION_FAILED; > > break; > > } > > > > - if ((buf_get_u32(reg_params[3].value, 0, 32) & 1) != 1) { > > - retval = ERROR_FLASH_OPERATION_FAILED; > > + if ((buf_get_u32(reg_params[3].value, 0, 32) & 1) != 1) > > + { > > + /* FIX!!!! what does this mean??? replace w/sensible > > error message */ > > + LOG_ERROR("aduc702x detected error writing flash"); > > + retval = ERROR_FAIL; > > break; > > } > > > > - buffer += thisrun_count * 2; > > - address += thisrun_count * 2; > > + buffer += thisrun_count; > > + address += thisrun_count; > > count -= thisrun_count; > > } > > > > @@ -382,14 +403,9 @@ > > return ERROR_FLASH_OPERATION_FAILED; > > } > > } > > - else if (retval == ERROR_FLASH_OPERATION_FAILED) > > - { > > - LOG_ERROR("flash block writing failed"); > > - return ERROR_FLASH_OPERATION_FAILED; > > - } > > } > > > > - return ERROR_OK; > > + return retval; > > } > > > > static int aduc702x_probe(struct flash_bank_s *bank) > > > > _______________________________________________ > > Openocd-svn mailing list > > openocd-...@lists.berlios.de > > https://lists.berlios.de/mailman/listinfo/openocd-svn > > _______________________________________________ > Openocd-development mailing list > Openocd-development@lists.berlios.de > https://lists.berlios.de/mailman/listinfo/openocd-development _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development