On Fri, 2009-04-03 at 09:33 +0100, Spencer Oliver wrote:
> Currently we save/restore the registers after every algorithm run - during a
> flash write this could mean multiple runs to complete. I would like to
> change the scheme so that we save at the start of a flash algorithm and
> restore when programming is fully complete.

The patch I posted on Feb 28 I calculates the download buffer size to be
the maximum possible (working are size - flash algorythm size). So by
using the following line to calcutate the buffer size in flash/stm32.c,
stm32x_write_block() devices with more sram (>8k) would benefit
by reducing the relative overhead of the save/restore of the registers:

buffer_size = FIXEDCEIL(target->working_area_size - \
        sizeof(stm32x_flash_write_code), 4);

I use FIXEDCEIL() here as:

#define FIXEDCEIL(m, n)   (((m + n - 1) / n)* n)

because I thik CEIL() in binarybuffer.h was and still is broken.

Clemens

_______________________________________________
Openocd-development mailing list
Openocd-development@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/openocd-development

Reply via email to