Ответ: снова смотрим сноску:
NOTES: 1. The cumulative program time must not be exceeded when writing to a 64-byte flash block. This parameter applies to all programming methods: individual word/byte write and block write modes.
Второе предложение гласит: Этот параметр применяется ко всем методам программирования: индивидуальной записи слов/байт и режиму записи блока.
Кроме того, в режими записи блока можно писать несколько блоков подряд. В этом случае Cumulative program time будет суммироваться или как?
В документе SLAU049E MSP430x1xx Family User’s Guide смотрим параграф 5.3.3 Writing Flash Memory стр.5-8(138)
на картинке разложено время записи слова/байта и значение tWord = 35/fFTG определяется флэшконтроллером и без разницы откуда была запущена подпрограмма записи.
void FlashWriteSegment(uint8_t *dst, uint16_t *data)
{
unsigned int old_wdt;
int index = 0;
dst &= 0xFE00;
old_wdt = WDTCTL;
WDTCTL = WDTPW + WDTHOLD;
__disable_interrupt();
FCTL3 = FWKEY;
FCTL1 = FWKEY | WRT;
for(; index < 256; index++)
*dst = *(data + index);
FCTL1 = FWKEY;
FCTL3 = FWKEY | LOCK;
WDTCTL = WDTPW + ( old_wdt & 0x00ff );
__enable_interrupt();
}