> Maybe the following example (output is pasted below) can illustrate the issue > a bit better. First I try to flash a 20KB block, then a 21KB block and > finally a 24KB block. Only the blocks of 20 and 24 succeed, because they > happen > to be nicely 4K alligned. All blocks that are not 4K alligned will fail. > OpenOCD > tries to erase, (un)protect and flash only those sectors that are modified, > but doesn't take into account that some platforms require certain alligments.
This error message is specific to stm32. Did you look at the stm32 source code? Are you *sure* the error message isn't in fact telling you that this is a quaint requirement of stm32? Warn : 225 1129 stm32x.c:366 stm32x_protect(): Error: start and end sectors must be on a 4 sector boundary There is a bug in stm32 code in that it gives you a warning and not an error, but that's minor. if ((first && (first % stm32x_info->ppage_size)) || ((last + 1) && (last + 1) % stm32x_info->ppage_size)) { LOG_WARNING("Error: start and end sectors must be on a %d sector boundary", stm32x_info->ppage_size); return ERROR_FLASH_SECTOR_INVALID; } -- Øyvind Harboe http://www.zylin.com/zy1000.html ARM7 ARM9 ARM11 XScale Cortex JTAG debugger and flash programmer _______________________________________________ Openocd-development mailing list Openocd-development@lists.berlios.de https://lists.berlios.de/mailman/listinfo/openocd-development